#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 #ifndef DONT_REDEFINE_MALLOC_DAMMIT /* forward decl malloc */ extern mall_t malloc(); extern mall_t realloc(); #endif #ifdef SIG_IS_VOID typedef void (*sig_t)(); #else typedef int (*sig_t)(); #endif /* error codes */ #define UERR_NONE 0 #define UERR_FATAL 1 /* interpreter barf */ #define UERR_USER 2 /* user error */ #define UERR_TYPE 3 /* type mismatch */ #define UERR_ZDIV 4 /* division by zero */ #define UERR_BADOID 5 /* illegal object ID */ #define UERR_BADLST 6 /* bad list */ #define UERR_ILLASGN 7 /* illegal assignment */ #define UERR_NOATTR 8 /* no such attribute */ #define UERR_NOFUNC 9 /* no such function */ #define UERR_SYNTAX 10 /* syntax error */ #define UERR_PERM 11 /* permission denied */ #define UERR_ARGCNT 12 /* too many parameters */ #define UERR_BADPARM 13 /* illegal parameters */ #define UERR_NOMATCH 14 /* no match */ /* error code strings */ extern char *mud_errtxt(); /* 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 char *tmpstr(); extern void deferfree(); /* 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 char *ut_getatt(); extern int ut_getnum(); extern int ut_setnum(); extern int ut_delocaliz(); extern int ut_isgoodid(); extern int ut_isobjown(); extern int ut_listadd(); extern int ut_listdel(); 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(); /* attribute functions (from 'vars.c') */ extern int var_ispublic(); extern char *var_namatch(); extern void fndvnam(); extern int fndtyp(); /* 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 *lstnext(); extern char *lstnextsbuf(); 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 'do_look.c') */ extern int do_examine(); extern void lookat(); extern int say_attribute(); /* 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 */ /* parser support (in 'U/uinterp.y') */ extern void parser_setinput(); extern int parser_compile(); extern int parser_run(); extern void eval_cmd_returnint(); extern void eval_cmd_returnstr(); extern void eval_cmd_returnoid(); /* runtime support. (in 'run.c') */ extern char *run_actor(); /* object ID of player running */ extern int run_level(); /* recursion depth */ extern int add_run_level();/* increase recursion depth */ extern void run_setactor(); extern int run(); extern int run_tokenize(); extern int enargv(); /* 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 */ /* This is static in CMD/destroy.c, and not referenced anywhere else? -Devin */ /* 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