dbm/
misc/
old-docs/
/* config.h */

/*
 * Machine/compiler type defines. 
 *
 * As distributed, this file is set up for AIX 3.1. 
 *
 * Under 4.3BSD, you may need to define NEED_STRCASECMP, NEED_STRNCASECMP, and
 * NO_VIOD_POINTERS if you're using an old compiler. You should define
 * STDDEF_H if you have it. All the rest of these defines should not be
 * defined. 
 *
 * Under AIX, you need to define SELECT_H. If you choose not to link in the BSD
 * library (and thus have screwed up TCP/IP), define SYSV_SIGNALS. Complaints
 * to IBM. 
 *
 * SystemV patches by <glen@cs.pdx.edu>. Under SystemV and compatible operating
 * systems (with TCP/IP), the following should be defined: SYSV_SIGNALS,
 * STRING_H, NO_UIO_H, NEED_U_CHAR, OLD_RAND, SYSV_TCPIP, and NO_WAIT_H. You
 * may also need to define NEED_STRCASECMP, NEED_STRNCASECMP, and
 * NO_VOID_POINTERS if you're using an old compiler. 
 *
 * On SystemV systems without TCP/IP, you're out of luck.  For that matter, on
 * ANY system without TCP/IP, you're out of luck.  Have a fish. 
 */

/* define this if your machine has and needs <select.h>. [AIX] */
#undef SELECT_H
/* define this if your machine has and needs <stddef.h>. [ANSI, extended C] */
#define STDDEF_H
/* define this if your machine has SysV style signals. [SysV derived OS] */
#undef SYSV_SIGNALS
/* define this if you need (or want) strcasecmp() */
#define NEED_STRCASECMP
/* define this if you need (or want) strncasecmp() */
#define NEED_STRNCASECMP
/* define this if your compiler doesn't grok void pointers. [K&R C] */
#undef NO_VOID_POINTERS
/* define this if your compiler needs <string.h> rather than <strings.h> */
#undef STRING_H
/* define this if you have and need <malloc.h> */
#undef MALLOC_H
#define ALLOCA_H
/* define this if your machine doesn't have alloca() */
#undef NO_ALLOCA
/* define this if your machine lacks <sys/uio.h>. [SysV] */
#undef NO_UIO_H
/* define this if your <sys/types.h> lacks a u_char definition. [SysV] */
#undef NEED_U_CHAR
/* define this if you need to use the old rand()/srand() function calls. */
#undef OLD_RAND
/* define this if your machine lacks <sys/wait.h>. [SysV] */
#undef NO_WAIT_H
/* define this if your machine has SysV style TCP/IP. */
#undef SYSV_TCPIP

/* These defines effect how the mud looks and works- edit as you like. */
#define SUPPORT_LOCKOUT
/* PDX login restrictions */
#define PDX
/* add support for mjr's RWHO */
#define SUPPORT_RWHO
/* restrict the use of the OUTPUT*X commands to players with a TEMPORAL flag */
#undef RESTRICT_BOT
/* define this to have full hostnames in the WHO list */
#define HOSTNAMES
/* this will check for a couple illegal names- highly recommended */
#define ILLEGAL_NAMES
/* this will require player registration- it disables normal player creation */
#undef REGISTRATION
/* define this to compress some strings within the db layer */
#define COMPRESS
/* this will cause all commands to be logged to stderr */
#undef LOGCOMMANDS
/* define this to include the help system */
#define HELPSYSTEM
/* define this to include the news system */
#define NEWSSYSTEM
/* define this to have examine show the names of flags that are set */
#define VERBOSE_FLAGS

/*
 * define this to display the hostname and location portion of the WHO list
 * to all connected players 
 */
#undef WIZWHOALL
/* define this to have the WHO list ordered "backwards" */
#define REVERSED_WHO

/*
 * the next two decide if the WHO_COMMAND and QUIT_COMMAND should be case
 * insensetive or not. 
 */
#define WHO_CI
#define QUIT_CI
#define WHERE_CI
/* this will allow locks such as "sex:male" and such */
#define GENDER_BOOL_LOCK
/* define this if you do not want disconnected players visible with "look" */
#undef DARK_SLEEP
/* this will restrict the use of the @pcreate command to god only */
#define GOD_ONLY_PCREATE
/* this will restrict all creation commands to players with a BUILDER flag */
#define RESTRICT_BUILDING
/* this will allow anyone to @open exits in a BUILDING_OK room */
#define BUILDING_OK
/* define this have all new players given a BUILDER flag */
#define AUTO_BUILDER
/* define this to give all newly created players (from the greet) a GUEST flag */
#define AUTO_GUEST

/* debugging defines- these tend to fill up log files rather quick */
#undef CACHEDEBUG
#undef DISKDEBUG

/* The rest of the defines must be defined. */
/* the default port for the mud */
#define DEFAULT_PORT 4201
/* the starting location for, and home of, new players */
#define STARTING_LOC 63
/* the base parent */
#define ROOT_PARENT 0
/* the basic quota for all new players */
#define STARTING_QUOTA 250
/* this player cannot be tampered with by other wizards */
#define PLAYER_GOD 1
/* don't display more than this many things in a contents/exits list */
#define MAXLIST 512

/* These are the commands that are parsed in the network interface. */
#define WHO_COMMAND "WHO"
#define QUIT_COMMAND "QUIT"
#define WHERE_COMMAND "WHERE"
#define PREFIX_COMMAND "OUTPUTPREFIX"
#define SUFFIX_COMMAND "OUTPUTSUFFIX"

/* Various messages. */
#define GOODBYE_MSG "Goodbye!\r\n"
#define SHUTDOWN_MSG "Going down -- Goodbye!\r\n"
#if defined(REGISTRATION) || defined(SUPPORT_LOCKOUT)
#define REGISTER_MSG \
"Sorry, you must contact a wizard to create a character.\r\n"
#endif				/* REGISTRATION */
#define BAD_CONNECT \
"Either that player doesn't exist, or has a different password.\r\n"
#ifdef ILLEGAL_NAMES
#define BAD_CREATE \
"Either a player with that name already exists, or that name is illegal.\r\n"
#else
#define BAD_CREATE "A player with that name already exists.\r\n"
#endif				/* ILLEGAL_NAMES */
#ifdef RESTRICT_BOT
#define RESTRICT_BOT_MSG \
"Sorry, that command is restricted to authorized personal only.\r\n"
#endif				/* RESTRICT_BOT */
#define DEFAULT_GREET \
"Welcome to TeenyMUSK\r\nEnter either \"create <name> <pasword>\" to create a new character, or\r\n\"connect <name> <password>\" to connect to your existing character.\r\n\r\nType WHO to see a list of all connected players, and QUIT to disconnect.\r\nThese must be capitalized as shown.\r\n\r\n"

/* Files and related stuff. */

/*
 * Default names of chunk/index files. Default cache size. These are used if
 * none are specified on the command line 
 */
#define DEFAULT_CHUNK "database/bits.gdbm"
#define DEFAULT_INDEX "database/index.teeny"
#define BACKUP_CHUNK "database/bits.BAK"
#define BACKUP_INDEX "database/index.BAK"
#define DEFAULT_TEXTDUMP "teeny.text"
#define DEFAULT_CACHE 20 * 1024
/* more file names */
#define HELP_FILE "text/help"
#define NEWS_FILE "text/news"
#define MOTD_FILE "text/motd"
#define WIZN_FILE "text/wiznews"
#define GREET_FILE "text/greet"
#define NEWP_FILE "text/welcome"
#if defined(REGISTRATION) || defined(SUPPORT_LOCKOUT)
#define REGISTER_FILE "text/register"
#endif				/* REGISTRATION */
#ifdef HELPSYSTEM
#define HELP_PATH "help/"	/* note trailing slash */
#endif				/* HELPSYSTEM */
#ifdef NEWSSYSTEM
#define NEWS_PATH "news/"	/* note trailing slash */
#endif				/* NEWSSYSTEM */
#define LOG_STATUS "logs/status"/* connects, disconnects */
#define LOG_GRIPE "logs/gripes"	/* gripes */
#define LOG_COMMAND "logs/commands"	/* sensetive commands */
#define LOG_ERROR "logs/errors"	/* warnings and such */
#ifdef SECURITY
#define LOG_SECURITY "logs/security"
#endif

#ifdef SUPPORT_LOCKOUT
#define LOCKOUT_FILE "admin/lockout"
#endif

/* System tuning thingies. */
/* timeslice == 10 tenths of a sec, quota == 10 commands per slice */
#define TIME_SLICE 10
#define SLICE_QUOTA 10
/* Dump every 1750 seconds, please. */
#define DUMP_INTERVAL 1750