#define LWIDTH 80 /* Short line width */
#define LONGWIDTH 256 /* Long line width */
#define MAXDUP 512
#define MAXMTS 128 /* Max # of major terms. Can't be over 128 */
#define T1 23
#define T2 21
#define T3 64
#define OVERLAP 512 /* Overlap between input buffs. Also max sentence length */
#define MAXKWSZ  28 /* Size of max keyword expected                          */
#define NODEBUG /* define either DEBUG or NODEBUG */
#define MAXBRAKS 7 /* max num of ['s in a major term */
typedef char Lines[LWIDTH];
typedef char LLines[LONGWIDTH];
typedef unsigned char BrakTyp1[LWIDTH];
typedef char *BrakTyp2[MAXBRAKS];
/* this code requires that CurFib be 1st element in this structure */
struct DirInfoBlock {
   struct FileInfoBlock CurFib;
   BPTR CurLock, TmpLock, OldLock;
   struct DirInfoBlock *BackLink;
};
typedef struct FileInfoBlock FIB;
typedef struct DirInfoBlock DIB;
#define XFI         struct _XFI
#define MSGPORT     struct MsgPort
#define FH          struct FileHandle
#define STDPKT      struct StandardPacket

XFI {
    char    pend;       /*  packet pending              */
    char    err;        /*  cumulative error            */
    char    reserved;   /*  needed to align following strucs to longword */
    char    rsvd;       /*  needed to align following strucs to longword */
    char    *asbuf;
    char    *usbuf;
    char    *zsbuf;
    FH      *fh;
    STDPKT  sp;         /*  asyncronous message         */
    MSGPORT rp;         /*  reply port for pending pkts */
};

