lpmoo-1.2/etc/
lpmoo-1.2/mudlib/
lpmoo-1.2/mudlib/etc/
lpmoo-1.2/mudlib/include/
lpmoo-1.2/mudlib/include/moo/
lpmoo-1.2/mudlib/lpc/
lpmoo-1.2/mudlib/std/auto/
lpmoo-1.2/mudlib/std/bfuns/
/*
 * 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]; }