
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 1024
#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 */
