|
|
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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.