/* ** JetMail 1.00 auxilliary data file structures ** Part of the JetMail Developer Documentation ** ** Copyright (C) 1992/93 by ** ** Daniel Roesen 2:243/95.2@fidonet.org and ** Joerg Spilker 2:243/6207@fidonet.org ** ** All rights reserved. */ #define MAX_DOMAIN 40 #define MAX_FROMTO 36 #define MAX_SUBJECT 72 #define MAX_CREATED 20 #define MAX_AREATAG 80 typedef struct { UWORD zone, net, node, point; BYTE domain[MAX_DOMAIN]; } FULL5DADDR; typedef struct { UWORD zone, net, node, point; } FULL4DADDR; /* ** EXITINFO.SYS */ #define EI_AFMSGRECEIVED (1UL << 0) #define EI_NOTIFYSENT (1UL << 1) #define EI_REPORTWRITTEN (1UL << 2) #define EI_SERVERUSED (1UL << 3) #define EI_MSGTOSYSOP (1UL << 4) #define EI_SECURITYFAILURE (1UL << 5) #define EI_MSGSTRASHED (1UL << 6) #define INFOVER 1 typedef struct { UWORD version; ULONG flags; UWORD net_rcvd, net_sent, echo_rcvd, echo_sent; UBYTE reserved[50]; } EXITINFO; /* ** Message header and flags */ #define MF_PRIVATE (1U << 0) #define MF_CRASH (1U << 1) #define MF_RECEIVED (1U << 2) #define MF_SENT (1U << 3) #define MF_FILEATTACH (1U << 4) #define MF_INTRANSIT (1U << 5) #define MF_ORPHAN (1U << 6) #define MF_KILLSENT (1U << 7) #define MF_LOCAL (1U << 8) #define MF_HOLD (1U << 9) #define MF_UNUSED (1U << 10) #define MF_FILEREQUEST (1U << 11) #define MF_RETURNRECEIPT (1U << 12) #define MF_ISRECEIPT (1U << 13) #define MF_AUDITREQUEST (1U << 14) #define MF_DELETED (1U << 15) #define XF_READ (1U << 0) #define XF_ARCHIVESENT (1U << 1) #define XF_TRUNCFILESENT (1U << 2) #define XF_KILLFILESENT (1U << 3) #define XF_DIRECT (1U << 4) #define XF_ZONEGATE (1U << 5) #define XF_HOSTROUTE (1U << 6) #define XF_LOCK (1U << 7) #define XF_IMMEDIATE (1U << 8) #define XF_GATED (1U << 9) #define XF_CREATEFLOWFILE (1U << 10) typedef struct { BYTE from[MAX_FROMTO], to[MAX_FROMTO], subject[MAX_SUBJECT], created[MAX_CREATED]; ULONG imported, baseoffset; UWORD up, /* QBBS reply links */ reply; UWORD attributes; ULONG msgidcrc, /* mailer[0/1] */ replycrc; /* mailer[2/3] */ UWORD mailer4, /* mailer[4] */ xattrib, /* mailer[5] */ tempprocessed; /* mailer[6] */ struct { UWORD JetMail : 1, AU_MsgCheck : 1, AU_FileMgr : 1, CharModify : 1, unused : 11, FiFo : 1; } processed; UWORD msgsize; WORD readcount, cost; FULL4DADDR orig, dest; } MSGHDR; /* ** MAILHIST.SYS & AREAHIST.SYS */ typedef struct { BYTE magic[8], /* "JetMail" incl. EOS */ version, /* AREA-/MAILHISTVER */ subversion; /* AREA-/MAILHISTSUBVER */ size_t started, last_update; } HISTHDR; #define MAILHISTVER 1 #define MAILHISTSUBVER 0 typedef struct _MAILHIST { FULL5DADDR addr; ULONG rcvd_packets, rcvd_bytes, sent_packets, sent_bytes, echo_in, echo_out, net_in, net_out, dupes, reserved[2]; struct _MAILHIST *next; } MAILHIST; #define AREAHISTVER 1 #define AREAHISTSUBVER 0 typedef struct { BYTE areatag[MAX_AREATAG]; size_t histlast; WORD histimported, histdupes, histtosysop; ULONG reserved[2]; } AREAHIST;