home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / fsrc1241.zip / msgheader.h < prev    next >
C/C++ Source or Header  |  1997-08-31  |  4KB  |  134 lines

  1. /* MSGHEADER.H */
  2.  
  3. #pragma pack(1)
  4. /* Fido-Adresse */
  5.  
  6. typedef struct
  7. {
  8.    USHORT usZone;
  9.    USHORT usNet;
  10.    USHORT usNode;
  11.    USHORT usPoint;
  12. } FTNADDRESS, *PFTNADDRESS;
  13.  
  14. /* Zeitstempel */
  15.  
  16. typedef struct
  17. {
  18.    unsigned int day     :5; /* 1..31 */
  19.    unsigned int month   :4; /* 1..12 */
  20.    unsigned int year    :7; /* Jahr -80 */
  21.    unsigned int seconds :5; /* 0..59 */
  22.    unsigned int minutes :6; /* 0..59 */
  23.    unsigned int hours   :5; /* 0..23 */
  24. } TIMESTAMP, *PTIMESTAMP;
  25.  
  26.  
  27. #define NUM_REPLIES     10
  28.  
  29. typedef struct
  30. {
  31.    ULONG       ulAttrib;                     /* s. u. */
  32.    char        pchFromName[LEN_USERNAME+1];
  33.    char        pchToName[LEN_USERNAME+1];
  34.    char        pchSubject[LEN_SUBJECT+1];
  35.    FTNADDRESS  FromAddress;
  36.    FTNADDRESS  ToAddress;
  37.    TIMESTAMP   StampWritten;
  38.    TIMESTAMP   StampArrived;
  39.    ULONG       ulReplyTo;                    /* ID der Original-Message */
  40.    ULONG       ulReplies[NUM_REPLIES];       /* IDs der Replies */
  41.    ULONG       ulMsgID;                      /* ID dieser Message */
  42. } MSGHEADER, *PMSGHEADER;
  43.  
  44. /* Allgemeine Attribute, von allen Formaten unterstuetzt */
  45. #define ATTRIB_PRIVATE       0x0001UL
  46. #define ATTRIB_CRASH         0x0002UL
  47. #define ATTRIB_RCVD          0x0004UL
  48. #define ATTRIB_SENT          0x0008UL
  49. #define ATTRIB_FILEATTACHED  0x0010UL
  50. #define ATTRIB_INTRANSIT     0x0020UL
  51. #define ATTRIB_ORPHAN        0x0040UL
  52. #define ATTRIB_KILLSENT      0x0080UL
  53. #define ATTRIB_LOCAL         0x0100UL
  54. #define ATTRIB_HOLD          0x0200UL
  55. #define ATTRIB_READ          0x0400UL
  56. #define ATTRIB_FREQUEST      0x0800UL
  57. #define ATTRIB_RRQ           0x1000UL
  58. #define ATTRIB_RECEIPT       0x2000UL
  59. #define ATTRIB_AUDIT         0x4000UL
  60. #define ATTRIB_UPDATEREQ     0x8000UL
  61.  
  62. /* Weitere Attribute, muessen umgemappt werden */
  63. /* Squish */
  64. #define ATTRIB_SCANNED       0x00010000UL
  65.  
  66. /* JAM */
  67. #define ATTRIB_ARCHIVESENT   0x00020000UL
  68. #define ATTRIB_DIRECT        0x00040000UL
  69. #define ATTRIB_TRUNCFILE     0x00080000UL
  70. #define ATTRIB_KILLFILE      0x00100000UL
  71. #define ATTRIB_IMMEDIATE     0x00200000UL
  72. #define ATTRIB_GATE          0x00400000UL
  73. #define ATTRIB_FORCEPICKUP   0x00800000UL
  74.  
  75. /* ^aFLAGS */
  76. #define ATTRIB_HUBROUTE      0x01000000UL
  77.  
  78. #define ATTRIB_KEEP          0x02000000UL
  79. #define ATTRIB_NPD           0x04000000UL
  80. #define ATTRIB_DELETED       0x08000000UL
  81.  
  82. #define ATTRIB_ALL           0x07ffffffUL
  83.  
  84. typedef struct kludge
  85. {
  86.    struct kludge   *next;
  87.    struct kludge   *prev;
  88.    ULONG           ulKludgeType;     /* s.u. */
  89.    char            *pchKludgeText;
  90. } KLUDGE, *PKLUDGE;
  91.  
  92. #define KLUDGE_OTHER         0UL /* falls nicht eines der anderen */
  93. #define KLUDGE_ANY           0UL /* beim Suchen */
  94. #define KLUDGE_FMPT          1UL
  95. #define KLUDGE_TOPT          2UL
  96. #define KLUDGE_INTL          3UL
  97. #define KLUDGE_MSGID         4UL
  98. #define KLUDGE_REPLY         5UL
  99. #define KLUDGE_REPLYTO       6UL
  100. #define KLUDGE_REPLYADDR     7UL
  101. #define KLUDGE_FLAGS         8UL
  102. #define KLUDGE_SPLIT         9UL
  103. #define KLUDGE_PID          10UL
  104. #define KLUDGE_AREA         11UL
  105. #define KLUDGE_APPEND       12UL
  106. #define KLUDGE_REALADDRESS  13UL
  107. #define KLUDGE_ACUPDATE     14UL
  108. #define KLUDGE_CHRS         15UL
  109. /* CHARSET                  16UL  Aquivalent zu CHRS */
  110. #define KLUDGE_CISTO        17UL
  111. #define KLUDGE_CISFROM      18UL
  112. #define KLUDGE_CISMSGID     19UL
  113. #define KLUDGE_CISREPLY     20UL
  114. #define KLUDGE_FWDFROM      21UL
  115. #define KLUDGE_FWDTO        22UL
  116. #define KLUDGE_FWDORIG      23UL
  117. #define KLUDGE_FWDDEST      24UL
  118. #define KLUDGE_FWDSUBJ      25UL
  119. #define KLUDGE_FWDAREA      26UL
  120. #define KLUDGE_FWDMSGID     27UL
  121.  
  122.  
  123. typedef struct
  124. {
  125.    char    *pchMessageText;
  126.    char    *pchSeenPath;  /* Zeigt in pchMessageText */
  127.    PKLUDGE pFirstKludge;  /* Anfang und Ende der Kette */
  128.    PKLUDGE pLastKludge;
  129. } FTNMESSAGE, *PFTNMESSAGE;
  130.  
  131. #pragma pack()
  132.  
  133. /* Ende von MSGHEADER.H */
  134.