home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / top2src.zip / TOPCFG.H < prev    next >
Text File  |  2000-07-13  |  7KB  |  198 lines

  1.  
  2. /*  Copyright 1993 - 2000 Paul J. Sidorsky
  3.  
  4.     This program is free software; you can redistribute it and/or modify
  5.     it under the terms of the GNU General Public License, version 2, as
  6.     published by the Free Software Foundation.
  7.  
  8.     This program is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.     GNU General Public License for more details.
  12.  
  13.     You should have received a copy of the GNU General Public License
  14.     along with this program; if not, write to the Free Software
  15.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  16. */
  17.  
  18. #define BBSTYPES       5
  19. #define NODETYPES      3
  20.  
  21. #define BBS_UNKNOWN    0
  22. #define BBS_RA2        1
  23. #define BBS_MAX2       2
  24. #define BBS_MAX3       3
  25. #define BBS_SBBS11     4
  26.  
  27. #define NODE_REMOTE    0
  28. #define NODE_LOCAL     1
  29. #define NODE_LAN       2
  30.  
  31. /* Footnotes are marked as (*1) where 1 is the number of the footnote.  See
  32.    bottom of file for actual footnotes. */
  33.  
  34. typedef struct
  35.     {
  36.     /* Names */
  37.     unsigned char bbsname[41];          /* BBS Name (*1) */
  38.     unsigned char sysopname[41];        /* Sysop Name (*1) */
  39.  
  40.     /* Site Info */
  41.     unsigned char bbstype;              /* BBS Type (*2) */
  42.  
  43.     /* Paths */
  44.     unsigned char toppath[81];          /* Path to TOP System files */
  45.     unsigned char topworkpath[81];      /* Path to TOP Inter-node files */
  46.     unsigned char topansipath[81];      /* Path to TOP .A??/.RIP files */
  47.     unsigned char bbspath[81];          /* Path to BBS files (*4) */
  48.     unsigned char bbsmultipath[81];     /* Path to BBS multinode files (*5) */
  49.     unsigned char topactpath[81];       /* Path to .TAC (action) files */
  50.  
  51.     /* Security */
  52.     unsigned XINT sysopsec;        /* Sysop's Security Level */
  53.     unsigned XINT newusersec;
  54.     unsigned XINT talksec;
  55.     unsigned XINT handlechgsec;
  56.     unsigned XINT forgetsec;
  57.     unsigned XINT sexchangesec;
  58.     unsigned XINT exmsgchangesec;
  59.     unsigned XINT privmessagesec;
  60.     unsigned XINT actionusesec;
  61.  
  62.     /* Options */
  63.     unsigned char showtitle;            /* Boolean - Show Title? */
  64.     unsigned char shownews;             /* Boolean - Show News? */
  65.     unsigned char allowactions;         /* Boolean - Allow Actions? */
  66.     unsigned char allowgas;             /* Boolean - Allow GAs? */
  67.     unsigned char allownewhandles;      /* Boolean - Allow new users to enter
  68.                                                      handles? */
  69.     unsigned char allowhandles;         /* Boolean - Allow handles? */
  70.     unsigned char allowhandlechange;    /* Boolean - Allow users to change
  71.                                                      handles */
  72.     unsigned char allowsexchange;       /* Boolean - Allow sex changes? */
  73.     unsigned char allowexmessages;      /* Boolean - Allow Entry/Exit Msgs? */
  74.     unsigned char allowprivmsgs;        /* Boolean - Allow Whispers/Secret
  75.                                                      Actions? */
  76.     unsigned char allowforgetting;
  77.     unsigned char usehandles;           /* Use handles in BBS NODES list? */
  78.     unsigned char showopeningcred;
  79.     unsigned char showclosingcred;
  80.     unsigned char allowhighascii;
  81. //    unsigned char allowcolinchat;
  82. //    unsigned char allowcolinhandles;
  83.     unsigned char noregname;
  84.     unsigned char fixnames;
  85.     unsigned char forcebio;
  86.  
  87.     /* General Settings */
  88. //    unsigned XINT maxmsglen;
  89.     unsigned XINT inactivetime;
  90.     unsigned char localbeeping;
  91.     unsigned char langfile[13];
  92.     XINT          maxnodes;
  93.     unsigned char maxpwtries;
  94.     unsigned long defaultchannel;
  95.     unsigned char actfilestr[256]; /* Str from cfg. */
  96.     unsigned char **actfilenames; /* Individual file names (array) */
  97.     unsigned XINT usecredits; /* 0=no, >0 = num to deduct per second */
  98.     unsigned char defaultprefs[3];
  99.     unsigned char actionprefix[11];
  100.  
  101.     /* Performance Tuning */
  102.     unsigned XINT polldelay;
  103.     unsigned XINT retrydelay;
  104.     unsigned XINT maxretries;
  105.     unsigned XINT crashprotdelay;
  106.  
  107.     /* Censor */
  108.     unsigned XINT maxcensorwarnhigh;
  109.     unsigned XINT maxcensorwarnlow;
  110.     unsigned XINT censortimerhigh;
  111.     unsigned XINT censortimerlow;
  112.  
  113.     /* Channels */
  114.     long          maxchandefs;
  115.  
  116.     /* Private Chat */
  117.     unsigned XINT privchatbufsize;
  118.     unsigned XINT privchatmaxtries;
  119.     } TOP_config_typ;
  120.  
  121. /* Footnotes:
  122.  
  123.     *1 - Must appear EXACTLY as in TOP.KEY if it exists.
  124.  
  125.     *2 - Uses the BBS_xxxxxx values defined at start of file.
  126.  
  127.     *3 - Byte 0, Bit 0 - 300
  128.                      1 - 1200
  129.                      2 - 2400
  130.                      3 - 4800
  131.                      4 - 7200
  132.                      5 - 9600
  133.                      6 - 12000
  134.                      7 - 14400
  135.          Byte 1, Bit 0 - 16800
  136.                      1 - 19200
  137.                      2 - 21600
  138.                      3 - 24000
  139.                      4 - 28800
  140.                      5 - 31200
  141.                      6 - 33600
  142.  
  143.     *4 - Dependant on bbstype:
  144.  
  145.          BBS_UNKNOWN - Not Used
  146.          BBS_RA201   - RA System Path (USERON.BBS)
  147.          BBS_MAX201  - Not Currently Used
  148.          BBS_EZY102  - Not Currently Used
  149.  
  150.     *5 - Dependant on bbstype:
  151.  
  152.          BBS_UNKNOWN - Not Used
  153.          BBS_RA201   - RA Semaphore Path (RABUSY.*, NODE???.RA)
  154.          BBS_MAX201  - Maximus IPC Path (IPC??.BBS)
  155.          BBS_EZY102  - Ezycom Multinode Path (ONLINE.BBS)
  156.  
  157. */
  158.  
  159. #define NODECODE_COMMENT     0
  160. #define NODECODE_UNKNOWN     1
  161. #define NODECODE_NUMBER      2
  162. #define NODECODE_TYPE        3
  163. #define NODECODE_DROPFILE    4
  164. #define NODECODE_CFGFILE     5
  165. #define NODECODE_LOGFILE     6
  166. #define NODECODE_SOLID       7
  167. #define NODECODE_FOSSIL      8
  168. #define NODECODE_PORT        9
  169. #define NODECODE_SPEED      10
  170. #define NODECODE_ADDRESS    11
  171. #define NODECODE_IRQ        12
  172. #define NODECODE_FIFO       13
  173. #define NODECODE_FIFOTRIG   14
  174. #define NODECODE_RXBUF      15
  175. #define NODECODE_TXBUF      16
  176. #define NODECODE_RTSCTS     17
  177. #define NODECODE_END        18
  178.  
  179. typedef struct
  180.     {
  181.     char          type;
  182.     unsigned char dropfilepath[81];
  183.     unsigned char cfgfile[81];
  184.     unsigned char logfile[81];
  185.     char          solidnode; /* True means use even if IDX2byte = 1 */
  186.     char          fossil;
  187.     char          port;
  188.     dword         speed;
  189.     XINT          portaddress;
  190.     byte          portirq;
  191.     char          usefifo;
  192.     char          fifotrigger;
  193.     XINT          rxbufsize;
  194.     XINT          txbufsize;
  195.     char          usertscts;
  196.     char          reserved[512 - 259];
  197.     } TOP_nodecfg_typ;
  198.