ldmud-3.2.9/doc/
ldmud-3.2.9/doc/efun/
ldmud-3.2.9/mud/
ldmud-3.2.9/mud/heaven7/
ldmud-3.2.9/mud/heaven7/lib/
ldmud-3.2.9/mud/lp-245/
ldmud-3.2.9/mud/lp-245/banish/
ldmud-3.2.9/mud/lp-245/doc/
ldmud-3.2.9/mud/lp-245/doc/examples/
ldmud-3.2.9/mud/lp-245/doc/sefun/
ldmud-3.2.9/mud/lp-245/log/
ldmud-3.2.9/mud/lp-245/obj/Go/
ldmud-3.2.9/mud/lp-245/players/lars/
ldmud-3.2.9/mud/lp-245/room/death/
ldmud-3.2.9/mud/lp-245/room/maze1/
ldmud-3.2.9/mud/lp-245/room/sub/
ldmud-3.2.9/mud/lp-245/secure/
ldmud-3.2.9/mud/morgengrauen/
ldmud-3.2.9/mud/morgengrauen/lib/
ldmud-3.2.9/mud/sticklib/
ldmud-3.2.9/mud/sticklib/src/
ldmud-3.2.9/mudlib/uni-crasher/
ldmud-3.2.9/pkg/
ldmud-3.2.9/pkg/debugger/
ldmud-3.2.9/pkg/diff/
ldmud-3.2.9/pkg/misc/
ldmud-3.2.9/src/autoconf/
ldmud-3.2.9/src/bugs/
ldmud-3.2.9/src/bugs/MudCompress/
ldmud-3.2.9/src/bugs/b-020916-files/
ldmud-3.2.9/src/bugs/doomdark/
ldmud-3.2.9/src/bugs/ferrycode/ferry/
ldmud-3.2.9/src/bugs/ferrycode/obj/
ldmud-3.2.9/src/bugs/psql/
ldmud-3.2.9/src/done/
ldmud-3.2.9/src/done/order_alist/
ldmud-3.2.9/src/done/order_alist/obj/
ldmud-3.2.9/src/done/order_alist/room/
ldmud-3.2.9/src/gcc/
ldmud-3.2.9/src/gcc/2.7.0/
ldmud-3.2.9/src/gcc/2.7.1/
ldmud-3.2.9/src/hosts/
ldmud-3.2.9/src/hosts/GnuWin32/
ldmud-3.2.9/src/hosts/amiga/NetIncl/
ldmud-3.2.9/src/hosts/amiga/NetIncl/netinet/
ldmud-3.2.9/src/hosts/amiga/NetIncl/sys/
ldmud-3.2.9/src/hosts/i386/
ldmud-3.2.9/src/hosts/msdos/byacc/
ldmud-3.2.9/src/hosts/msdos/doc/
ldmud-3.2.9/src/hosts/os2/
ldmud-3.2.9/src/hosts/win32/
ldmud-3.2.9/src/util/
ldmud-3.2.9/src/util/erq/
ldmud-3.2.9/src/util/indent/hosts/next/
ldmud-3.2.9/src/util/xerq/
ldmud-3.2.9/src/util/xerq/lpc/
ldmud-3.2.9/src/util/xerq/lpc/www/
/* DO NOT EDIT!
 *
 * This file is created automatically by configure from the template
 * in config.h.in.
 */

#ifndef CONFIG_H__
#define CONFIG_H__ 1

/* ----------- Commandline Argument Defaults ----------
 * These options provide default settings for those options which can
 * also be set on the commandline.
 */


/* --- Runtime limits --- */

/* This is the maximum array size allowed for one single array.
 * If 0, any size is allowed.
 */
#define MAX_ARRAY_SIZE            @val_max_array_size@

/* This is the maximum array size allowed for one single mapping.
 * If 0, any size is allowed.
 */
#define MAX_MAPPING_SIZE            @val_max_mapping_size@

/* Max size of a file allowed to be read by 'read_file()'.
 */
#define READ_FILE_MAX_SIZE        @val_read_file_max_size@

/* Define MAX_BYTE_TRANSFER to the number of bytes you allow to be read
 * and written with read_bytes and write_bytes
 */
#define MAX_BYTE_TRANSFER        @val_max_byte_transfer@

/* This is the maximum number of callouts allowed at one time.
 * If 0, any number is allowed.
 */
#define MAX_CALLOUTS              @val_max_callouts@


/* --- Timing --- */

/* If an object is left alone for a certain time, then the
 * function clean_up will be called. This function can do anything,
 * like destructing the object. If the function isn't defined by the
 * object, then nothing will happen.
 *
 * This time should be substantially longer than the swapping time.
 */
#define TIME_TO_CLEAN_UP          @val_time_to_clean_up@

/* How long time until an unused object is swapped out.
 * Machine with too many players and too little memory: 900 (15 minutes)
 * Machine with few players and lot of memory: 10000
 * Machine with infinite memory: 0 (never swap).
 */
#define TIME_TO_SWAP              @val_time_to_swap@
#define TIME_TO_SWAP_VARIABLES    @val_time_to_swap_variables@

/* How many seconds until an object is reset again.
 * Set this value high if big system, otherwise low.
 */
#define TIME_TO_RESET             @val_time_to_reset@


/* --- Memory --- */

/* Which memory manager to use. Possible defines are
 *   MALLOC_smalloc:   Satoria's malloc. Fastest, uses the least memory,
 *                     supports garbage collection.
 *   MALLOC_sysmalloc: the normal system malloc()
 */

#define MALLOC_@val_malloc@

/* Reserve an extra memory area from malloc(), to free when we run out
 * of memory to get some warning and start Armageddon.
 * If this value is 0, no area will be reserved.
 */
#define RESERVED_USER_SIZE      @val_reserved_user_size@
#define RESERVED_MASTER_SIZE    @val_reserved_master_size@
#define RESERVED_SYSTEM_SIZE    @val_reserved_system_size@

/* If MIN_MALLOCED is > 0, the gamedriver will reserve this amount of
 * memory on startup for large blocks, thus reducing the large block
 * fragmentation. The value therefore should be a significantly large
 * multiple of the large chunk size.
 * As a rule of thumb, reserve enough memory to cover the first couple
 * of days of uptime.
 */
#define MIN_MALLOCED  @val_min_malloced@

/* If MIN_SMALL_MALLOCED is > 0, the gamedriver will reserve this
 * amount of memory on startup for small blocks, thus reducing the small block
 * fragmentation. The value therefore should be a significantly large
 * multiple of the small chunk size.
 * As a rule of thumb, reserve enough memory to cover the first couple
 * of days of uptime.
 */
#define MIN_SMALL_MALLOCED  @val_min_small_malloced@

/* This value gives the upper limit for the total allocated memory
 * (useful for systems with no functioning process limit).
 * A value of 0 means 'unlimited'.
 */
#define MAX_MALLOCED         @val_max_malloced@


/* --- Interpreter --- */

/* Define STRICT_EUIDS if the driver is to enforce the use of euids,
 * ie. load_object() and clone_object() require the current object to
 * have a non-zero euid.
 */
@cdef_strict_euids@ STRICT_EUIDS

/* Maximum number of evaluated nodes/loop.
 * If this is exceeded, the current function is halted.
 */
#define MAX_COST             @val_max_cost@


/* --- Communication --- */

/* Define what port number the game is to use.
 */
#define PORTNO               @val_portno@

/* Define this to the port on which the driver can receive UDP message.
 * If set to -1, the port will not be opened unless the mud is given a valid
 * port number on startup with the -u commandline option.
 */
#define UDP_PORT             @val_udp_port@

/* Maximum numbers of ports the GD accepts connections to.
 */
#define MAXNUMPORTS          @val_maxnumports@

/* Should code for the external request demon be included?
 */
@cdef_erq_demon@ ERQ_DEMON

/* Maximum sizes for an erq send or reply.
 */
#define ERQ_MAX_REPLY @val_erq_max_reply@
#define ERQ_MAX_SEND  @val_erq_max_send@

/* Define this if you want IPv6 support (assuming that your host
 * actually offers this.
 */
@cdef_use_ipv6@ USE_IPV6

/* If you want to use threads to write the data to the sockets
 * define USE_PTHREADS.
 * WARNING: This feature is HIGHLY ALPHA and can crash the driver!
 */

@cdef_use_pthreads@ USE_PTHREADS

/* When USE_PTHREADS is used, define this to the maximum amount of data
 * to be held pending for writing.
 * A value of 0 means 'unlimited'.
 */
#define PTHREAD_WRITE_MAX_SIZE @val_pthreads_write_max_size@


/* ----------- Compilation Options ----------
 * To change these options, the config.h must be recreated and the
 * driver recompiled.
 */

/* Define COMPAT_MODE if you are using the 2.4.5 mudlib or one of its
 * derivatives.
 * TODO: Make this a runtime option.
 */
@cdef_compat_mode@ COMPAT_MODE

/* The name of the master object.
 */
#define MASTER_NAME              @val_master_name@

/* Define this to annotate all allocations with file:line of the driver
 * source responsible for it.
 * Supported by: MALLOC_smalloc
 */
@cdef_malloc_trace@ MALLOC_TRACE

/* Define this to annotate all allocations with file:line of the lpc program
 * responsible for it.
 * Supported by: MALLOC_smalloc
 */
@cdef_malloc_lpc_trace@ MALLOC_LPC_TRACE

/* Trace the most recently executed bytecode instructions?
 */
@cdef_trace_code@ TRACE_CODE

/* If using TRACE_CODE , how many instructions should be kept?
 */
#define TOTAL_TRACE_LENGTH      @val_total_trace_length@

/* Runtime statistics:
 *  COMM_STAT: count number and size of outgoing packets.
 *  APPLY_CACHE_STAT: count number of hits and misses in the apply cache.
 */
@cdef_comm_stat@ COMM_STAT
@cdef_apply_cache_stat@ APPLY_CACHE_STAT

/* The name of the swapfile used by the driver to swap out objects (if
 * enabled), relative to the mudlib directory. The driver will append
 * '.<hostname>' to the file.
 */
#define SWAP_FILE                 @val_swap_file@


/* --- Wizlist --- */

/* Where to save the WIZLIST information.
 * If not defined, and neither given on the commandline, the driver will
 * not read the WIZLIST file.
 */
@cdef_wizlist_file@ WIZLIST_FILE  @val_wizlist_file@


/* --- Access Control --- */
/* #define ACCESS_CONTROL if you want the driver to do any access control.
 * TODO: Make this a runtime option.
 */
@cdef_access_control@ ACCESS_CONTROL

/* file for access permissions data */
/* TODO: Make this a runtime option */
#define ACCESS_FILE               @val_access_file@

/* logfile to show valid and rejected connections
 * simple not define this for NO logs
 * TODO: Make this a runtime option.
 */
@cdef_access_log@ ACCESS_LOG      @val_access_log@


/* --- Language --- */

/* Define SUPPLY_PARSE_COMMAND if you want the efun parse_command.
 * If you don't need it, better #undef it, lest some new wiz can inadvertly
 * crash your mud or make it leak memory.
 */
@cdef_supply_parse_command@ SUPPLY_PARSE_COMMAND

/* Define INITIALIZATION_BY___INIT if you want all initializations of variables
 * to be suspended till the object is created ( as supposed to initialization
 * at compile time; the latter is more memory efficient for loading and faster
 * at cloning, while the former allows to use efuns, e.g. shutdown().
 */
@cdef_initialization_by___init@ INITIALIZATION_BY___INIT

/* Define USE_SYSTEM_CRYPT if you want crypt() to be implemented by your
 * operating system (assuming it offers this function). This makes your
 * programm smaller and may even let you take advantage of improvements
 * of your OS, but may also prohibit transporting encrypted date like
 * passwords between different systems.
 * Undefine USE_SYSTEM_CRYPT if you want to use the driver's portable
 * crypt() implementation.
 */
@cdef_use_system_crypt@ USE_SYSTEM_CRYPT

/* Define this if you want the 'nosave' keyword.
 */
@cdef_lpc_nosave@ USE_LPC_NOSAVE

/* Define this if you want mySQL support (assuming that your host
 * actually offers this.
 */
@cdef_use_mysql@ USE_MYSQL

/* Define this if you want the obsolete and deprecated efuns.
 */
@cdef_use_deprecated@ USE_DEPRECATED

/* Define USE_PCRE if you want to use perl compatible regexp with
 * your driver. This feature requires Fiona@Wunderland's pcre driver patch
 * and PCRE installed on the machine.
 */
@cdef_use_pcre@ USE_PCRE

/* Define USE_SET_LIGHT if you want to use the efun set_light() and the
 * driver-provided light system.
 */
@cdef_use_set_light@ USE_SET_LIGHT

/* Define USE_SET_IS_WIZARD if you want to use the efun set_is_wizard().
 */
@cdef_use_set_is_wizard@ USE_SET_IS_WIZARD

/* Define USE_PROCESS_STRING if you want to use the efun process_string().
 */
@cdef_use_process_string@ USE_PROCESS_STRING


/* --- Runtime limits --- */

/* Maximum size of a socket send buffer.
 */
#define SET_BUFFER_SIZE_MAX      @val_set_buffer_size_max@

/* CATCH_RESERVED_COST is added to the eval cost for the time executing code
 * guarded by a catch() statement, so that an eval_cost-too-big error can
 * still be caught and handled.
 *
 * To catch an eval_cost too big error in an object that called recursive
 * master functions, CATCH_RESERVED_COST should be greater than
 * MASTER_RESERVED_COST * 2.
 * TODO: Check that at runtime.
 */
#define CATCH_RESERVED_COST       @val_catch_reserved_cost@

/* MASTER_RESERVED_COST is the total reserve available for master applies.
 * It is halved for every recursion into another master apply.
 */
#define MASTER_RESERVED_COST    @val_master_reserved_cost@ /* must be power of 2 */
/* TODO: Check that at runtime */

/* If this is defined, expensive operations like string additions
 * receive additional evalcosts depending on the amount of data handled.
 */
@cdef_dynamic_costs@ DYNAMIC_COSTS

/* Define the maximum stack size of the stack machine. This stack will also
 * contain all local variables and arguments.
 */
#define EVALUATOR_STACK_SIZE      @val_evaluator_stack_size@

/* Define the maximum call depth for functions.
 * MAX_USER_TRACE is used for for normal program execution, the full
 * MAX_TRACE is only available in error handling.
 */
#define MAX_USER_TRACE              @val_max_user_trace@
#define MAX_TRACE                   @val_max_trace@

/* Maximum number of bits in a bit field. They are stored in printable
 * strings, 6 bits per byte.
 * The limit is more based on considerations of speed than memory
 * consumption.
 */
#define MAX_BITS                  @val_max_bits@

/* Maximum number of players in the game.
 */
#define MAX_PLAYERS                @val_max_players@

/* When uploading files, we want fast response; however, normal players
 * shouldn't be able to hog the system in this way.  Define ALLOWED_ED_CMDS
 * to be the ratio of the no of ed cmds executed per player cmd, and
 * MAX_CMDS_PER_BEAT to be the max no of buffered player commands the
 * system will accept in each heartbeat interval.
 */
#define ALLOWED_ED_CMDS           @val_allowed_ed_cmds@
/* TODO: ALLOWED_ED_CMDS: make this a runtime option */


/* --- Compiler --- */

/* Define the size of the compiler stack. This defines how complex
 * expressions the compiler can parse. The value should be big enough.
 */
#define COMPILER_STACK_SIZE        @val_compiler_stack_size@

/* Max number of local variables in a function.
 */
#define MAX_LOCAL                   @val_max_local@

/* Maximum size of an expanded preprocessor definition.
 */
#define DEFMAX                   @val_defmax@

/* Should newly defined LPC functions be aligned in memory? this costs 1.5
 * bytes on average, but saves some time when searching in case of an
 * apply_low cache function miss.
 */
@cdef_align_functions@ ALIGN_FUNCTIONS


/* --- Internal Tables --- */

/* Define the size of the shared string hash table.  This number needn't
 * be prime, probably between 1000 and 30000; if you set it to about 1/5
 * of the number of distinct strings you have, you will get a hit ratio
 * (number of comparisons to find a string) very close to 1, as found strings
 * are automatically moved to the head of a hash chain.  You will never
 * need more, and you will still get good results with a smaller table.
 * If the size is a power of two, hashing will be faster.
 */
#define HTABLE_SIZE               @val_htable_size@

/* Object hash table size.
 * Define this like you did with the strings; probably set to about 1/4 of
 * the number of objects in a game, as the distribution of accesses to
 * objects is somewhat more uniform than that of strings.
 */
#define OTABLE_SIZE               @val_otable_size@

/* Define the size of the table of defines, reserved words, identifiers
 * and efun names. Should be either several times smaller than HTABLE_SIZE
 * or identical with it.
 */
#define ITABLE_SIZE               @val_itable_size@

/* the number of apply_low cache entries will be 2^APPLY_CACHE_BITS.
 */
#define APPLY_CACHE_BITS            @val_apply_cache_bits@

/* The parameters of the regular expression/result cache.
 * The expression cache uses a hashtable of RXCACHE_TABLE entries.
 * Undefine RXCACHE_TABLE to disable the all regexp caching.
 */
@cdef_rxcache_table@ RXCACHE_TABLE            @val_rxcache_table@

/* --- Profiling ---
 * For profiling of the VM instruction implementations, refer to the Makefile
 */

/* Enable usage statistics of VM instructions.
 * For profiling of the VM instructions themselves, see the Profiling
 * Options in the Makefile.
 */
@cdef_opcprof@ OPCPROF

#ifdef OPCPROF
/* With OPCPROF, the dump of the statistics include the names
 * of the instructions.
 */
@cdef_verbose_opcprof@ VERBOSE_OPCPROF
#endif


/* --- Standard Debugging --- */

/* Enable basic run time sanity checks. This will use more time
 * and space, but nevertheless you are strongly encouraged to keep
 * it defined.
 */
@cdef_debug@ DEBUG

/* Enable debug output from the LPC compiler.
 */
@cdef_yydebug@ YYDEBUG

/* Disable inlining.
 */
@cdef_no_inlines@ NO_INLINES

/* Enable the shared string checking (enables commandline option
 * --check-strings).
 */
@cdef_check_strings@ CHECK_STRINGS

/* Shared strings are never really freed.
 */
@cdef_keep_strings@ KEEP_STRINGS

/* Activate debug prints in the telnet machine.
 */
@cdef_debug_telnet@ DEBUG_TELNET

/* Activate allocation debug prints in the smalloc module.
 */
@cdef_debug_smalloc_allocs@ DEBUG_SMALLOC_ALLOCS

/* The DEBUG level for the ERQ daemon:
 *  0 : no debug output
 *  1 : standard debug output
 *  2 : verbose debug output
 */
#define ERQ_DEBUG @val_erq_debug@


/* --- Specific Debugging ---
 * These options have been introduced to debug specific problems and will
 * be removed again later.
 */

/* Activate object referencing checking code during the GC. It will
 * print error messages to gcout when an object or program is
 * referenced as something else. No penalty for using.
 * Requires MALLOC_TRACE to work. Incompatible with DUMP_GC_REFS.
 */
#ifdef MALLOC_TRACE
@cdef_check_object_gc_ref@ CHECK_OBJECT_GC_REF
#endif

/* Activate total smalloc size consistency check code. This will produce
 * a lot of output in the GC log.
 */
@cdef_check_smalloc_total@ CHECK_SMALLOC_TOTAL

/* Sometimes the GC stumbles over invalid references to memory
 * blocks (namely 'Program referenced as something else'). Define
 * this macro to get a detailed dump of all found references
 * (Warning: LOTS of output!). Incompatible with CHECK_OBJECT_GC_REF.
 */
@cdef_dump_gc_refs@ DUMP_GC_REFS

#endif /* CONFIG_H__ */