/* $Header: /belch_a/users/rearl/tinymuck/include/RCS/interface.h,v 1.2 90/07/19 23:14:38 casie Exp $ * $Log: interface.h,v $ * Revision 1.2 90/07/19 23:14:38 casie * Removed log comments from top. * * */ #include "copyright.h" #include "db.h" #include <sys/time.h> #ifdef RSAIX #include <time.h> #endif #ifdef BSD42 #include <sys/types.h> #endif /* these symbols must be defined by the interface */ extern int notify(dbref, const char *); extern int shutdown_flag; /* if non-zero, interface should shut down */ extern void emergency_shutdown(void); extern int boot_off(dbref); extern int check_awake(dbref); extern time_t startup_time; extern int errno; /* the following symbols are provided by game.c */ extern dbref global_trigger; /* the following symbols are provided by muck_strftime.c */ extern size_t muck_strftime(char *, size_t, const char *, time_t); /* max length of command argument to process_command */ #define MAX_COMMAND_LEN 1024 #define BUFFER_LEN ((MAX_COMMAND_LEN)*8) extern void process_command(dbref, const char *, dbref, int); extern int do_act(dbref, const char *, dbref); extern dbref create_player(const char *, const char *); extern dbref connect_player(const char *, const char *); extern void do_look_around(dbref); extern int init_game(const char *, const char *); extern void dump_database(); extern void panic(const char *); extern char buf[BUFFER_LEN]; /* from fifoq.c */ extern int gotio; /* from stringutil.c */ extern char * alloc_string(const char *); struct text_block { int nchars; struct text_block *nxt; char *start; char *buf; }; struct text_queue { struct text_block *head; struct text_block **tail; }; struct descriptor_data { int descriptor; int connected; dbref player; char *output_prefix; char *output_suffix; int output_size; struct text_queue output; struct text_queue input; char *raw_input; char *raw_input_at; long last_time; long connected_at; const char *hostname; int quota; struct descriptor_data *next; struct descriptor_data **prev; }; extern struct descriptor_data *descriptor_list;