Annotation of sbbs/sbbs3/scfgdefs.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.