home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / UTILS / JAMAPI / HMB2JAM / HMB.H next >
C/C++ Source or Header  |  1993-07-01  |  3KB  |  135 lines

  1. /*
  2. **  JAM(mbp) - The Joaquim-Andrew-Mats Message Base Proposal
  3. **
  4. **  HMB to JAM converter
  5. **
  6. **  Written by Mats Wallin
  7. **
  8. **  ----------------------------------------------------------------------
  9. **
  10. **  hmb.h (JAMmb)
  11. **
  12. **  Definitions of the HMB messagebase files
  13. **
  14. **  Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch, and
  15. **  Mats Wallin. ALL RIGHTS RESERVED.
  16. **
  17. **  93-06-28    MW
  18. **  Initial coding.
  19. */
  20.  
  21. #ifndef __HMB_H__
  22. #define __HMB_H__
  23.  
  24. /*
  25. **  PASCAL_STR is used when defining a pascal string. The result will be   
  26. **  a char-declared variable containing the length, and a char array       
  27. **  containing the string itself. Ex:                                      
  28. **  PASCAL_STR( Str, 5 );    = UCHAR8 lStr; CHAR8 Str [5];                   
  29. */
  30.  
  31. #define PASCAL_STR(Str,Len) UCHAR8 l##Str; CHAR8 Str [Len]
  32.  
  33.  
  34. /*
  35. ** MSGIDX.BBS
  36. */
  37.  
  38. typedef struct
  39.   {
  40.   UINT16  MsgNo;
  41.   UCHAR8  Board;
  42.   } HMBIDX;
  43.  
  44.  
  45. /*
  46. ** MSGHDR.BBS
  47. */
  48.  
  49. typedef struct 
  50.   {
  51.   UINT16      MsgNo,
  52.               ReplyTo,
  53.               SeeAlso,
  54.               TimesRead,
  55.               StartRec;
  56.   INT16       NumRecs;
  57.   UINT16      DestNet,
  58.               DestNode,
  59.               OrigNet,
  60.               OrigNode;
  61.   UCHAR8      DestZone,
  62.               OrigZone;
  63.   UINT16      Cost;
  64.   UCHAR8      MsgAttr,
  65.               NetAttr,
  66.               Board;
  67.   PASCAL_STR( PostTime,    5 );
  68.   PASCAL_STR( PostDate,    8 );
  69.   PASCAL_STR( WhoTo,      35 );
  70.   PASCAL_STR( WhoFrom,    35 );
  71.   PASCAL_STR( Subject,    72 );
  72.   } HMBHDR;
  73.  
  74.  
  75. /*
  76. ** Message attributes (HMB.MsgAttr) 
  77. */
  78.  
  79. #define HMB_DELETED     0x01            /* Message is deleted               */
  80. #define HMB_UNMOV_NETM  0x02            /* Unsent netmail message           */
  81. #define HMB_NETMAIL     0x04            /* Message is a netmail message     */
  82. #define HMB_PVT         0x08            /* Private                          */
  83. #define HMB_RCVD        0x10            /* Message read by addressee        */
  84. #define HMB_UNMOV_ECHO  0x20            /* Unexported echomail message      */
  85. #define HMB_LOCAL       0x40            /* Message is written locally       */
  86.  
  87. /*
  88. **  Net attributes (HMB.NetAttr) 
  89. */
  90.  
  91. #define HMB_KILL        0x01            /* Delete message when sent         */
  92. #define HMB_SENT        0x02            /* Message is sent                  */
  93. #define HMB_FILE        0x04            /* File attach                      */
  94. #define HMB_CRASH       0x08            /* High priority                    */
  95. #define HMB_RR_REQ      0x10            /* Return Receipt Requested         */
  96. #define HMB_AUDIT_REQ   0x20            /* Audit request                    */
  97. #define HMB_IS_RR       0x40            /* Is a return receipt              */
  98.  
  99.  
  100. /*
  101. **  MSGTXT.BBS
  102. */
  103.  
  104. typedef struct
  105.   {
  106.   PASCAL_STR(     Txt,       255 );
  107.   } HMBTXT;
  108.  
  109.  
  110. /*
  111. **  MSGINFO.BBS
  112. */
  113.  
  114. typedef struct
  115.   {
  116.   UCHAR8  LowMsgNo,
  117.           HighMsgNo,
  118.           TotalActive,
  119.           ActiveMsgs [200];
  120.   } HMBINFO;
  121.  
  122.  
  123. /*
  124. **  MSGTOIDX.BBS
  125. */
  126.  
  127. typedef struct 
  128.   {
  129.   PASCAL_STR( WhoTo,      35 );
  130.   } HMBTOIDX;
  131.  
  132. #endif
  133.  
  134. /* end of file "hmb.h" */
  135.