Annotation of sbbs/sbbs3/scfgdefs.h, revision 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.