/*
* NAME: config.c
* DESCRIPTION: runtime configuration object
*/
# include <moo/config.h>
# include <dgd/limits.h>
# include <version.h>
mixed *config;
# define TRUE 1
# define FALSE 0
# define YES TRUE
# define NO FALSE
# define NONE FALSE
/*
* NAME: ports()
* DESCRIPTION: return the telnet and binary ports from DGD's config file
*/
private
int *ports(void)
{
int telnet_port;
int binary_port;
string directory;
int users;
int editors;
string ed_tmpfile;
string swap_file;
int swap_size;
int cache_size;
int sector_size;
int swap_fragment;
int static_chunk;
int dynamic_chunk;
string dump_file;
int typechecking;
string include_file;
string *include_dirs;
string auto_object;
string driver_object;
string create;
int value_stack;
int reserved_vstack;
int call_stack;
int reserved_cstack;
int max_cost;
int array_size;
int objects;
int call_outs;
# include "/etc/dgd.cf"
return ({ telnet_port, binary_port });
}
/*
* NAME: create()
* DESCRIPTION: initialize the config object
*/
static
void create(void)
{
int eval_backdoor;
string oob_prefix;
int log_commands;
int fg_ticks;
int bg_ticks;
int fg_seconds;
int bg_seconds;
int outbound_net;
int mport_listening;
int server_msgs;
int connect_timeout;
int pattern_cache;
int verb_cache;
int max_verb_depth;
int stack_size;
int swap_interval;
int memory_thresh;
string timezone;
string bootstrap_file;
string checkpoint_file;
string log_file;
string huh_failed_msg;
string *prepositions;
string *protected_bfuns;
# include "/etc/moo.cf"
config = ({ VERSION_MOO, VERSION_LPMOO }) + ports() +
({ eval_backdoor,
oob_prefix,
log_commands,
fg_ticks,
bg_ticks,
fg_seconds,
bg_seconds,
outbound_net,
mport_listening,
server_msgs,
connect_timeout,
pattern_cache,
verb_cache,
max_verb_depth,
stack_size,
swap_interval,
memory_thresh,
timezone,
bootstrap_file,
checkpoint_file,
log_file,
huh_failed_msg,
prepositions,
protected_bfuns,
MAX_EXEC_COST,
});
}
/*
* NAME: query()
* DESCRIPTION: return a configuration value
*/
mixed query(int key)
{ return config[key]; }