/* Copyright (c) 1979 Regents of the University of California */ /* sccsid[] = "@(#)h00vars.h 1.3 01/16/81"; */ #include #define PXPFILE "pmon.out" #define BITSPERBYTE 8 #define BITSPERLONG (BITSPERBYTE * sizeof(long)) #define HZ 60 #define TRUE 1 #define FALSE 0 #define MAXLVL 20 #define MAXERRS 75 #define NAMSIZ 76 #define MAXFILES 32 #define PREDEF 2 #define STDLVL ((struct iorec *)(0x7ffffff1)) #define GLVL ((struct iorec *)(0x7ffffff0)) #define FILNIL ((struct iorec *)(0)) #define INPUT ((struct iorec *)(&input)) #define OUTPUT ((struct iorec *)(&output)) #define ERR ((struct iorec *)(&_err)) /* * runtime display structure */ struct display { char *ap; char *fp; }; /* * formal routine structure */ struct formalrtn { long (*entryaddr)(); long cbn; struct display disp[2*MAXLVL]; }; struct errentry { long (*entryaddr)(); }; /* * program variables */ extern struct display _disply[MAXLVL];/* runtime display */ extern int _argc; /* number of passed args */ extern char **_argv; /* values of passed args */ extern long _stlim; /* statement limit */ extern long _stcnt; /* statement count */ extern long _seed; /* random number seed */ extern char *_maxptr; /* maximum valid pointer */ extern char *_minptr; /* minimum valid pointer */ extern long _pcpcount[]; /* pxp buffer */ extern struct errentry _entry[MAXERRS];/* error entry catches */ /* * file structures */ struct iorechd { char *fileptr; /* ptr to file window */ long lcount; /* number of lines printed */ long llimit; /* maximum number of text lines */ FILE *fbuf; /* FILE ptr */ struct iorec *fchain; /* chain to next file */ struct iorec *flev; /* ptr to associated file variable */ char *pfname; /* ptr to name of file */ short funit; /* file status flags */ short fblk; /* index into active file table */ long fsize; /* size of elements in the file */ char fname[NAMSIZ]; /* name of associated UNIX file */ }; struct iorec { char *fileptr; /* ptr to file window */ long lcount; /* number of lines printed */ long llimit; /* maximum number of text lines */ FILE *fbuf; /* FILE ptr */ struct iorec *fchain; /* chain to next file */ struct iorec *flev; /* ptr to associated file variable */ char *pfname; /* ptr to name of file */ short funit; /* file status flags */ short fblk; /* index into active file table */ long fsize; /* size of elements in the file */ char fname[NAMSIZ]; /* name of associated UNIX file */ char buf[BUFSIZ]; /* I/O buffer */ char window[1]; /* file window element */ }; /* * unit flags */ #define FDEF 0x80 /* 1 => reserved file name */ #define FTEXT 0x40 /* 1 => text file, process EOLN */ #define FWRITE 0x20 /* 1 => open for writing */ #define FREAD 0x10 /* 1 => open for reading */ #define TEMP 0x08 /* 1 => temporary file */ #define SYNC 0x04 /* 1 => window is out of sync */ #define EOLN 0x02 /* 1 => at end of line */ #define EOFF 0x01 /* 1 => at end of file */ /* * file routines */ extern struct iorec *GETNAME(); extern char *MKTEMP(); extern char *PALLOC(); /* * file record variables */ extern struct iorechd _fchain; /* head of active file chain */ extern struct iorec *_actfile[]; /* table of active files */ extern long _filefre; /* last used entry in _actfile */ /* * standard files */ extern struct iorechd input; extern struct iorechd output; extern struct iorechd _err;