/*
 * This file specifies types and arguments for efuns.
 * An argument can have two different types with the syntax 'type1 | type2'.
 * An argument is marked as optional if it also takes the type 'void'.
 */

/* locally added efuns */
void _destruct(object);     /* Destruct object without calling quit() et al */
void _disconnect(object);   /* Close TCP/IP link to this object */
int _isclone(object);       /* Is the object a clone? */
mixed *_query_action(object|string, void|string); /* Get info about actions */
string _query_ident(void|object);  /* Get identification on player */
int  _syslog(string);       /* Log a message in the lpmud.log file */

/* standard efuns */
void add_action(string, void|string, void|int);
void add_verb(string);
void add_worth(int, void|object);
void add_xverb(string);
object *all_inventory(object default: F_THIS_OBJECT);
mixed *allocate(int);
mixed assoc(mixed, mixed *, mixed|void, mixed|void);
void break_point();
unknown call_other(object|string, string, ...);
void call_out(string, int, void|mixed);
mixed *call_out_info();
string capitalize(string);
int cat(string, void|int, void|int);
int cindent(string);
string clear_bit(string, int);
object clone_object(string);
int command(string, void|object);
string crypt(string, string|int);	/* An int as second argument ? */
string ctime(int);
mixed debug_info(int, mixed|void, ...);
object deep_inventory(object);
void destruct(object);
void disable_commands();
void ed(void|string, void|string);
void enable_commands();
object environment(void|object);
int exec(object, object);
string *explode(string, string);
string extract(string, void|int, void|int);
string file_name(object default: F_THIS_OBJECT);
int file_size(string);
mixed *filter_array(mixed *, string, object|string, void|mixed);
int find_call_out(string);
object find_living(string);
object find_object(string);
object find_player(string);
string function_exists(string, object default: F_THIS_OBJECT);
string implode(string *, string);
void input_to(string, void|int);
mixed insert_alist(mixed, mixed, ...);
int interactive(object default: F_THIS_OBJECT);
mixed *intersect_alist(mixed *,mixed *);
int intp(mixed);
int living(object);
void localcmd();
void log_file(string, string);
string lower_case(string);
string *get_dir(string);
mixed *map_array(mixed *, string, object|string, void|mixed);
int member_array(mixed, mixed *);
int mkdir(string);
void move_object(object|string, object|string);
void notify_fail(string);
int objectp(mixed);
mixed *order_alist(mixed *, void|mixed *, ...);
int pointerp(mixed);
object present(object|string, void|object);
object previous_object();
string process_string(string);
string query_host_name();
int query_idle(object);
string query_ip_name(void|object);
string query_ip_number(void|object);
string query_load_average();
object query_snoop(object);
string query_verb();
int random(int);
string read_bytes(string, void|int, void|int);
string read_file(string, void|int, void|int);
string *regexp(string *, string);
int remove_call_out(string);
int restore_object(string);
int rm(string);
void rmdir(string);
string rusage();
void save_object(string);
void say(string|mixed *, void|object|object *);
string set_bit(string, int);
int set_heart_beat(int);
int set_light(int);
void set_living_name(string);
object shadow(object, int);
void shout(string);
void shutdown();
int sizeof(mixed *);
object snoop(void|object, void|object);
mixed *sort_array(mixed *,string,object|string default: F_THIS_OBJECT);
int stringp(mixed);
int strlen(string);
void swap(object);		/* Only used for debugging */
void tail(string);
void tell_object(object, string);
void tell_room(object|string, string, void|object *);
int test_bit(string, int);
object this_object();
object this_player(void|int);
void throw(mixed);
int time();
int trace(int);
string traceprefix(string|int);
mixed *unique_array(mixed *, string, void|mixed);
object *users();
string version();
void wizlist(void|string);
void write(mixed);
int write_bytes(string, int, string);
int write_file(string, string);
string *inherit_list(object default: F_THIS_OBJECT);
string creator(object);
int transfer(object, object|string);
string create_wizard(string, void|string);
object first_inventory(object|string default: F_THIS_OBJECT);
object next_inventory(object default: F_THIS_OBJECT);
