home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / bbs / jmdev100 / jmstruct.h < prev   
Text File  |  1993-07-28  |  4KB  |  189 lines

  1. /*
  2. **    JetMail 1.00 auxilliary data file structures
  3. **    Part of the JetMail Developer Documentation
  4. **
  5. **    Copyright (C) 1992/93 by 
  6. **
  7. **    Daniel Roesen    2:243/95.2@fidonet.org and
  8. **    Joerg Spilker    2:243/6207@fidonet.org
  9. **
  10. **    All rights reserved.
  11. */
  12.  
  13. #define MAX_DOMAIN        40
  14. #define    MAX_FROMTO        36
  15. #define    MAX_SUBJECT        72
  16. #define    MAX_CREATED        20
  17. #define    MAX_AREATAG        80
  18.  
  19. typedef struct
  20. {
  21.     UWORD            zone,
  22.                     net,
  23.                     node,
  24.                     point;
  25.     BYTE            domain[MAX_DOMAIN];
  26. } FULL5DADDR;
  27.  
  28. typedef struct
  29. {
  30.     UWORD            zone,
  31.                     net,
  32.                     node,
  33.                     point;
  34. } FULL4DADDR;
  35.  
  36. /*
  37. **    EXITINFO.SYS
  38. */
  39.  
  40. #define    EI_AFMSGRECEIVED    (1UL << 0)
  41. #define    EI_NOTIFYSENT        (1UL << 1)
  42. #define    EI_REPORTWRITTEN    (1UL << 2)
  43. #define    EI_SERVERUSED        (1UL << 3)
  44. #define    EI_MSGTOSYSOP        (1UL << 4)
  45. #define    EI_SECURITYFAILURE    (1UL << 5)
  46. #define    EI_MSGSTRASHED        (1UL << 6)
  47.  
  48. #define    INFOVER    1
  49.  
  50. typedef struct
  51. {
  52.     UWORD            version;
  53.     
  54.     ULONG            flags;
  55.     
  56.     UWORD            net_rcvd,
  57.                     net_sent,
  58.                     echo_rcvd,
  59.                     echo_sent;
  60.     
  61.     UBYTE            reserved[50];
  62. } EXITINFO;
  63.  
  64. /*
  65. **    Message header and flags
  66. */
  67.  
  68. #define    MF_PRIVATE            (1U << 0)
  69. #define    MF_CRASH            (1U << 1)
  70. #define    MF_RECEIVED            (1U << 2)
  71. #define    MF_SENT                (1U << 3)
  72. #define    MF_FILEATTACH        (1U << 4)
  73. #define    MF_INTRANSIT        (1U << 5)
  74. #define    MF_ORPHAN            (1U << 6)
  75. #define    MF_KILLSENT            (1U << 7)
  76. #define    MF_LOCAL            (1U << 8)
  77. #define    MF_HOLD                (1U << 9)
  78. #define    MF_UNUSED            (1U << 10)
  79. #define    MF_FILEREQUEST        (1U << 11)
  80. #define    MF_RETURNRECEIPT    (1U << 12)
  81. #define    MF_ISRECEIPT        (1U << 13)
  82. #define    MF_AUDITREQUEST        (1U << 14)
  83. #define    MF_DELETED            (1U << 15)
  84.  
  85. #define    XF_READ                (1U << 0)
  86. #define    XF_ARCHIVESENT        (1U << 1)
  87. #define    XF_TRUNCFILESENT    (1U << 2)
  88. #define    XF_KILLFILESENT        (1U << 3)
  89. #define    XF_DIRECT            (1U << 4)
  90. #define    XF_ZONEGATE            (1U << 5)
  91. #define    XF_HOSTROUTE        (1U << 6)
  92. #define    XF_LOCK                (1U << 7)
  93. #define    XF_IMMEDIATE        (1U << 8)
  94. #define    XF_GATED            (1U << 9)
  95. #define    XF_CREATEFLOWFILE    (1U << 10)
  96.  
  97. typedef struct
  98. {
  99.     BYTE            from[MAX_FROMTO],
  100.                     to[MAX_FROMTO],
  101.                     subject[MAX_SUBJECT],
  102.                     created[MAX_CREATED];
  103.                     
  104.     ULONG            imported,
  105.                     baseoffset;
  106.                     
  107.     UWORD            up,                /* QBBS reply links    */
  108.                     reply;
  109.                     
  110.     UWORD            attributes;
  111.                     
  112.     ULONG            msgidcrc,        /* mailer[0/1]    */
  113.                     replycrc;        /* mailer[2/3]    */
  114.                     
  115.     UWORD            mailer4,        /* mailer[4]    */
  116.                     xattrib,        /* mailer[5]    */
  117.                     tempprocessed;    /* mailer[6]    */
  118.     
  119.     struct
  120.     {
  121.         UWORD        JetMail        : 1,
  122.                     AU_MsgCheck    : 1,
  123.                     AU_FileMgr    : 1,
  124.                     CharModify    : 1,
  125.                     unused        : 11,
  126.                     FiFo        : 1;
  127.     } processed;
  128.                     
  129.     UWORD            msgsize;
  130.                     
  131.     WORD            readcount,
  132.                     cost;
  133.                     
  134.     FULL4DADDR        orig,
  135.                     dest;
  136. } MSGHDR;
  137.  
  138. /*
  139. **    MAILHIST.SYS & AREAHIST.SYS
  140. */
  141.  
  142. typedef struct
  143. {
  144.     BYTE            magic[8],        /* "JetMail" incl. EOS    */
  145.                     version,        /* AREA-/MAILHISTVER    */
  146.                     subversion;        /* AREA-/MAILHISTSUBVER    */
  147.     
  148.     size_t            started,
  149.                     last_update;
  150. } HISTHDR;
  151.  
  152. #define    MAILHISTVER        1
  153. #define    MAILHISTSUBVER    0
  154.  
  155. typedef struct _MAILHIST
  156. {
  157.     FULL5DADDR        addr;
  158.                     
  159.     ULONG            rcvd_packets,
  160.                     rcvd_bytes,
  161.                     sent_packets,
  162.                     sent_bytes,
  163.                     
  164.                     echo_in,
  165.                     echo_out,
  166.                     net_in,
  167.                     net_out,
  168.                     dupes,
  169.                     
  170.                     reserved[2];
  171.                     
  172.     struct _MAILHIST    *next;
  173. } MAILHIST;
  174.  
  175. #define AREAHISTVER        1
  176. #define    AREAHISTSUBVER    0
  177.  
  178. typedef struct
  179. {
  180.     BYTE            areatag[MAX_AREATAG];
  181.                     
  182.     size_t            histlast;
  183.     WORD            histimported,
  184.                     histdupes,
  185.                     histtosysop;
  186.     
  187.     ULONG            reserved[2];
  188. } AREAHIST;
  189.