cdirt/ascii/
cdirt/data/BULL/
cdirt/data/ZONES/PENDING/
cdirt/pending/
cdirt/src/utils/
cdirt/utils/
#define LINE_LEN        300
#define MAX_COM_LEN     300
#define MAX_FDS         1024

typedef LongInt  SPELLS;

/* A Mail structure */
struct M_message {
  char subject[LINE_LEN], mailfrom[LINE_LEN], mailto[LINE_LEN], date[LINE_LEN];
  char status;
  off_t text;

  struct M_message *next;
  struct M_message *prev;
};
typedef struct M_message Message;
typedef Message *Messageptr;

typedef struct _levt {
  int sc;                           /* Score required for the level.        */
  int q;                            /* Quests or quest points required.     */
} LEVT;

typedef struct _quest {
  int     pnt;                      /* How many points this quest is worth  */
  Boolean crit;                     /* True if quest must be done           */
  char    *name;                    /* Name of the quest, replaces Quests[] */
} QUEST;

struct Fd_Entry {                  /* redo this */
  int plx;
};
typedef struct Fd_Entry Fd_entry;

struct _Bodypart {
  Boolean attach;
  int armor;
  short int vital;
  char *name;
  int loc;
};
typedef struct _Bodypart Bodypart;

struct _body {
  Bodypart r_leg;
  Bodypart l_leg;
  Bodypart r_arm;
  Bodypart l_arm;
  Bodypart r_foot;
  Bodypart l_foot;
  Bodypart r_hand;
  Bodypart l_hand;
  Bodypart head;
  Bodypart chest;
  Bodypart back;
  Bodypart face;
  Bodypart neck;
};
typedef struct _body Body;

struct txt_line {
  char line[MAX_COM_LEN];
  struct txt_line *next;
};
typedef struct txt_line Text_Line;
typedef Text_Line *Text_Ptr;

/* tree for use with verbs, possibly also mobiles & locs */

typedef struct __t_elem T_elem;
typedef T_elem *T_elemptr;
struct __t_elem {
  T_elemptr left;
  T_elemptr right;
  int num;
  char *str;
};