/************************************************************************/
/*                              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.)                                              */
/*         NB:  all numbers are in hex (except string formatting).      */
/************************************************************************/

/************************************************************************/
/*                              History                                 */
/*                                                                      */
/* 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.  You may have to add some simple routines     */
/* to handle carrier-detect etc.  This file is then processed by        */
/* CONFG.EXE, which produces the ctdlTabl.sys file which is read        */
/* automatically by the other Citadel programs -- currently             */
/* CTDL.EXE 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                                                     */
/*        #modemSetup                                                   */
/*   The following strings are not output via the formatter:            */
/*        #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.exe is run, and should    */
/* identify your local installation, i.e. "Welcome to .."               */
#nodeTitle "DormWare File System"

/* 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 "DormWare"

/* 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 801 626 6528"

/************************************************************************/
/* #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 ""         /* 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 "Main Floor"

/* 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 64              /* This is hex!                         */

/* 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  275          /*                                      */

/* 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. */
/* Note that MESSAGEK is a >>Hex Number<< like all others in this file! */
#define MESSAGEK  100           /* number of Kbyte to use in ctdlmsg.sys*/

/* The following 3 parameters specify on what drives Citadel-86 should  */
/* look for its personal data files.  To specify drive A:, use 0; drive */
/* B:, use 1; etc.                                                      */
/* HOMEDISK: Location of all .HLP, .BLB, and .MNU files (i.e., all of   */
/*   the help files), and CTDLTABL.SYS, which is generated by CONFG.EXE */
/*   and kept up to date by CTDL.EXE.  On exit from CTDL and/or CONFG,  */
/*   this is the disk that is the default.                              */
/* MSGDISK: Location of CTDLMSG.SYS, the message file. (This is the     */
/*   primary message file; see the parameter MIRRORMSG later in this    */
/*   file.)                                                             */
/* SYSDISK: Location of CTDLLOG.SYS and CTDLROOM.SYS.                   */
#define HOMEDISK 0              /* disk a                               */
#define MSGDISK  0              /* disk a                               */
#define SYSDISK  0              /* disk a                               */

/* 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            */
/* drive MSGDISK (and this should specify the RAM disk), and the file   */
/* to only be written on to be on MSG2DISK (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 */

/* MSG2DISK 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 HOMEDISK, MSGDISK, SYSDISK, etc....                               */
#define MSG2DISK 0              /* disk a                               */

/* NETDISK 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.                                            */
#define NETDISK 0               /* disk a                               */

/* The CALL-LOG parameter allows the optional generation of the         */
/* CALLLOG.SYS file.  The value of the parameter has the following      */
/* meanings:  If it is greater than or equal to decimal 100             */
/* (hexadecimal 64), then the feature is disabled.  If it is less than  */
/* 100 (hex 64), then the feature is enabled, and the file CALLLOG.SYS  */
/* (a textfile) will be generated on the disk indicated by that value.  */
/* So... '#define CALL-LOG 0' would put CALLLOG.SYS on drive A,         */
/* '#define CALL-LOG 2' would put CALLLOG.SYS on drive C, and           */
/* '#define CALL-LOG 64' would disable the feature.                     */
#define CALL-LOG 0                     /* Feature disabled             */

/* 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.                                       */
#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.  If SEARCHBAUD is 1, then SYSBAUD is used to     */
/* determine if 2400 checking should also be done.                      */
#define SYSBAUD 1                       /* A 3/12 system.               */

/* TIMEOUT and HOUROUT allow the sysop to decide if s/he wants Citadel  */
/* to jump out once every x hours or not. This is useful if the system  */
/* is running on a RAM disk and is using a recursive batch file to      */
/* backup the files in RAM ... allows the sysop to go out without worry.*/
/* If TIMEOUT is set to 1, then HOUROUT is the number of hours Citadel  */
/* will stay up before coming down.                                     */
#define TIMEOUT 0               /* No timeouts                          */
#define HOUROUT 4

/* This is the networking stuff.                                        */
/* If NETWORK is 0, then you are not part of a network; 1 means that    */
/* this system is part of at least the local network.                   */
/* If LONG-HAUL is 0, then this system is ONLY part of the local        */
/* network; even if there are long distance nodes on this system's list,*/
/* mail will NOT be sent to them. If LONG-HAUL is 1, then this system is*/
/* part of the long distance network as well as the local net.          */
/* DAYDIV, NETHOUR, and NETLENGTH are all values that should NOT NOT NOT*/
/* be modified unless there is general agreement on the network that    */
/* such modification would be desirable.  DAYDIV refers to which days   */
/* networking will take place, NETHOUR is the hour it takes place at    */
/* (military-hexadecimal), and NETLENGTH is the number of minutes the   */
/* systems will be in Networking mode.                                  */
/*                                                                      */
/* Currently, STadel doesn't 'do' networking, so these are unused       */
/*                                                                      */
#define NETWORK 0                       /* networking                   */
#define LONG-HAUL 0                     /* Not long-haul                */
#define DAYDIV 1
#define NETHOUR 3                       /* At 3 AM CDST                 */
#define NETLENGTH 1E                    /* This should be 30 minutes    */

/************************************************************************/
/* #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.tos and every time you do a ^LR from the console.            */
/************************************************************************/
#modemSetup "ATAA\r"

#alldone x x                    /* end of file                          */
                                                                                              

