home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / filesbbs / dos / sbbs_src.exe / SBBS / SCFGVARS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1997-04-13  |  13.2 KB  |  265 lines

  1. /* SCFGVARS.C */
  2.  
  3. /* Developed 1990-1997 by Rob Swindell; PO Box 501, Yorba Linda, CA 92885 */
  4.  
  5. /**********************************************************************/
  6. /* External (Global/Public) Variables for use with both SBBS and SCFG */
  7. /**********************************************************************/
  8.  
  9. #ifndef GLOBAL
  10. #define GLOBAL
  11.        char *scfgnulstr="";
  12. #else
  13. extern char *scfgnulstr;
  14. #endif
  15.  
  16. #include "sbbsdefs.h"
  17.  
  18. GLOBAL grp_t        **grp;                /* Each message group */
  19. GLOBAL ushort        total_grps;         /* Total number of groups */
  20. GLOBAL sub_t        **sub;                /* Each message sub */
  21. GLOBAL ushort        total_subs;         /* Total number of subs */
  22. GLOBAL lib_t        **lib;                /* Each library */
  23. GLOBAL ushort        total_libs;         /* Total number of libraries */
  24. GLOBAL dir_t        **dir;                /* Each message directory */
  25. GLOBAL ushort        total_dirs;         /* Total number of directories */
  26. GLOBAL txtsec_t     **txtsec;            /* Each text section */
  27. GLOBAL ushort        total_txtsecs;        /* Total number of text sections */
  28. GLOBAL xtrnsec_t    **xtrnsec;            /* Each external section */
  29. GLOBAL ushort        total_xtrnsecs;     /* Total number of external sections */
  30. GLOBAL xtrn_t        **xtrn;             /* Each external program */
  31. GLOBAL ushort        total_xtrns;        /* Total number of externals */
  32. GLOBAL mdm_result_t *mdm_result;        /* Each Modem Result Code */
  33. GLOBAL ushort        mdm_results;        /* Total number of Modem Results */
  34. GLOBAL prot_t        **prot;             /* Each Transfer Protocol */
  35. GLOBAL ushort        total_prots;        /* Total Transfer Protocols */
  36. GLOBAL fextr_t        **fextr;            /* Each extractable file type */
  37. GLOBAL ushort        total_fextrs;        /* Total extractable file types */
  38. GLOBAL fcomp_t        **fcomp;            /* Each compressable file type */
  39. GLOBAL ushort        total_fcomps;        /* Total */
  40. GLOBAL fview_t        **fview;            /* Each veiwable file type */
  41. GLOBAL ushort        total_fviews;        /* Total viewable file types */
  42. GLOBAL ftest_t        **ftest;            /* Each testable file type */
  43. GLOBAL ushort        total_ftests;        /* Total testable file types */
  44. GLOBAL xedit_t        **xedit;            /* Each external editor */
  45. GLOBAL ushort        total_xedits;        /* Total external editors */
  46. GLOBAL qhub_t        **qhub;             /* QWK network hubs */
  47. GLOBAL ushort        total_qhubs;        /* Total qwk network hubs */
  48. GLOBAL phub_t        **phub;             /* PostLink/PCRelay network hubs */
  49. GLOBAL ushort        total_phubs;        /* Total PostLink/PCRelay hubs */
  50. GLOBAL chan_t        **chan;             /* Each chat channel */
  51. GLOBAL ushort        total_chans;        /* Total number of chat channels */
  52. GLOBAL chatact_t    **chatact;            /* Chat action commands */
  53. GLOBAL ushort       total_chatacts;     /* Total number of action commands */
  54. GLOBAL actset_t     **actset;            /* Name of action set */
  55. GLOBAL ushort        total_actsets;        /* Total number of action sets */
  56. GLOBAL page_t        **page;             /* External chat page */
  57. GLOBAL ushort        total_pages;        /* Total number of external pages */
  58. GLOBAL event_t        **event;            /* Timed events */
  59. GLOBAL ushort        total_events;        /* Total number of timed events */
  60. GLOBAL dlevent_t    **dlevent;            /* Download events */
  61. GLOBAL ushort        total_dlevents;     /* Total download events */
  62. GLOBAL faddr_t        *faddr;             /* FidoNet addresses */
  63. GLOBAL ushort        total_faddrs;        /* Total number of fido addresses */
  64. GLOBAL swap_t        **swap;             /* Swapping externals */
  65. GLOBAL ushort        total_swaps;        /* Total number of non-swap xtrns */
  66. GLOBAL os2pgm_t     **os2pgm;            /* DOS Programs */
  67. GLOBAL ushort        total_os2pgms;        /* Total number of DOS pgms */
  68. GLOBAL guru_t        **guru;             /* Gurus */
  69. GLOBAL ushort        total_gurus;        /* Total number of guru files */
  70. GLOBAL shell_t        **shell;            /* Command shells */
  71. GLOBAL ushort        total_shells;        /* Total number of command shells */
  72.  
  73.                                     /* COM port registers: */
  74. GLOBAL ushort    com_base,            /* COM base address */
  75.                 com_irq;            /* irq line number       */
  76. GLOBAL ulong    com_rate;            /* DTE rate in bps       */
  77. GLOBAL char      com_port;            /* Number of COM port  */
  78.  
  79.                                     /* Modem command strings */
  80. GLOBAL char     mdm_init[64],        /* Initialization */
  81.                 mdm_spec[64],        /* Special Initialization */
  82.                 mdm_term[64],        /* Terminal Initialization String */
  83.                 mdm_dial[64],        /* Dial */
  84.                 mdm_offh[64],        /* Off hook */
  85.                 mdm_answ[64],        /* Answer */
  86.                 mdm_hang[64];        /* Hang-up */
  87. GLOBAL ulong    mdm_misc;            /* Misc bits used for flags */
  88. GLOBAL ushort    mdm_reinit;         /* Modem reinitialization minute count */
  89. GLOBAL ushort    mdm_ansdelay;        /* Modem seconds to delay after answer */
  90. GLOBAL uchar    mdm_rings;            /* Rings to wait till answer */
  91.  
  92. GLOBAL long     sys_misc;            /* System Misc Settings */
  93. GLOBAL char     sys_pass[41];        /* System Pass Word */
  94. GLOBAL char     sys_name[41];        /* System Name */
  95. GLOBAL char     sys_id[9];            /* System ID for QWK Packets */
  96. GLOBAL char     sys_psname[13];     /* PostLink and PCRelay Site Name */
  97. GLOBAL ulong    sys_psnum;            /* PostLink and PCRelay Site Number */
  98. GLOBAL char     sys_inetaddr[128];    /* System's internet address */
  99. GLOBAL char     sys_location[41];    /* System Location */
  100. GLOBAL short    sys_timezone;        /* Time Zone of BBS */
  101. GLOBAL char     sys_daily[LEN_CMD+1];       /* Daily event */
  102. GLOBAL char     sys_logon[LEN_CMD+1];       /* Logon event */
  103. GLOBAL char     sys_logout[LEN_CMD+1];       /* Logoff event */
  104. GLOBAL ushort    sys_pwdays;         /* Max days between password change */
  105. GLOBAL ushort    sys_deldays;        /* Days to keep deleted users */
  106. GLOBAL ushort    sys_autodel;        /* Autodeletion after x days inactive */
  107. GLOBAL ushort    sys_nodes;            /* Number of local nodes on system    */
  108. GLOBAL char     sys_op[41];         /* Name of system operator */
  109. GLOBAL char     sys_guru[41];       /* Name of system guru */
  110. GLOBAL uchar    sys_exp_warn;        /* Days left till expire to notify */
  111. GLOBAL char     sys_def_stat;        /* Default status line */
  112. GLOBAL char     sys_phonefmt[LEN_PHONE+1];    /* format of phone numbers */
  113. GLOBAL ushort    sys_lastnode;        /* Last displayable node number */
  114. GLOBAL ushort    sys_autonode;        /* First node number for autonode */
  115. #ifdef SCFG
  116. GLOBAL uchar    sys_chat_ar[LEN_ARSTR+1];    /* chat override */
  117. #else
  118. GLOBAL uchar    *sys_chat_ar;
  119. #endif
  120.  
  121. GLOBAL uchar    node_comspec[LEN_CMD+1];    /* DOS COMMAND.COM to use */
  122. GLOBAL uchar    node_editor[LEN_CMD+1]; /* Local text editor command line to use */
  123. GLOBAL uchar    node_viewer[LEN_CMD+1]; /* Local text viewer command line */
  124. GLOBAL uchar    node_daily[LEN_CMD+1];    /* Name of node's daily event */
  125. GLOBAL uchar    node_scrnlen;        /* Length of screen (rows) */
  126. GLOBAL uchar    node_scrnblank;     /* Min of inactivity for blank screen */
  127. GLOBAL ulong    node_misc;            /* Misc bits for node setup */
  128. GLOBAL ushort    node_valuser;        /* User validation mail goes to */
  129. GLOBAL ushort    node_ivt;            /* Time-slice APIs */
  130. GLOBAL uchar    node_swap;            /* Swap types allowed */
  131. GLOBAL uchar    node_swapdir[LEN_DIR+1];    /* Swap directory */
  132. GLOBAL ushort    node_minbps;        /* Minimum connect rate of this node */
  133. GLOBAL ushort    node_num;            /* Local node number of this node */
  134. GLOBAL uchar    node_phone[13],     /* Phone number of this node */
  135.                 node_name[41];         /* Name of this node */
  136. #ifdef SCFG
  137. GLOBAL uchar    node_ar[LEN_ARSTR+1]; /* Node minimum requirements */
  138. #else
  139. GLOBAL uchar    *node_ar;
  140. #endif
  141. GLOBAL ulong    node_cost;            /* Node cost to call - in credits */
  142. GLOBAL uchar    node_dollars_per_call;    /* Billing Node Dollars Per Call */
  143. GLOBAL ushort    node_sem_check;     /* Seconds between semaphore checks */
  144. GLOBAL ushort    node_stat_check;    /* Seconds between statistic checks */
  145.  
  146. GLOBAL char     new_pass[41];        /* New User Password */
  147. GLOBAL char     new_magic[21];        /* New User Magic Word */
  148. GLOBAL char     new_sif[9];         /* New User SIF Questionaire */
  149. GLOBAL char     new_sof[9];         /* New User SIF Questionaire output SIF */
  150. GLOBAL char     new_level;            /* New User Main Level */
  151. GLOBAL ulong    new_flags1;         /* New User Main Flags from set #1*/
  152. GLOBAL ulong    new_flags2;         /* New User Main Flags from set #2*/
  153. GLOBAL ulong    new_flags3;         /* New User Main Flags from set #3*/
  154. GLOBAL ulong    new_flags4;         /* New User Main Flags from set #4*/
  155. GLOBAL ulong    new_exempt;            /* New User Exemptions */
  156. GLOBAL ulong    new_rest;            /* New User Restrictions */
  157. GLOBAL ulong    new_cdt;            /* New User Credits */
  158. GLOBAL ulong    new_min;            /* New User Minutes */
  159. GLOBAL uchar    new_xedit[9];        /* New User Default Editor */
  160. GLOBAL ushort    new_shell;            /* New User Default Command Set */
  161. GLOBAL ulong    new_misc;            /* New User Miscellaneous Defaults */
  162. GLOBAL ushort    new_expire;         /* Expiration days for new user */
  163. GLOBAL uchar    new_prot;            /* New User Default Download Protocol */
  164. GLOBAL char     val_level[10];        /* Validation User Main Level */
  165. GLOBAL ulong    val_flags1[10];     /* Validation User Flags from set #1*/
  166. GLOBAL ulong    val_flags2[10];     /* Validation User Flags from set #2*/
  167. GLOBAL ulong    val_flags3[10];     /* Validation User Flags from set #3*/
  168. GLOBAL ulong    val_flags4[10];     /* Validation User Flags from set #4*/
  169. GLOBAL ulong    val_exempt[10];     /* Validation User Exemption Flags */
  170. GLOBAL ulong    val_rest[10];        /* Validation User Restriction Flags */
  171. GLOBAL ulong    val_cdt[10];        /* Validation User Additional Credits */
  172. GLOBAL ushort    val_expire[10];     /* Validation User Extend Expire #days */
  173. GLOBAL uchar    level_expireto[100];
  174. GLOBAL ushort    level_timepercall[100], /* Security level settings */
  175.                 level_timeperday[100],
  176.                 level_callsperday[100],
  177.                 level_linespermsg[100],
  178.                 level_postsperday[100],
  179.                 level_emailperday[100];
  180. GLOBAL long     level_freecdtperday[100];
  181. GLOBAL long     level_misc[100];
  182. GLOBAL char     expired_level;    /* Expired user's ML */
  183. GLOBAL ulong    expired_flags1; /* Flags from set #1 to remove when expired */
  184. GLOBAL ulong    expired_flags2; /* Flags from set #2 to remove when expired */
  185. GLOBAL ulong    expired_flags3; /* Flags from set #3 to remove when expired */
  186. GLOBAL ulong    expired_flags4; /* Flags from set #4 to remove when expired */
  187. GLOBAL ulong    expired_exempt; /* Exemptions to remove when expired */
  188. GLOBAL ulong    expired_rest;    /* Restrictions to add when expired */
  189. GLOBAL ushort    min_dspace;     /* Minimum amount of free space for uploads */
  190. GLOBAL ushort    max_batup;        /* Max number of files in upload queue */
  191. GLOBAL ushort    max_batdn;        /* Max number of files in download queue */
  192. GLOBAL ushort    max_userxfer;    /* Max dest. users of user to user xfer */
  193. GLOBAL ulong    max_minutes;    /* Maximum minutes a user can have */
  194. GLOBAL ulong    max_qwkmsgs;    /* Maximum messages per QWK packet */
  195. #ifdef SCFG
  196. GLOBAL uchar    preqwk_ar[LEN_ARSTR+1]; /* pre pack QWK */
  197. #else
  198. GLOBAL uchar    *preqwk_ar;
  199. #endif
  200. GLOBAL ushort    cdt_min_value;    /* Minutes per 100k credits */
  201. GLOBAL ulong    cdt_per_dollar; /* Credits per dollar */
  202. GLOBAL ushort    cdt_up_pct;     /* Pct of credits credited on uploads */
  203. GLOBAL ushort    cdt_dn_pct;     /* Pct of credits credited per download */
  204. GLOBAL char     node_dir[LEN_DIR+1];
  205. GLOBAL char     ctrl_dir[LEN_DIR+1];
  206. GLOBAL char     data_dir[LEN_DIR+1];
  207. GLOBAL char     text_dir[LEN_DIR+1];
  208. GLOBAL char     exec_dir[LEN_DIR+1];
  209. GLOBAL char     temp_dir[LEN_DIR+1];
  210. GLOBAL char     **node_path;        /* paths to all node dirs */
  211. GLOBAL ushort    sysop_dir;            /* Destination for uploads to sysop */
  212. GLOBAL ushort    user_dir;            /* Directory for user to user xfers */
  213. GLOBAL ushort    upload_dir;         /* Directory where all uploads go */
  214. GLOBAL char     **altpath;            /* Alternate paths for files */
  215. GLOBAL ushort    altpaths;            /* Total number of alternate paths */
  216. GLOBAL ushort    leech_pct;            /* Leech detection percentage */
  217. GLOBAL ushort    leech_sec;            /* Minimum seconds before possible leech */
  218. GLOBAL ulong    netmail_cost;        /* Cost in credits to send netmail */
  219. GLOBAL char     netmail_dir[LEN_DIR+1];    /* Directory to store netmail */
  220. GLOBAL ushort    netmail_misc;        /* Miscellaneous bits regarding netmail */
  221. GLOBAL ulong    inetmail_misc;        /* Miscellaneous bits regarding inetmail */
  222. GLOBAL ulong    inetmail_cost;        /* Cost in credits to send Internet mail */
  223. GLOBAL uchar    inetmail_sem[LEN_DIR+1];    /* Internet Mail semaphore file */
  224. GLOBAL char     echomail_dir[LEN_DIR+1];   /* Directory to store echomail in */
  225. GLOBAL char     fidofile_dir[LEN_DIR+1];   /* Directory where inbound files go */
  226. GLOBAL char     netmail_sem[LEN_DIR+1];    /* FidoNet NetMail semaphore */
  227. GLOBAL char     echomail_sem[LEN_DIR+1];   /* FidoNet EchoMail semaphore  */
  228. GLOBAL char     origline[51];        /* Default EchoMail origin line */
  229. GLOBAL char     qnet_tagline[128];    /* Default QWK Network tagline */
  230. GLOBAL long     uq;                     /* User Questions */
  231. GLOBAL ulong    mail_maxcrcs;            /* Dupe checking in e-mail */
  232. GLOBAL ushort    mail_maxage;            /* Maximum age of e-mail */
  233. GLOBAL faddr_t    dflt_faddr;             /* Default FidoNet address */
  234. GLOBAL uchar    logon_mod[9];            /* Logon module */
  235. GLOBAL uchar    logoff_mod[9];            /* Logoff module */
  236. GLOBAL uchar    newuser_mod[9];         /* New User Module */
  237. GLOBAL uchar    login_mod[9];            /* Login module */
  238. GLOBAL uchar    logout_mod[9];            /* Logout module */
  239. GLOBAL uchar    sync_mod[9];            /* Synchronization module */
  240. GLOBAL uchar    expire_mod[9];            /* User expiration module */
  241. GLOBAL uchar    scfg_cmd[LEN_CMD+1];    /* SCFG command line */
  242. GLOBAL uchar    smb_retry_time;         /* Seconds to retry on SMBs */
  243. GLOBAL ushort    sec_warn;                /* Seconds before inactivity warning */
  244. GLOBAL ushort    sec_hangup;             /* Seconds before inactivity hang-up */
  245.  
  246. #ifndef SCFG
  247.  
  248. GLOBAL uchar    data_dir_subs[128];     /* DATA\SUBS directory */
  249. GLOBAL uchar    data_dir_dirs[128];     /* DATA\DIRS directory */
  250.  
  251. #endif
  252.  
  253. #ifdef SCFG
  254.  
  255. GLOBAL char     wfc_cmd[10][LEN_CMD+1];    /* 0-9 WFC DOS commands */
  256. GLOBAL char     wfc_scmd[12][LEN_CMD+1];   /* F1-F12 WFC shrinking DOS commands */
  257.  
  258. #else
  259.  
  260. GLOBAL char     *wfc_cmd[10];        /* 0-9 WFC DOS commands */
  261. GLOBAL char     *wfc_scmd[12];      /* F1-F12 WFC shrinking DOS commands */
  262.  
  263. #endif
  264.  
  265.