#ifndef _INCL_MUD_H /* MUD version */ extern char version[]; /* how an object is stored. just a vector of attributes */ typedef struct { unsigned ocnt; /* attribute count */ char **oap; /* list of object attributes */ } Obj; /* some machines have malloc use void pointers. bloody standards puke */ #ifdef MALL_IS_VOID typedef void *mall_t; #else typedef char *mall_t; #endif /* forward decl malloc */ extern mall_t malloc(); extern mall_t realloc(); #ifdef SIG_IS_VOID typedef void (*sig_t)(); #else typedef int (*sig_t)(); #endif /* MUD-server state access functions (from 'mud.c') */ extern char *mud_getname(); extern int cron_quantum; /* LOW-level object manipulation functions (from 'obj.c') */ extern char *objattr(); extern Obj *objnew(); extern void objfree(); extern int objsetattr(); extern int objunsetattr(); extern int objstuffattr(); extern char *attdata(); extern int attistype(); /* memory allocation stuff (from 'alloc.c') */ extern void tmp_sync(); extern mall_t tmpalloc(); extern void deferfree(); /* system in-memory macro table stuff (from 'sym.c') */ extern void syminit(); extern int symdef(); extern char *symlook(); extern int symundef(); /* utility object/attribute manipulation functions (from 'objutil.c') typically these are more useful than the lower-level stuff above for writing user-applications and commands. */ extern int att_objcmp(); extern int att_isgoodobjid(); extern char *ut_getatt(); extern int ut_getnum(); extern int ut_setnum(); extern int ut_iswiz(); extern int ut_isplayer(); extern int ut_delocaliz(); extern int ut_isgoodid(); extern int ut_isobjown(); extern int ut_listadd(); extern int ut_listdel(); extern void ut_lookat(); extern int ut_objcmp(); extern int ut_objnew(); extern char *ut_name(); /* object's location */ extern char *ut_loc(); /* object's name */ extern char *ut_dropto(); /* return room or dropto */ extern int ut_home(); /* object's home */ extern void ut_roombcast(); extern int ut_setpass(); extern int att_set(); /* attribute functions (from 'vars.c') */ extern int var_ispriv(); extern int var_ispublic(); extern char *var_namatch(); /* cache access/update functions (from 'cache.c') */ extern int cache_init(); extern int cache_sync(); extern Obj *cache_get(); extern int cache_put(); extern int cache_check(); extern void cache_reset(); /* list manipulation functions (from 'list.c') */ extern char *lstadd(); extern char *lstdel(); extern char *lstmerge(); extern char *lstnext(); extern int lstlook(); extern int lstcnt(); /* OIF functions (from 'oif.c') */ extern Obj *oiffromFILE(); extern int oiftoFILE(); extern Obj *oiffromSTRING(); extern int oiftoSTRING(); extern int oif_objsiz(); extern void oiftowho(); #ifdef COMPRESS_OIF extern void comp_init(); extern void comp_on(); #endif /* DBM-based db routines (from 'DB/dbmchunk.c') */ #ifdef DB_DBMFILE extern int cmd__dddbconfig(); extern int dddb_backup(); extern int dddb_check(); extern int dddb_close(); extern int dddb_del(); extern Obj *dddb_get(); extern int dddb_init(); extern int dddb_initted(); extern int dddb_put(); extern int dddb_setbsiz(); extern int dddb_setfile(); extern int dddb_travend(); extern int dddb_traverse(); extern int dddb_travstart(); #endif /* GDBM-based routines (from 'DB/gdbmchunk.c') */ #ifdef DB_GDBMFILE extern int cmd__dgdbconfig(); extern int dgdb_backup(); extern int dgdb_check(); extern int dgdb_close(); extern int dgdb_del(); extern Obj *dgdb_get(); extern int dgdb_init(); extern int dgdb_initted(); extern int dgdb_put(); extern int dgdb_setfile(); extern int dgdb_travend(); extern int dgdb_traverse(); extern int dgdb_travstart(); #endif /* hashed directory routines (from 'DB/hashdir.c') */ #ifdef DB_DIRHASH extern int cmd__dhdbconfig(); extern int dhdb_backup(); extern int dhdb_check(); extern int dhdb_close(); extern int dhdb_del(); extern Obj *dhdb_get(); extern int dhdb_init(); extern int dhdb_initted(); extern int dhdb_put(); extern int dhdb_sethpath(); extern int dhdb_sethsiz(); extern int dhdb_travend(); extern int dhdb_traverse(); extern int dhdb_travstart(); #endif /* "lookat" code (from 'look.c') */ extern void lookat(); /* boolean code (from 'bool.c') */ extern int bool_eval(); extern int bool_locked(); /* evaluate boolean lock */ extern int bool_syntax(); /* check a lock's syntax */ /* output to a player through the network layer (in 'tcpio.c') */ extern int io_init(); extern void io_sync(); extern void say(); extern void io_logoff(); extern void welcome(); /* called by I/O code during login */ extern void goodbye(); /* called by I/O code during hangup */ extern int login(); /* called by I/O code during login */ extern void io_rstnxtwho(); /* reset WHO list traverse */ extern char *io_nxtwho(); /* WHO list traverse */ /* runtime support. (in 'run.c') */ extern char *run_actor(); /* object ID of player running */ extern int run_level(); /* recursion depth */ extern int run(); extern int run_tokenize(); /* activation of ofail/fail/ etc */ #define ACTIV_BCAST 0 /* if found, send to whole room */ #define ACTIV_PONLY 1 /* if found, send tO who only */ #define ACTIV_ECAST 2 /* if found, send to room, not player */ extern int activate(); /* sending objects home (or limbo) */ #define CONTENTS_HOME 1 /* send contents of object to their homes */ #define DEFAULT_LIMBO 2 /* send object to limbo if home = location */ extern int home_object(); /* misc utility functions */ extern void logf(); extern void logf_close(); extern int logf_open(); extern void fatal(); extern void rot_init(); extern void rot_encode(); extern void rot_decode(); extern int get_random(); extern unsigned int objid_hash(); extern int say_file(); /* dump a file to the player */ extern char *itoa(); /* int to ascii */ #define _INCL_MUD_H #endif