/************************************************************************/
/*            ctdlCnfg.sys            */
/*                           */
/*   configuration file for Citadel bulletin board system.      */
/*   This is >>>NOT<<< a C file!  It is read in by confg.exe    */
/*   which sets up a "CTDLTABL.SYS" binary file recording the local   */
/*   configuration parameters.  (CTDLTABL.SYS is read by the other   */
/*   Citadel programs.)                  */
/*                           */
/*   WARNING WARNING WARNING WARNING WARNING WARNING WARNING!!!!   */
/*   This version of CONFIGUR uses decimal numbers throughout; if   */
/*   you leave the existing hexidecimal numbers in, ugly things   */
/*   will happen to your system.               */
/*                           */
/************************************************************************/

/************************************************************************/
/*            History             */
/*                           */
/* 87Apr28 orc   More things are changed around, for added confusion.   */
/* 87Apr05 orc   STadel version 2; gone to decimal numbers.      */
/* 87Feb16 orc   STadel version 1               */
/* 86Jul09 HAW   Added muchos.  The history gets worse.         */
/* 85Nov10 HAW   Reviewed.  Note: This file's history is, uh, execrable. */
/* 85Aug26 HAW   NETDISK, MIRRORMSG, MSG2DISK.            */
/* 85Mar03 HAW   Customize for Sperry PC.            */
/* 85Feb20 HAW   Kill off MDATA.                */
/* 85Feb17 HAW   Install 300/1200 access code.            */
/* 85Jan22 HAW   Modified to read MSDOS clock.            */
/* 84Sep03 HAW   Now fer MS-DOS!                */
/* 84Jun10 HAW   ALLMAIL...                  */
/* 83Feb26 CrT   LOGINOK, ENTEROK & READOK...            */
/* 83Feb06 CrT   Mods to debug ICS files on ODD-DATA machine...      */
/* 82Nov24 CrT   This file now handles H89 with SmartModem @ port D8   */
/* 82Nov21 CrT   Created.                  */
/************************************************************************/

/************************************************************************/
/*   This file must be edited to be appropriate to the local environ-   */
/* ment.  It specifies the name of the installation, et cetera.      */
/* This file is then processed by CONFGUR.TOS, which produces the   */
/* ctdlTabl.sys file which is read the other Citadel programs --   */
/* currently CITADEL.TOS and some utilities.            */
/*    Lines not beginning with "#" are ignored by CONFG and may be   */
/* deleted once the file is successfully configured -- they are purely   */
/* documentary.                      */
/************************************************************************/

/************************************************************************/
/* GENERAL STRING FORMATTING CONTROLS:               */
/* Strings in CTDLCNFG.SYS can be forcefully formatted by embedding   */
/* certain strings of characters in them. All of these strings of   */
/* characters are started by the use of the '\' character.  When Citadel*/
/* sees '\', it will replace the '\' and the following character(s)   */
/* with the value specified in the following table.         */
/*      "\n": CR-LF                     */
/*      "\t": Tab character                  */
/*      "\b": Non-destructive Backspace            */
/*      "\r": CR                     */
/*      "\f": Formfeed                  */
/*      "\\": Backslash                  */
/*      "\<xxx>": The octal* ASCII value is output         */
/* Strings that are output via the formatter must conform with normal   */
/* formatting conventions in order for the desired effect to be    */
/* achieved. For example, if you wish to force a CR-LF at a certain,   */
/* your string at that point would look like            */
/*   "...\n ..."                     */
/* NOTE THE SPACE following the "\n"!               */
/*   The following strings are output via the formatter:      */
/*     #nodeTitle                     */
/*     #baseRoom                     */
/*   The following strings are not output via the formatter:      */
/*        #modemSetup                     */
/*     #callOutPrefix                  */
/*     #callOutSuffix                  */
/*     #nodeId     <In fact, meaningless here>         */
/*     #nodeName     <In fact, meaningless here>         */
/*     #sysPassword     <In fact, meaningless here>         */
/* Explanations of what these strings do follows in this file      */
/*                           */
/************************************************************************/

/* nodeTitle will be printed whenever CITADEL.TOS is run, and should   */
/* identify your local installation, i.e. "Welcome to .."      */
#nodeTitle "Inner Sanctum One"

/* nodeName is purely for networking purposes.   Messages which      */
/* originated on your system will have headers looking like      */
/* 82Nov23 From Cynbe ru Taren @ODD-DATA
/* This should be a short (for the sake of the reader!) mnemonic   */
/* identifying your node for humans.               */
#nodeName "Inner Sanctum One"

/* nodeId is also purely for networking purposes.  Messages which   */
/* originate on your system will be marked with the nodeId, but it will */
/* not normally be printed out.  It is primarily for the use of the   */
/* networking support software, and forms a globally unique name and   */
/* address of your system.  It consists of a country abbreviation   */
/* followed by area code and phone number.  (The "country codes" listed */
/* in the phone book are >not< fixed, but depend on the country the   */
/* call is originating from.  They are basically routing codes rather   */
/* than addresses.)  Country abbreviation for the US is "US", for   */
/* Canada is "CA".  (For others, see COUNTRY.DOC.)         */
#nodeId "US 206 363 8592"

/* We'll use the following for IS networking				*/
#COUNTRY "USA"		/* USA, CAN, MEX, EUR, JAP, AUS, etc.		*/
#AREACODE "206"
#PHONENUM "363-8592"

/************************************************************************/
/* #sysPassword specifies the file that contains a string that will   */
/* act as the password to the remote sysop abilties.  If this      */
/* parameter is not specified, or if the file is not found, or is   */
/* unreadable, then remote sysop abilities are disabled.  Only Aides   */
/* can access remote sysop abilities, and they must* know the exact   */
/* password, up to and including the case of the individual letters.   */
/* Since a hacker could badly damage a system by gaining access to the   */
/* remote Sysop capabilities, use of this feature is not      */
/* recommended.  To access sysop abilities from remote, type CTRL-L   */
/* at any room prompt. A password will be requested if you are an   */
/* aide. If the correct password is given, then you have access to   */
/* sysop capabilities, plus some of the room editing capabilities   */
/* normally restricted to sysConsole aides.            */
#sysPassword "citpass.sys"    /* No remote sysop capabilities       */

/* baseRoom is the homeroom of the Citadel in operation, the place you   */
/* go when there are no more rooms with unread messages left.  This is   */
/* usually known as the Lobby> on most systems.  It's simply a nice,   */
/* easy way to customize and give character to your system..      */
#baseRoom "Lobby"

/* LOGSIZE is the number of entries that you want in your log. Once   */
/* you've selected a log size and have configured, you may NOT shrink   */
/* the log except by destroying the log totally. There is a utility   */
/* available for expanding the log, called LEXPAND.  Each log entry   */
/* needs ??? bytes on disk (I know that a 180 entry log requires app.   */
/* 88K), so plan accordingly.                  */

#define LOGSIZE 512

/* CRYPTSEED is a number used in encrypting the password file.   Change   */
/* it once when you install the system, but not thereafter -- or you   */
/* won't be able to read the existing files any more.         */

#define CRYPTSEED  9428

/* MESSAGEK sizes "ctdlmsg.sys", the file message text is stored in.   */
/* The size of this parameter together with the rate message text is   */
/* entered at determines message lifetime.  ICS ran for a few months   */
/* with 87K, and message lifetime sometimes dropped below 3 days,   */
/* upsetting the weekly callers.  A one-week minimum seems the target   */
/* to try for.   ICS is currently (82Nov26) running a 250K message file. */

#define MESSAGEK  1024      /* number of Kbyte to use in ctdlmsg.sys*/

/* The following 3 parameters specify on what directories STadel should   */
/* look for its personal data files. These parameters take the form of   */
/* drive:pathname.  (a:\help, c:\system, etc)            */
/*                           */
/* helpDir: Location of all .HLP, .BLB, and .MNU files (i.e., all of   */
/*   the help files), which is generated by CONFIGUR.TOS and kept up   */
/*   to date by CITADEL.TOS.                  */
/* msgDir: Location of CTDLMSG.SYS, the message file. (This is the   */
/*   primary message file; see the parameter MIRRORMSG later in this   */
/*   file.)                        */
/* sysDir: Location of CTDLLOG.SYS and CTDLROOM.SYS.         */

#helpDir "e:\help\"
#sysDir "d:\sys\"
#msgDir "d:\msg\"

#WXYPATH "d:\wxytr.prg"	/* Where we go for file transfers */
#KERMIT "d:\kermit.prg"	/* Where we go for kermit file transfers */
#ZMODEMSEND "d:\sz.ttp" /* Where we go for zmodem file sends */
#ZMODEMRCV "d:\rz.tos"  /* Where we go for zmodem file receives */

/* The following two configuration parameters are designed to help	*/
/* us stay in synch as far as time goes.  The following values are 	*/
/* recognized as timezones at this point:  ATLANTIC, EASTERN, CENTRAL,	*/
/* MOUNTAIN, PACIFIC, ALASKA, HAWAII, and BERING.			*/

#TIMEZONE "PACIFIC"     /* What timezone are we in? */
#define DSTFLAG 0       /* Are we using daylight savings time ? */
			/* Yes = 1, No = 0			*/

/* the trailing \ is not necessary -- configur strips them off the path   */
/* and Citadel puts a \ between the pathname and the appropriate file.   */

/* MIRRORMSG: This parameter should be used when you have a RAM disk   */
/* that contains the message file, and want to have the message file   */
/* continuously backed up. Setting MIRRORMSG to 1 tells Citadel-86 to   */
/* expect the file to be both read from and written to be on      */
/* directory msgDir (and this should specify the RAM disk), and the   */
/* file to only be written on to be on mirrorDir (described below).   */
/* This should save wear 'n tear on your message drive while (almost)   */
/* ensuring no loss of message data due to crash/power loss.      */
#define MIRRORMSG 0      /* Change it to 1 if you want the above */

/* mirrorDir is the location of the file that should only be written to.*/
/* This SHOULD be a normal disk rather than a RAM drive. This parameter */
/* is only used if MIRRORMSG is 1. Drive specification is as the same   */
/* as msgDir, sysDir, etc....                  */
#mirrorDir ""

/* netDir specifies the location of all net files: scratch files,   */
/* any and all *.ML files, and CTDLNET.SYS. PLEASE do not* specify   */
/* a RAM disk; crashes may leave you with using *.ML files that    */
/* shouldn't exist any longer (a lesson learned at Dog House). Also,   */
/* don't let this disk fill up if you ARE in networking mode; loss of   */
/* data can occur if you do.                  */
#netDir "d:\net\"

/* tmpDir specifies the location for temporary work files to hang out	*/
/* these files will come and go.  This directory will be used primarily	*/
/* by network drivers and doors applications.				*/
#tmpDir "c:\tmp\"

/* Where we keep our bulletins						*/
#bullDir "e:\bull\"	/* NOW USED!!!!					*/

/* Do we allow graphics at the console? (VT52) */
#define CONSOLEGRAPH 1	/* 1 = yes, 0 = no */

/* Shall we generate profile messages for new users? */
#define USEINTROS 1				/* 1 = yes, 0 = no */
#INTRODUCTIONS "Introductions"	/* What room do we use? */

/* Are we booting up from the GEM desktop?  And do we want to register	*/
/* with GEM as an official application?  (Useful for GEM doors!)	*/
#define USEGEM 1		/* 1 = yes, 0 = no */

/* Do we want to suppress console I/O?					*/
#define QUIETMODE 0		/* 1 = yes, 0 = no */

/* Do we allow display of graphics messages? (ANSI and VT52) */
#define MSGGRAPH 1		/* 1 = yes, 0 = no */

/* The CALL-LOG parameter allows the optional generation of the    */
/* CALLLOG.SYS file.  If nonzero, the parameter #auditDir is where   */
/* the calllog is placed, and if zero, no calllog is generated.      */
#define CALL-LOG 1         /* Feature disabled      */

/* if CALL-LOG is nonzero, the audit file is found in the directory   */
/* specified in auditDir.                  */
#auditDir "d:\audit"

/* shell defines the command-line interpreter that Citadel runs when   */
/* you try to do an [O]utside command.  It must be the full pathname   */
/* to the shell program.                  */
#shell "e:\bin\msh.prg"		/* Doors work better for this		*/

/* LOGINOK, ENTEROK and READOK are configuration switches used to set   */
/* the privileges of new callers.               */
/*   If LOGINOK is TRUE (nonzero), callers can establish a name and   */
/* password for themselves without sysop intervention.   If it is   */
/* FALSE (zero), new accounts can only be established from the system   */
/* console.                        */
/*   If ENTEROK is TRUE callers can enter messages without logging   */
/* in.   Such messages will have nameless headers but the date will be   */
/* intact.  Setting ENTEROK to FALSE can reduce vandalism, or keep   */
/* nonpaying folks off commercial systems.            */
/*   If READOK is TRUE, callers can read messages without logging   */
/* in.   This provides a friendly first contact.  Setting READOK to   */
/* FALSE may again be appropriate in commercial installations.      */
#define LOGINOK 1      /* user-established accounts      */
#define READOK 0      /* no anonymous message-reading    */
#define ENTEROK 0      /* no anonymous message-entry      */

/* ROOMOK is a configuration switch setting the room-creation privileges*/
/* of established callers.  If ROOMOK is TRUE (nonzero) then regular   */
/* folks can create new rooms, else only those with aide privileges   */
/* can do so.                        */
#define ROOMOK 0      /* general room-creation privileges   */

/* ALLMAIL is a configuration switch which lets the sysop decide whether*/
/* all people should be allowed to send private mail to each other, or   */
/* if only aides should have access to private mail and the ordinary   */
/* folk can only send mail to the Sysop.  If ALLMAIL is TRUE, all get   */
/* privileges; FALSE and only aides have the privilege.       */
#define ALLMAIL 1      /* Everybody can send mail      */

/* SEARCHBAUD tells Citadel whether the user wants to do 300/1200/2400   */
/* access via a flip flop search between the bauds while the user   */
/* types Carriage Returns or not.               */
/* If SEARCHBAUD is set to 1, the system will quickly flip through the  */
/* baud rates for about 60 seconds, spending half a second at each baud   */
/* looking for a <C/R>.                     */
/* If SEARCHBAUD is set to 0, SYSBAUD is the /only/ baud rate the   */
/* system uses.                        */
#define SEARCHBAUD     1      /* 1 == autosearch, 0 == don't   */

/* SYSBAUD is the baud setting of this system.   300 only is 0, 300/1200 */
/* is 1, 3/12/24 is 2. (unless SEARCHBAUD is 0, then 0 == 300 baud,   */
/* 1 == 1200 baud, and 2 == 2400 baud.)               */                     */
#define SYSBAUD 2         /* A 3/12/24 system.      */

/* CONNECTPROMPT tells Citadel whether you want the system to prompt   */
/* callers to 'type return' after they connect.            */
#define CONNECTPROMPT   0      /* silly prompting.      */

/* Some modems/dialing areas will hang up if you send characters to   */
/* your modem too soon after establishing a connection. This will kill   */
/* any system using AUTOBAUD, because a bug in the ST's hardware flushes*/
/* a imaginary character whenever you change the baudrate.      */
/* So, Citadel will delay CONNECTDELAY seconds after somebody calls in   */
/* before it starts to check for your baud rate.         */
#define CONNECTDELAY 0      /* don't delay            */

/* Here is how we control the message-pause default when a user logs in */
#define MSGPAUSE 2          /* 0 means pause-between-msgs is disabled	*/
			    /* 1 means pause-between-msgs is OFF	*/
			    /* 2 means pause-between-msgs is ON		*/

/* This option has been de-activated for the time being.  But you 	*/
/* should still have it in here set to '0'.				*/
#define INTERFACE 0         /* 0 means Citadel only                     */

/* Here we can decide to use Hayes modem result values for	 	*/
/* automatically determining baud rate.  (If we have 'em available!)	*/
/* If you use this feature, make sure your modem is set up to return	*/
/* the appropriate result stuff via the modem init string!		*/
#define HAYESCODES 1        /* 0 means we will use normal citadel style	*/
			    /* 1 means we will use numeric result codes	*/
			    /* 2 means we will use "CONNECT n" strings	*/

/* Here we can set a time limit on a particular call for non-aides	*/
/* If defined as 0, the feature is disabled.  Otherwise the number is	*/
/* the number of minutes allowed for the caller.			*/
#define CALLLIMIT 90	    /* 90 minutes max per call			*/

/* Here we can set a time limit on a particular call for twits		*/
/* If defined as 0, the feature is disabled.  Otherwise the number is	*/
/* the number of minutes allowed for the twit.				*/
#define TWITLIMIT 5	    /* 5 minutes max per call			*/

/* Here we can set a time limit on a particular call for new callers	*/
/* If defined as 0, the feature is disabled.  Otherwise the number is	*/
/* the number of minutes allowed for the new user.			*/
#define NEWLIMIT  30        /* 30 minutes max per call			*/

#define MAXNEW  5	    /* maximum msg entries for new folks	*/
#define MAXTWIT 1	    /* maximum msg entries for twits		*/
#define MAXREG 18	    /* maximum msg entries for regular users	*/
#define TWITZAP 3	    /* shall we be obnoxious to twits? Yes!	*/
#define TWITDELAY 300        /* number secs offline after zap		*/

/* Here we can decide to use a trailing '>' on room names to signal	*/
/* the user that he/she has access to additional halls from said room	*/
/* or by setting it to '0' we can leave them in the dark :)		*/
#define HALLPROMPT 1	    /* Use auto hall prompts at room names	*/

/************************************************************************/
/* #callOutPrefix determines what is output to the modem prior to   */
/* the phone number to be dialed.  It must send all commands necessary   */
/* to put the modem into dial out mode.  Additionally, it must contain   */
/* what is neceessary in the way of special commands dealing with PBX's,*/
/* etc.                         */
/*   For instance, a simple setup of a Hayes/compatible in a simple home*/
/* setting which has Touch Tone would require:            */
/*    #callOutPrefix "ATDT"                  */
/*   A more complicated example of a Hayes/compatible in an office   */
/* that requires a 9 and then a pause before gaining an outside line   */
/* would require                     */
/*    #callOutPrefix "ATDT9,"                  */
/*                           */
/* #callOutSuffix determines what is output to the modem after      */
/* #callOutPrefix and the phone number has been output.  Graphically,   */
/*     <#callOutPrefix><phone#><#callOutSuffix>          */
/* is the sequence in which data is out when the networker tries   */
/* to dial out.  Since nothing is automatically appended to the    */
/* number when it is being output to the modem during networking,   */
/* the typical value for an installation using a Hayes/compatible is   */
/*    #callOutSuffix "\r"                  */
/* since Hayes/compatibles require a C/R to end a command string.   */
/* This may not hold true for other brands of modems.         */
/************************************************************************/
#callOutPrefix "ATDT"      /* Normal Hayes installation w/o TT.   */
#callOutSuffix "\r"      /* Typical Hayes suffix       */


/************************************************************************/
/* the modemSetup string is sent to your modem every time you start   	*/
/* citadel.prg and every time you do a ^LR from the console.      	*/
/* This string must typically be adjusted for your modem.  The string	*/
/* here works with a Smarteam 2400 baud modem.				*/
/************************************************************************/
#modemSetup "ATM0X1V0Q0F1E0B1S0=1S2=255S9=4\r"

