extern char *malloc(); extern free(); extern char *clone_string(); extern void free_string(); extern void free_name_list(); extern char *lasthead(); extern void copy_ptrs(), bcopy_ptrs(); extern char *next_word(), *first_word(), *skip_space(), *skip_to_space(); extern char *find_buffer(); struct name_list { struct name_list *next; char *name; }; typedef struct name_list Name_list; #define MAX_WORD 80 #define MAX_LINE 2048 #define BUF_LENGTH MAX_LINE #define HISTORY_LENGTH 20 struct alias_list { struct alias_list *next; char *alias; char *for_what; }; typedef struct alias_list Alias_list; struct built_in { char *name; int (*function)(); }; typedef struct built_in Built_in; extern char *buf, buf1[BUF_LENGTH], buf2[BUF_LENGTH]; extern long cdir; /*lock on current directory */