home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / VP2SRC.ZIP / DEFINES.H < prev    next >
Text File  |  1989-06-13  |  7KB  |  217 lines

  1. /*
  2.   $Header: DEFINES.H 3.3 87/12/12 00:47:14 Bob Exp $
  3.  
  4.                           The Conference Mail System
  5.  
  6.               This module was originally written by Bob Hartman
  7.                        Sysop of FidoNet node 1:132/101
  8.  
  9.    Spark Software, 427-3 Amherst St, CS 2032, Suite 232, Nashua, NH 03061
  10.  
  11.  The Conference Mail System  is a  complete Echomail processing package.  It
  12.  is a superset of the original    Echomail utilities created by Jeff Rush, and
  13.  also contains ideas gleaned from the  ARCmail,  Renum,  oMMM, MGM, and Opus
  14.  programs that were created by various software authors.
  15.  
  16.  This program source code is being released with the following provisions:
  17.  
  18.  1.  You are  free to make    changes to this source    code for use on your own
  19.  machine,  however,  altered source files may not be distributed without the
  20.  consent of Spark Software.
  21.  
  22.  2.  You may distribute "patches"  or  "diff" files for any changes that you
  23.  have made, provided that the "patch" or "diff" files are also sent to Spark
  24.  Software for inclusion in future releases of the entire package.    A "diff"
  25.  file for the source archives may also contain a compiled version,    provided
  26.  it is    clearly marked as not  being created  from the original source code.
  27.  No other  executable  versions may be    distributed without  the  consent of
  28.  Spark Software.
  29.  
  30.  3.  You are free to include portions of this source code in any program you
  31.  develop, providing:  a) Credit is given to Spark Software for any code that
  32.  may is used, and  b) The resulting program is free to anyone wanting to use
  33.  it, including commercial and government users.
  34.  
  35.  4.  There is  NO  technical support  available for dealing with this source
  36.  code, or the accompanying executable files.  This source  code  is provided
  37.  as is, with no warranty expressed or implied (I hate legalease).    In other
  38.  words, if you don't know what to do with it,  don't use it,  and if you are
  39.  brave enough to use it, you're on your own.
  40.  
  41.  Spark Software may be contacted by modem at (603) 888-8179 (node 1:132/101)
  42.  on the public FidoNet network, or at the address given above.
  43.  
  44.  To use this code you will need Microsoft C version 4.0, and also Microsoft
  45.  Macro Assembler version 4.0.
  46.  
  47. */
  48.  
  49. /*
  50.    $Log:    DEFINES.H $
  51.  * Revision 3.3  87/12/12  00:47:14  Bob
  52.  * Source code release
  53.  *
  54. */
  55.  
  56. /*lint -e29 */
  57.  
  58. /* Message bits that are STRIPPED OFF when passing through a
  59.    FidoNet node. */
  60.  
  61. #define MSGSENT 8        /* sent OK (remote) */
  62. #define MSGFWD 32        /* being forwarded */
  63. #define MSGORPHAN 64    /* unknown dest node */
  64. #define MSGLOCAL 256    /* FidoNet vs. local */
  65.  
  66. #define SAVED (MSGPRIVATE|MSGREAD)
  67.  
  68. /* Original Fido messages bits. PRESERVED when passing
  69.    through a FidoNet node. */
  70.  
  71. #define MSGPRIVATE 1    /* private message, */
  72. #define MSGREAD 4        /* read by addressee */
  73. #define MSGFILE 16    /* file attached to msg */
  74. #define MSGKILL 128 /* kill after mailing */
  75.  
  76. /* Message bits used by SeaDog. (Not used by Fido)
  77.    (PRESERVED.) */
  78.  
  79. #define MSGCRASH 2    /* accept for forwarding */
  80. #define MSGFRQ 2048 /* file request */
  81. #define MSGRRQ 4096 /* receipt requested */
  82. #define MSGCPT 8192 /* is a return receipt */
  83. #define MSGARQ 16384    /* audit trail requested */
  84. #define MSGURQ 32768    /* update request */
  85.  
  86. /* Future expansion bits PRESERVED by FidoNet */
  87.  
  88. #define MSGHOLD 512
  89.  
  90. /* Future expansion bits STRIPPED by FidoNet */
  91.  
  92. #define MSGXX2 1024
  93.  
  94. #define NO_CLEAR (MSGPRIVATE|MSGREAD|MSGFILE|MSGKILL|MSGHOLD|MSGFRQ|MSGRRQ|MSGCPT|MSGURQ|MSGCRASH)
  95.  
  96. #define PKTVER        2        /* Current packet version */
  97. #define MYPRODUCT 1     /* Bob Hartman reserved product code 'Rover' */
  98.  
  99. /*
  100.     User privilege levels
  101. */
  102.  
  103. #define TWIT        -2        /* total XXXXXXX */
  104. #define DISGRACE    0        /* disgraced user */
  105. #define NORMAL        2        /* normal user */
  106. #define PRIVEL        4        /* privileged user */
  107. #define EXTRA        6        /* extra privileges */
  108. #define SYSOP        10        /* SYSOP privileges */
  109.  
  110. /*
  111.     User help levels
  112. */
  113.  
  114. #define EXPERT        2        /* expert */
  115. #define REGULAR     4        /* experienced */
  116. #define NOVICE        6        /* new user */
  117.  
  118. #define SYSMAIL     1        /* is a mail area */
  119.  
  120. /* Scheduled events, tag definitions. */
  121. #define DAYS_WK 7                    /* Number of days in a week */
  122.  
  123. #define MIN_EVENT 'A'         /* minimum FidoNet tag */
  124. #define MAX_EVENT 'W'         /* maximum */
  125. #define EXT_EVENT 'X'         /* return to DOS event */
  126. #define YELL_EVENT 'Y'        /* Yell command enable */
  127.  
  128. #define SCHEDS (5 * DAYS_WK)  /* size of time table */
  129.  
  130. /*
  131.     Now some Fido-clone internal stuff
  132. */
  133.  
  134. #define ALL_OK        0        /* proper termination of routine */
  135. #define FIDO_NOMSG    -1        /* Message does not exist */
  136. #define NO_SYSTEM    -2        /* Not a valid SYSTEM<N>.BBS file */
  137. #define FIDO_PRIVMSG    -3        /* Private message */
  138. #define FIDO_NOFILE -4        /* File does not exist */
  139.  
  140. #define MSGNAME     "*.MSG"     /* Template for message files */
  141. #define SYSNAME     "SYSTEM"    /* Start of SYSTEM.BBS */
  142. #define DIRNAME     "DIR"       /* Start of DIR.BBS */
  143. #define NODENAME    "ROVERLST"  /* Start of NODELIST.xxx */
  144. #define USERNAME    "USER"      /* Start of USER.BBS */
  145. #define LOGNAME     "SYSOP"     /* Start of SYSOP.LOG */
  146. #define MAILNAME    "MAILER"    /* Start of MAILER.LOG */
  147. #define SCHEDNAME    "SCHED" /* Start of SCHED.BBS */
  148. #define DEF_EXT     ".BBS"      /* Default ending for Fido files */
  149. #define SYS_EXT     ".SYS"      /* .SYS extension for some files */
  150. #define LOG_EXT     ".LOG"      /* .LOG extension for some files */
  151.  
  152. #define MESSAGE     1        /* Area change for Message system */
  153. #define FILES        2        /* Area change for Files system */
  154.  
  155. #define TRUE        1
  156. #define FALSE        0
  157.  
  158. #define CHAR_CMND    -1        /* It is a command character */
  159. #define NO_CMND     -2        /* It is not a command at all */
  160.  
  161. #define MAIN_SECT    0
  162. #define C_SECT        1
  163. #define MSG_SECT    2
  164. #define RMSG_SECT    3
  165. #define EMSG_SECT    4
  166. #define MAIL_SECT    5
  167. #define FILE_SECT    6
  168. #define XFER_SECT    7
  169. #define NODE_SECT    8
  170.  
  171. #define NUMBLOCKS 14
  172. #define NUMMSGS 2048
  173. #define MAXNODES 100
  174. #define MAXSEEN 1024
  175. #define MAXPATH  100
  176. #define MAXAREAS  500
  177. #define NO_EXT_KEYS
  178. #define P_WAIT 0
  179. #define SEEK_SET 0
  180. #define SEEK_CUR 1
  181. #define SEEK_END 2
  182.  
  183. #define MATCHED_OLD 1
  184. #define ALL_OK        0        /* proper termination of routine */
  185. #define FIDO_NOMSG    -1        /* Message does not exist */
  186. #define NO_SYSTEM    -2        /* Not a valid SYSTEM<N>.BBS file */
  187. #define FIDO_PRIVMSG    -3        /* Private message */
  188. #define FIDO_NOFILE -4        /* File does not exist */
  189. #define NO_GO -5
  190.  
  191.  
  192. /* Flags for areas */
  193. #define PASS_THRU 0x01
  194. #define PARENT      0x02
  195. #define SIBLING   0x04
  196. #define ROUTETHRU 0x08
  197. #define BAD_MSGS  0x10
  198. #define MAIL_DIR  0x20
  199. #ifdef VPURGE
  200. #define V_PURGE   0x40
  201. #else
  202. #define RESERVED  0x40
  203. #endif
  204. #define NOT_AVAIL 0x80
  205.  
  206. #define BIGSIZE 8192
  207. #define DUPSIZE 1000
  208. #define MAGIC    0xabcd
  209.  
  210. #define ST_RDONLY    0x01    /* read only file */
  211. #define ST_HIDDEN    0x02    /* hidden file */
  212. #define ST_SYSTEM    0x04    /* system file */
  213. #define ST_VLABEL    0x08    /* volume label */
  214. #define ST_DIRECT    0x10    /* file is a sub-directory */
  215. #define ST_ARCHIV    0x20    /* set when file has been written and closed */
  216.  
  217.