#ifndef _lint_h_ #define _lint_h_ #include <sys/types.h> #include <unistd.h> #include "master.h" /* * Some structure forward declarations are needed. */ #define DEBUG_CHK_REF 1 #define DEBUG_RESET 2 #define DEBUG_CLEAN_UP 4 #define DEBUG_SWAP 8 #define DEBUG_OUTPUT 16 #define DEBUG_CONNECT 32 #define DEBUG_TELNET 64 #define DEBUG_RESTORE 128 #define DEBUG_OB_REF 256 #define DEBUG_PROG_REF 512 #define DEBUG_LOAD 1024 #define DEBUG_DESTRUCT 2048 #define DEBUG_LIVING 4096 #define DEBUG_COMMAND 8192 #define DEBUG_ADD_ACTION 16384 #define DEBUG_SENTENCE 32768 #define DEBUG_BREAK_POINT 65536 struct program; struct function; struct svalue; struct sockaddr; struct reloc; struct object; struct mapping; struct vector; #if (!defined(HAS_MEMMOVE)) #define memmove(a, b, c) bcopy(b, a, c) #endif #if defined(__GNUC__) && !defined(lint) #define INLINE inline #else #define INLINE #endif #ifdef SOLARIS #define signal sigset #define HAS_PREAD #endif #ifdef BUFSIZ # define PROT_STDIO(x) x #else /* BUFSIZ */ # define PROT_STDIO(x) () #endif /* BUFSIZ */ #if defined(sun) && defined(__STDC__) #ifdef BUFSIZ int fprintf(FILE *, const char *, ...); int fputs(const char *, FILE *); int fputc(int, FILE *); size_t fwrite(const void *, size_t, size_t, FILE *); size_t fread(void *, size_t, size_t, FILE *); #endif int printf(const char *, ...); int sscanf(const char *, const char *, ...); void perror(const char *); #endif #if !defined(_AIX) && !defined(__osf__) && !defined(_SEQUENT_) char *malloc (unsigned); char *realloc (char *, unsigned); #endif #if defined(__alpha) int mkdir (char *, int); #endif int fclose PROT_STDIO((FILE *)); int pclose PROT_STDIO((FILE *)); #if !defined(_SEQUENT_) int atoi (char *); #endif #ifndef sgi void srandom (int); #endif int gethostname (char *, int); void abort (void); int fflush PROT_STDIO((FILE *)); int fclose PROT_STDIO((FILE *)); #ifndef M_UNIX #if !defined(sgi) && !defined(_SEQUENT_) int system (char *); #endif #endif #if !defined(_SEQUENT_) void qsort (char *, int, int, int (*)()); #endif int fseek PROT_STDIO((FILE *, long, int)); #ifdef ultrix int _flsbuf(unsigned char,FILE *); #else int _flsbuf(); #endif int wait (int *); int pipe (int *); int dup2 (int, int); #if !defined(_SEQUENT_) void free (char *); #endif void exit (int); /* int _exit (int); */ unsigned int alarm (unsigned int); int close (int); int _filbuf(); char *crypt (char *, char *); #ifdef sun char *_crypt (char *, char *); #endif #ifdef DRAND48 double drand48 (void); void srand48 (long); #endif #ifdef RANDOM long random (void); #endif #if !defined(_SEQUENT_) long strtol (char *, char **, int); #endif #ifndef USE_SWAP #define access_program(prog) #define access_object(ob) #else void access_program(struct program *); void access_object(struct object *); #endif char *get_error_file (char *); void save_error (char *, char *, char *); int write_file (char *, char *); int file_size (char *); int file_time (char *); char *check_file_name (char *, int); void remove_all_players (void); void backend (void); char *xalloc (int); char *tmpalloc (int); void init_string_space (void); void error(); void fatal(); void add_message(); void trace_log(); void debug_message(); void debug_message_value (struct svalue *); int new_call_out (struct object *, unsigned int, unsigned int, int, int, struct vector *); int add_action (struct svalue *, struct svalue *, int); void list_files (char *), enable_commands (int), load_ob_from_swap (struct object *); void register_program(struct program*); int tail (char *); struct object *get_interactive_object (int); void enter_object_hash (struct object *); void remove_object_hash (struct object *); struct object *lookup_object_hash (char *); int show_otable_status (int verbose); void dumpstat (void); struct vector; void free_vector (struct vector *); char *query_load_av (void); void update_compile_av (int); struct vector *map_array ( struct vector *arr, char *func, struct object *ob, struct svalue *extra ); struct vector *make_unique (struct vector *arr,char *func, struct svalue *skipnum); char *describe_items (struct svalue *arr,char *func,int live); struct vector *filter_arr (struct vector *arr,char *func, struct object *ob, struct svalue *); int match_string (char *, char *); int set_heart_beat (struct object *, int); struct object *get_empty_object (); struct svalue; void assign_svalue (struct svalue *, struct svalue *); void assign_svalue_no_free (struct svalue *to, struct svalue *from); void free_svalue (struct svalue *); char *make_shared_string (char *); void free_string (char *); void add_string_status (char *); void notify_no_command (void); void clear_notify (void); void throw_error (void); void set_living_name (struct object *,char *); void remove_living_name (struct object *); struct object *find_living_object (char *); int lookup_predef (char *); void yyerror (char *); int hashstr (char *, int, int); int lookup_predef (char *); char *dump_trace (int); int parse_command (char *, struct object *); struct svalue *apply (char *, struct object *, int, int); INLINE void push_string (char *, int); void push_number (int); void push_object (struct object *); struct object *clone_object (char *); void init_num_args (void); int restore_object (struct object *, char *); int m_restore_object (struct object *, struct mapping *); struct mapping *m_save_object(struct object *); void tell_object (struct object *, struct svalue *); struct vector *slice_array (struct vector *,int,int); int query_idle (struct object *); char *implode_string (struct vector *, char *); struct object *query_snoop (struct object *); struct vector *all_inventory (struct object *); struct vector *deep_inventory (struct object *, int); struct object *environment (struct svalue *); struct vector *add_array (struct vector *, struct vector *); char *get_f_name (int); void startshutdowngame (int); void set_notify_fail_message (char *); int swap (struct object *); int transfer_object (struct object *, struct object *); struct vector *users (void); void do_write (struct svalue *); int remove_call_out (struct object *, char *); char *create_wizard (char *, char *); void destruct_object (struct object *); int set_snoop (struct object *, struct object *); int new_set_snoop (struct object *, struct object *); void ed_start (char *, char *, struct object *); void tell_room (struct object *, struct svalue *, struct vector *); void shout_string (char *); int command_for_object (char *, struct object *); int remove_file (char *); int print_file (char *, int, int); int print_call_out_usage (int verbose); int input_to (char *, int, struct vector *); int parse (char *, struct svalue *, char *, struct svalue *, int); struct object *object_present (struct svalue *, struct svalue *); void add_light (struct object *, int); int indent_program (char *); void call_function (struct object *, int , unsigned int, int); void store_line_number_info (int, int); void push_constant_string (char *); int find_status (struct program *, char *, int); void free_prog (struct program *, int); char *stat_living_objects (void); int heart_beat_status (int verbose); void opcdump (void); void slow_shut_down (int); struct vector *allocate_array (int); void yyerror (char *); void reset_machine (int); void clear_state (void); void load_first_objects (void); void preload_objects (int); int random_number (int, int); void reset_object (struct object *, int); int replace_interactive (struct object *ob, struct object *obf, char *); char *get_wiz_name (char *); char *get_log_file (char *); int get_current_time (void); char *time_string (int); char *process_string (char *, int); void update_ref_counts_for_players (void); void count_ref_from_call_outs (void); void check_a_lot_ref_counts (struct program *); int shadow_catch_message (struct object *ob, char *str); struct vector *get_all_call_outs (void); char *read_file (char *file, int, int); char *read_bytes (char *file, int, int); int write_bytes (char *file, int, char *str); char *add_name (char *str); char *check_valid_path (char *, struct object *, char *, int); int get_line_number_if_any (void); char *get_srccode_position_if_any (void); void logon (struct object *ob); struct svalue *apply_master_ob (int, int num_arg); struct vector *explode_string (char *str, char *del); char *string_copy (char *); int find_call_out (struct object *ob, char *fun); void remove_object_from_stack (struct object *ob); #if !defined(sgi) && !defined(_SEQUENT_) int getpeername (int, struct sockaddr *, int *); #ifndef LINUX int shutdown (int, int); #endif #endif void compile_file (void); void unlink_swap_file(); char *function_exists (char *, struct object *); void set_inc_list (struct svalue *sv); int legal_path (char *path); struct vector *get_dir (char *path); #if !defined(ultrix) && !defined(M_UNIX) && !defined(sgi) && !defined(NeXT) \ && !defined(_SEQUENT_) && !defined(LINUX) extern int rename (const char *, const char *); #endif void get_simul_efun (void); struct function *find_simul_efun (char *); char *query_simul_efun_file_name (void); struct vector *match_regexp (struct vector *v, char *pattern); #ifdef MUDWHO void sendmudwhoinfo (void); void sendmudwhologout (struct object *ob); int rwhocli_setup (char *server, char *serverpw, char *myname, char *comment); int rwhocli_shutdown (void); int rwhocli_pingalive (void); int rwhocli_userlogin (char *uid, char *name, int tim); int rwhocli_userlogout (char *uid); #endif /* MUDWHO */ extern char *findstring(char *); extern char *get_srccode_position(int, struct program *); #ifdef BINARIES extern int save_binary(struct program *); extern int load_binary(FILE *, char *); #endif #endif