#ifndef EXTERNS_H #define EXTERNS_H #include <time.h> #include "copyright.h" #include "db.h" /* Prototypes for externs not defined elsewhere */ extern char match_args[]; /* from db.c */ extern void db_chown(dbref, dbref); extern void add_compost(dbref); extern void add_ownerlist(dbref); extern void remove_ownerlist(dbref); extern int number(char *s); extern void free_line(line *l); extern void db_free_object(dbref i); extern void db_clear_object(dbref i); extern void macrodump(macrotable *node, FILE *f); extern void macroload(); extern int check_password(char *plaintext, dbref player); extern char *make_password(char *plaintext); extern void add_backlocks_parse(dbref, boolexp *); extern void remove_backlocks_parse(dbref, boolexp *); void add_backlinks(dbref); void remove_backlinks(dbref); int db_freeze_object(dbref); object *dbfetch(dbref); void dbdirty(dbref); void dbsync(void); void fix_props_on_garbage(); /* From create.c */ extern void do_open(__DO_PROTO); extern void do_link(__DO_PROTO); extern void do_dig(__DO_PROTO); extern void do_create(__DO_PROTO); extern void do_program(__DO_PROTO); extern void do_mlist(__DO_PROTO); extern void do_edit(__DO_PROTO); extern void do_action(__DO_PROTO); extern void do_attach(__DO_PROTO); line *read_program(dbref i); /* from edit.c */ macrotable *new_macro(char *name, char *definition, dbref player); extern void match_and_list(dbref player, char *name, char *linespec); /* From game.c */ extern void do_dump(__DO_PROTO); extern void do_shutdown(__DO_PROTO); /* From hashtab.c */ extern hash_data *find_hash(register char *s, hash_tab *table, unsigned size); extern hash_entry *add_hash(char *name, hash_data data, hash_tab *table, unsigned size); extern int free_hash(char *name, hash_tab *table, unsigned size); extern void kill_hash(hash_tab * table, unsigned size, int freeptrs); /* From help.c */ extern void spit_file(dbref player, char *filename); extern void do_outputinfo(dbref player, char *, char *, char *, char *); extern void do_help(__DO_PROTO); extern void do_news(__DO_PROTO); extern void do_man(__DO_PROTO); /* From look.c */ extern void look_room(dbref player, dbref room); extern void do_look_around(dbref player); extern void do_look_at(__DO_PROTO); extern void do_properties(__DO_PROTO); extern void do_contents(__DO_PROTO); extern void do_exits(__DO_PROTO); extern void do_examine(__DO_PROTO); extern void do_at_examine(__DO_PROTO); extern void do_inventory(__DO_PROTO); extern void do_find(__DO_PROTO); extern void do_owned(__DO_PROTO); extern void do_score(__DO_PROTO); extern void do_trace(__DO_PROTO); extern void do_version(__DO_PROTO); extern void exec_or_notify(dbref player, dbref thing, char *message); extern char *flag_description(dbref thing); /* From move.c */ extern void moveto(dbref what, dbref where); extern void enter_room(dbref what, dbref where, dbref exit1); extern void send_home(dbref thing); extern int parent_loop_check(dbref source, dbref dest); extern int can_move(dbref player, char *direction); extern void do_earthquake(__DO_PROTO); extern void do_move(__DO_PROTO); extern void do_get(__DO_PROTO); extern void do_drop(__DO_PROTO); extern void do_recycle(__DO_PROTO); /* From player.c */ extern dbref lookup_player(char *name); extern void do_password(__DO_PROTO); extern void add_player(dbref who); extern void delete_player(dbref who); extern void do_player_setuid(__DO_PROTO); extern int awake_count(dbref player); /* From predicates.c */ extern int can_link_to(dbref who, object_flag_type what_type, dbref where); extern int can_link(dbref who, dbref what); extern int could_doit(dbref player, dbref thing); extern int can_doit(dbref player, dbref thing, char *default_fail_msg); extern int can_see(dbref player, dbref thing, int can_see_location); extern int controls(dbref who, dbref what); extern int restricted(dbref player, dbref thing, object_flag_type flag); extern int payfor(dbref who, int cost); /* From rob.c */ extern void do_kill(__DO_PROTO); extern void do_give(__DO_PROTO); extern void do_rob(__DO_PROTO); /* From set.c */ extern dbref match_controlled(dbref player, char *name); extern void do_name(__DO_PROTO); extern void do_describe(__DO_PROTO); extern void do_fail(__DO_PROTO); extern void do_success(__DO_PROTO); extern void do_drop_message(__DO_PROTO); extern void do_osuccess(__DO_PROTO); extern void do_ofail(__DO_PROTO); extern void do_odrop(__DO_PROTO); extern void do_lock(__DO_PROTO); extern void do_unlock(__DO_PROTO); extern void do_unlink(__DO_PROTO); extern void do_chown(__DO_PROTO); extern void do_set(__DO_PROTO); extern void do_perms(__DO_PROTO); /* From speech.c */ extern void do_wall(__DO_PROTO); extern void do_gripe(__DO_PROTO); extern void do_say(__DO_PROTO); extern void do_page(__DO_PROTO); extern void do_pose(__DO_PROTO); extern void do_whisper(__DO_PROTO); extern int notify(dbref, dbref, char *); extern void notify_except(dbref, dbref, dbref, char *); extern int notify_listener(dbref, dbref, dbref, char *); extern void notify_wizards(char *); extern void listener_sweep(dbref, dbref, dbref, char *); /* From stringutil.c */ extern int string_compare(char *, char *); extern int string_prefix(char *, char *); extern char *string_match(char *, char *); extern char *pronoun_substitute(dbref, char *); extern char *dup_string(char *); #define strdup dup_string extern void lowerstring(char *); extern void upperstring(char *); extern char *splitstring(char *, char); extern char *muf_write_reformat(char *msg); char *dup_it(char *string); #ifdef STDC_HEADERS char *tprintf(char *format, ...); #else char *tprintf(); #endif /* From utils.c */ extern int member(dbref, dbref); extern dbref remove_first(dbref, dbref); /* From wiz.c */ extern void do_cache(__DO_PROTO); extern void do_teleport(__DO_PROTO); extern void do_force(__DO_PROTO); extern void do_stats(__DO_PROTO); extern void init_stat_time(void); extern void do_toad(__DO_PROTO); extern void do_trimdb(__DO_PROTO); extern void do_boot(__DO_PROTO); extern void do_pcreate(__DO_PROTO); extern void do_newpassword(__DO_PROTO); extern void do_backlinks(__DO_PROTO); extern void do_backlocks(__DO_PROTO); extern void do_editlocks(__DO_PROTO); extern void do_login(__DO_PROTO); extern void do_reset(__DO_PROTO); extern void do_db_sync(__DO_PROTO); extern void do_db_flush(__DO_PROTO); /* From boolexp.c */ extern int eval_boolexp(dbref, boolexp *, dbref); extern boolexp *parse_boolexp(dbref, char *); extern boolexp *copy_bool(boolexp *); extern void bool_dgsr(boolexp *, dbref, dbref); extern void sanitize_look(boolexp *); /* From unparse.c */ extern char *unparse_name(dbref); extern char *unparse_flags(dbref); extern char *unparse_owner(dbref); extern char *unparse_object_do(dbref, dbref, int); extern char *unparse_boolexp(dbref, boolexp *); #define unparse_object(A,B) unparse_object_do(A,B,1) #define unparse_object_full(A,B) unparse_object_do(A,B,0) /* from property.c */ extern char parse_perms(char *); extern char *unparse_perms(char); /* do not free value returned */ extern char access_rights(dbref, dbref, dbref); extern int add_property(dbref, char *, char *, char, char); extern void burn_proptree(propdir *); extern int remove_property(dbref, char *, char); extern int has_property(dbref, char *, char *, char); extern propdir *find_property(dbref, char *, char); extern int validate_property(dbref, char *, char *, char); extern char *get_property_data(dbref, char *, char); extern void copy_prop(dbref, dbref, char); extern int genderof(dbref, char); extern void notify_propdir(dbref, dbref, char *, char, char); extern void change_perms(dbref, char *, char, char); extern void next_property(char *, dbref, char *, char); extern int has_next_property(dbref, char *, char, int); extern void pdq_burn(); extern int is_propdir(dbref player, dbref object1, char *string, dbref program); void freeze_properties(char *, dbref); propdir *thaw_properties(char *, char); /* From compress.c */ #ifdef COMPRESS extern char *compress(const char *s); extern char *uncompress(const char *s); #endif /* COMPRESS */ /* From edit.c */ extern void interactive(dbref player, char *command); /* From compile.c */ extern void do_uncompile(__DO_PROTO); extern void do_compile(dbref in_player, dbref in_program); extern void clear_primitives(void); extern void init_primitives(void); /* From interp.c */ extern void do_ps(__DO_PROTO); extern void do_go(__DO_PROTO); extern void do_pidkill(__DO_PROTO); extern void prog_clean(frame *); extern void bump_frames(char *, dbref, dbref); extern frame *new_frame(dbref, dbref, dbref, dbref, char); extern void add_frame(frame *); extern void autostart_frames(); extern void run_frames(); extern int run_frame(frame *, int); extern void free_frame(frame *); extern frame *find_frame(int); extern int find_a_frame(int frid); extern long ilimit; /* declared in log.c */ extern void log_error(); extern void log_gripe(); extern void log_muf(); extern void log_conc(); extern void log_other(); /* From clilib.c */ extern int rwhocli_setup(); extern int rwhocli_shutdown(); extern int rwhocli_pingalive(); extern int rwhocli_userlogout(char *uid); extern void rwhocli_update(); extern char localnam[]; /* from dbreflist.c */ void dbreflist_dump(FILE *, dbref_list *); dbref_list *dbreflist_add(dbref_list *, dbref); dbref_list *dbreflist_shuffle(dbref_list *, dbref); dbref_list *dbreflist_remove(dbref_list *, dbref); dbref dbreflist_last(dbref_list *); void dbreflist_burn(dbref_list *); dbref_list *dbreflist_read(FILE *); int dbreflist_find(dbref_list *, dbref); void freeze_dbreflist(char *, dbref_list *); dbref_list *thaw_dbreflist(char *); /* from mush.c */ int nearby(dbref obj1, dbref obj2); int do_act(dbref what, char *command, dbref player); int getrandom(int x); int check_mushact(dbref player, char *command); extern char *parse_up(char **str, char delimit); extern int trigobj(dbref who, char *what, dbref player); dbref short_page(char *match); /* from wild.c */ extern char *wptr[10]; extern int wild_match(char *s, char *d); /* from eval.c */ extern void fval(char *buff, double result); extern void init_func_hashtab(); char *exec(dbref cause, char *str, dbref player, int eflags); char *replace_string(char *old, char *new, char *string); char *atr_get(dbref thing, char *name); char *seek_char(char *s, char c); char *skip_space(char *s); char *upcasestr(char *s); int do_real_open(dbref player, char *direction, char *linkto, dbref pseudo); int do_mush_create(char *arg1, char *arg2, dbref player); int do_mush_dig(char *arg1, char *arg2, dbref player); int safe_chr(char c, char *buf, char **bufp); int local_wild(char *s, char *d, int p, int os); int local_wild_match(char *s, char *d); int GoodObject(dbref object1); int is_number(char *str); int Connected(dbref target); /* from howard.c */ extern void do_fortune(__DO_PROTO); extern void do_load(__DO_PROTO); extern void dump_stats_on_close(); extern void do_xqueue (__DO_PROTO); extern void check_xevents(frame *fr); /* From smatch.c */ extern int equalstr(char *s, char *t); /* From strftime.c */ int format_time(char *buf, int max_len, char *fmt, struct tm * tmval); /* from interface.c */ void warn_users(char *msg); extern int maxplayer; /* from flags.c */ extern FLAG *flag_lookup(char *name, dbref thing); extern int strn_cmp(char *sub, char *string); extern void do_list_flags(__DO_PROTO); /* from mush_cmd.c */ extern void do_mset(__DO_PROTO); /* from config.c */ extern void do_parameter_set(__DO_PROTO); extern void do_prop_load(__DO_PROTO); #endif /* EXTERNS_H */