#ifndef _EXTERNS_H_1b733f9b_ #define _EXTERNS_H_1b733f9b_ /* This software is Copyright 1989, 1990, 1992, 1993 by various individuals. Please see the accompanying file COPYRIGHT for details. */ #include #include #include "db.h" #include "str.h" #include "match.h" #include "config.h" #include "interface.h" #define malloc(nb) muck_malloc(nb,__FILE__,__LINE__) #define malloc_roundup(nb,sp) muck_malloc_roundup(nb,sp,__FILE__,__LINE__) #define realloc(old,nb) muck_realloc(old,nb,__FILE__,__LINE__) #define calloc(n1,n2) muck_calloc(n1,n2,__FILE__,__LINE__) #define free(old) muck_free(old,__FILE__,__LINE__) #define cfree(old) muck_cfree(old,__FILE__,__LINE__) /* cfree is a kludge to shut up gcc -Wcast-qual */ extern void *muck_malloc(int, const char *, int); extern void *muck_malloc_roundup(int, int *, const char *, int); extern void *muck_realloc(void *, int, const char *, int); extern void *muck_calloc(int, int, const char *, int); extern void muck_free(void *, const char *, int); extern void muck_cfree(const void *, const char *, int); #define dup_string(s) dup_string_(s,__FILE__,__LINE__) extern char *dup_string_(const char *, const char *, int); /* Prototypes for externs not defined elsewhere */ extern struct flagname flagnames[]; extern struct flagname1 flagname1s[]; /* From boolexp.c */ extern int eval_boolexp(dbref, dbref, struct boolexp *, dbref); extern struct boolexp *parse_boolexp(dbref, const char *); extern struct boolexp *copy_bool(struct boolexp *); extern void free_boolexp(struct boolexp *); extern void write_boolexp_param(FILE *, const char *); extern char *read_boolexp_param(FILE *); /* From compile.c */ extern void free_prog(dbref); extern void do_compile(dbref, dbref, dbref); extern void clear_primitives(void); extern void init_primitives(void); extern void free_code(struct inst *, int); extern void free_stab(struct stab *, int); extern struct stab *findstab(dbref, int); /* From create.c */ extern int exit_loop_check(dbref, dbref); extern void set_source(dbref, dbref, dbref); extern void do_open(dbref, const char *, const char *); extern void do_link(dbref, const char *, const char *); extern void do_dig(dbref, const char *, const char *); extern void do_create(dbref, char *, int); extern void do_prog(dbref, const char *); extern void do_edit(dbref, const char *); extern void do_action(dbref, const char *, const char *); extern void do_attach(dbref, const char *, const char *); extern int unset_source(dbref, dbref, dbref); struct line *read_program(dbref); /* From daemon.c */ extern void run_dropto(dbref, dbref, dbref); extern void add_daemon(dbref); extern void do_daemon_go(dbref, const char *); extern dbref new_daemon(dbref, dbref, int); extern void remove_daemon(dbref); extern void do_daemon_refresh(dbref, int); extern void launch_daemons(void); extern void do_daemon_ps(dbref, const char *); extern void do_daemon_kill(dbref, char *); extern void do_autostart_exits(void); extern void daemon_set_time(dbref, int); extern void daemon_sleep(dbref, dbref); extern void wakeup_sleepers(dbref); extern dbref head_daemon; extern dbref tail_daemon; /* From db.c */ extern void free_drl_blocks(void); extern void burn_dbref_list(struct dbref_list *); extern struct dbref_list *sort_dbref_list(struct dbref_list *); extern void reset_lists(void); extern void write_program(struct line *first, dbref i); extern struct line *get_new_line(void); extern void free_prog_text(struct line *); extern void remove_proglock(dbref, dbref); extern void add_proglock(dbref, dbref, int); extern int check_proglock(dbref, int); extern void burn_proglocks(dbref); extern void remove_backlinks(dbref, dbref); extern void add_backlink(dbref, dbref); extern void remove_backlocks(dbref, dbref); extern void add_backlock(dbref, dbref); extern void remove_backprop(dbref, dbref); extern void add_backprop(dbref, dbref); extern void add_ownerlist(dbref); extern void remove_ownerlist(dbref); extern int number(const char *); extern void putproperties(FILE *, struct plist *); extern void free_line(struct line *); extern void db_free_object(dbref); extern void db_clear_object(dbref); extern void macrodump(struct macrotable *, FILE *); extern void macroload(FILE *); extern int check_password(const char *, dbref); extern char *make_password(const char *); extern void add_backlocks_parse(dbref, struct boolexp *); extern void remove_backlocks_parse(dbref, struct boolexp *); extern void rec_bubble_down(int); /* From dbck.c */ extern void do_dbck(dbref, const char *); /* From debug.c */ extern void do_debug(dbref, const char *, const char *, const char *); /* From disassem.c */ extern void disassemble(dbref, dbref, int [], int); /* From edit.c */ extern void announce_status(char *); extern void interactive(dbref, const char *); extern struct macrotable *new_macro(const char *, const char *, dbref); extern void free_macros(void); extern void match_and_list(dbref, const char *, char *); extern char *macro_expansion(struct macrotable *node, char *match); /* From game.c */ extern void do_dump(dbref, const char *, const char *); extern void do_shutdown(dbref); /* From hashtab.c */ extern hash_data *find_hash(const char *, hash_tab *, unsigned int); extern hash_entry *add_hash(const char *, hash_data, hash_tab *, unsigned int); extern int free_hash(const char *, hash_tab *, unsigned int); extern void kill_hash(hash_tab *, unsigned int); /* From help.c */ extern void spit_file(dbref, const char *); extern void do_help(dbref, const char *, const char *, const char *, const char *); /* From interface.c */ extern void newcon_warn_set(const char *); extern void newcon_check(void); extern char *time_format_1(long int); extern char *time_format_2(long int); extern char *time_format_3(long int); extern void queue_write(struct descriptor_data *, const void *, int); extern void shutdownsock(struct descriptor_data *); extern int notify(dbref, const char *); extern int notify_str(dbref, STR); extern int notify_nnl(dbref, const char *); extern int dboot_off(int); extern void queue_string(struct descriptor_data *, const char *); extern int process_output(struct descriptor_data *); extern void save_command(struct descriptor_data *, const void *); extern void cmdring_dump(int); #ifdef BUILTIN_WHO extern void do_who(dbref, char *, char *); #endif /* From interp.c */ extern struct frame *allframes; extern struct frame *new_frame(void); extern void interp_set_err(void); extern void interp_set_fatal_err(void); extern int interp_errored(void); extern int unconnected_interp(int, dbref, dbref, const char *, const char *); extern void prog_abort(dbref); extern void prog_abort_frame(dbref); extern int interp(dbref, dbref, dbref, const char *, struct inst); extern int interp_with_me(dbref, dbref, dbref, dbref, const char *, struct inst); extern void interp_resume(dbref); extern void free_stackframe(struct frame *); extern struct inst makeinst(int, ...); extern struct inst makearray(int, ...); extern void init_variables(struct frame *, struct inst, struct inst, struct inst, struct inst); extern long ilimit; /* From log.c */ extern void log_status(const char *, ...); extern void log_money(const char *, ...); extern void log_conc(const char *, ...); extern void log_muf(const char *, ...); extern void log_gripe(const char *, ...); extern void log_command(const char *, ...); /* From look.c */ extern void do_score(dbref); extern void do_at_examine(dbref, const char *, const char *); extern void look_room(dbref, dbref); extern void do_look_around(dbref); extern void do_look_at(dbref, const char *); extern void do_properties(dbref, const char *, const char *); extern void do_nproperties(dbref, const char *, const char *); extern void do_contents(dbref, const char *, const char *); extern void do_exits(dbref, const char *, const char *); extern void do_examine(dbref, const char *, const char *); extern void do_inventory(dbref); extern void do_find(dbref, const char *); extern void do_owned(dbref, const char *, const char *); extern void do_trace(dbref, const char *, int ); extern void exec_or_notify(dbref, dbref, const char *); extern void exec_or_notify_str(dbref, dbref, STR); extern const char *flag_description(dbref); /* From malloc.c */ extern void setpanicmalloc(void); extern void malloc_leakcheck(void); /* From match.c */ extern void match_exits(dbref, struct match_data *); /* From move.c */ extern const char *find_default_msg(const char *, dbref, const char *); extern void send_contents(dbref, dbref); extern void moveto(dbref, dbref); extern void enter_room(dbref, dbref, dbref); extern void send_home(dbref); extern int parent_loop_check(dbref, dbref); extern int can_move(dbref, const char *); extern void do_move(dbref, const char *); extern void do_get(dbref, const char *); extern void do_drop(dbref, const char *); extern void do_recycle(dbref, const char *); extern int no_autolook(dbref, dbref); extern void trigger(dbref, dbref, int, const char *, const char *); /* From p_objects.c */ extern void clearforce(void); /* From player.c */ extern void clear_players(void); extern dbref lookup_player(const char *); extern void do_password(dbref, const char *, const char *); extern void add_player(dbref); extern void delete_player(dbref); extern void do_player_setuid(dbref, const char *, const char *); extern int awake_count(dbref); extern void set_last(dbref, const char *); /* From predicates.c */ extern int ok_player_name(const char *); extern int ok_password(const char *); extern int ok_prop_name(const char *); extern int can_link_to(dbref, object_flag_type, dbref); extern int can_link(dbref, dbref); extern int could_doit(dbref, dbref); extern int can_doit(dbref, dbref, const char *); extern int can_see(dbref, dbref, int); extern int controls(dbref, dbref); extern int restricted(dbref, dbref, object_flag_type); extern int payfor(dbref, int, const char *, ...) __attribute__((__format__(__printf__,3,4))); extern void add_pennies(dbref, int, const char *, ...) __attribute__((__format__(__printf__,3,4))); extern int ok_name(const char *); extern void do_list(dbref, dbref, int [], int); /* From quota.c */ extern int quota_room(dbref, int, int); /* From recycle.c */ extern void muf_recycle(dbref, dbref); extern void recycle(dbref, dbref, int); /* From regexp_m.c */ extern regexp *m_regcomp(const char *); extern const char *m_regerror(void); /* From rob.c */ extern void do_kill(dbref, const char *, int); extern void do_give(dbref, const char *, int); extern void do_rob(dbref, const char *); /* From set.c */ extern void do_name(dbref, const char *, char *); extern void do_describe(dbref, const char *, const char *); extern void do_fail(dbref, const char *, const char *); extern void do_success(dbref, const char *, const char *); extern void do_drop_message(dbref, const char *, const char *); extern void do_osuccess(dbref, const char *, const char *); extern void do_ofail(dbref, const char *, const char *); extern void do_odrop(dbref, const char *, const char *); extern void do_lock(dbref, const char *, const char *); extern void do_unlock(dbref, const char *); extern void do_unlink(dbref, const char *); extern void do_chown(dbref, const char *, const char *); extern void do_set(dbref, const char *, const char *); extern void do_nset(dbref, const char *, const char *); extern void do_unsetall(dbref, const char *); /* From speech.c */ extern void do_whisper(dbref, const char *, const char *); extern void do_pose(dbref, const char *); extern void do_wall(dbref, const char *); extern void do_gripe(dbref, const char *); extern void do_say(dbref, const char *); extern void do_page(dbref, const char *, const char *); extern void notify_except(dbref, dbref, dbref, const char *); extern int notify_listener(dbref, dbref, const char *); void listener_sweep(dbref, dbref, const char *); /* From str.c and str-core-*.c */ #define fetch_str(s) fetch_str_(s,__FILE__,__LINE__) extern char *fetch_str_(STR, const char *, int); /*extern char *fetch_str(STR);*/ extern STR store_str(const char *); extern void fputs_str(STR, FILE *); extern void free_str(STR); extern STR unfputs_str(char *); extern void str_print(char *); extern STR copy_str(STR); extern void newdb_str_read(void); extern void newdb_str_write(void); extern void init_str(int); extern void close_str(void); extern int str_memusage(STR); extern void record_string(const char *); extern void dump_strings(void); /* From stringutil.c */ extern char downcase(char) attribute ((const)); extern int string_compare(const char *, const char *); extern int string_n_compare(const char *, const char *, int); extern int cibcmp(const void *, const void *, int); extern int string_prefix(const char *, const char *); extern const char *string_match(const char *, const char *); extern char *pronoun_substitute(dbref, const char *); extern char *pronoun_substitute_str(dbref, STR); extern void lowerstring(char *); extern void upperstring(char *); extern char *splitstring(char *, char); extern unsigned long int strhash(const char *); extern unsigned long int crctable[]; extern const char *mufquad_to_str(MUFQUAD); extern MUFQUAD str_to_mufquad(const char *); /* From time.c */ extern unsigned long int curtm(void); extern void set_alarm(int); extern void set_alarm_handler(void (*)(int)); extern void block_alarm(void); extern void unblock_alarm(void); extern void nap(double); /* From unparse.c */ extern const char *unparse_flags(dbref); extern const char *unparse_owner(dbref); extern const char *unparse_object(dbref, dbref); extern const char *unparse_boolexp(dbref, struct boolexp *); extern const char *unparse_boolexp_lock(struct boolexp *); extern object_flag_type lookup_flag_by_name(const char *, dbref); /* From utils.c */ #include "utils.h" /* From wiz.c */ extern void run_global_hook(dbref, const char *, const char *, struct inst); extern int no_teleport_zone(dbref); extern void do_newpassword(dbref, const char *, const char *); extern void do_newpwhash(dbref, const char *, const char *); extern void do_teleport(dbref, const char *, const char *); extern void do_force(dbref, const char *, char *); extern void do_stats(dbref, const char *); extern void do_config(dbref); extern void init_stat_time(void); extern void do_toad(dbref, const char *, const char *); extern void do_boot(dbref, const char *); extern void do_memused(dbref, const char *); extern void do_mfilesweep(dbref); extern void do_sortprops(dbref); extern void do_backprops(dbref, const char *); #ifdef REGISTRATION extern void do_pcreate(dbref, const char *, const char *); #endif /* REGISTRATION */ extern int dbref_list_memused(const struct dbref_list *); extern int boolexp_memused(const struct boolexp *); extern int framestack_memused(const struct frame *); extern int codevec_memused(const struct inst *, int); extern int stabvec_memused(const struct stab *, int); extern int inst_memused(const struct inst *); #endif