|
|
1.1 ! root 1: /* Copyright (c) 1979 Regents of the University of California */ ! 2: ! 3: /* sccsid[] = "@(#)h00vars.h 1.10 1/10/83"; */ ! 4: ! 5: #include <stdio.h> ! 6: #include "whoami.h" ! 7: ! 8: #define PXPFILE "pmon.out" ! 9: #define BITSPERBYTE 8 ! 10: #define BITSPERLONG (BITSPERBYTE * sizeof(long)) ! 11: #define LG2BITSBYTE 03 ! 12: #define MSKBITSBYTE 07 ! 13: #define LG2BITSLONG 05 ! 14: #define MSKBITSLONG 037 ! 15: #define HZ 60 ! 16: #define MAXLVL 20 ! 17: #define MAXERRS 75 ! 18: #define NAMSIZ 76 ! 19: #define MAXFILES 32 ! 20: #define PREDEF 2 ! 21: #ifdef ADDR32 ! 22: #define STDLVL ((struct iorec *)(0x7ffffff1)) ! 23: #define GLVL ((struct iorec *)(0x7ffffff0)) ! 24: #endif ADDR32 ! 25: #ifdef ADDR16 ! 26: #define STDLVL ((struct iorec *)(0xfff1)) ! 27: #define GLVL ((struct iorec *)(0xfff0)) ! 28: #endif ADDR16 ! 29: #define FILNIL ((struct iorec *)(0)) ! 30: #define INPUT ((struct iorec *)(&input)) ! 31: #define OUTPUT ((struct iorec *)(&output)) ! 32: #define ERR ((struct iorec *)(&_err)) ! 33: typedef enum {FALSE, TRUE} bool; ! 34: ! 35: /* ! 36: * runtime display structure ! 37: */ ! 38: struct display { ! 39: char *ap; ! 40: char *fp; ! 41: }; ! 42: ! 43: /* ! 44: * formal routine structure ! 45: */ ! 46: struct formalrtn { ! 47: long (*fentryaddr)(); /* formal entry point */ ! 48: long fbn; /* block number of function */ ! 49: struct display fdisp[ MAXLVL ]; /* saved at first passing */ ! 50: }; ! 51: ! 52: /* ! 53: * program variables ! 54: */ ! 55: extern struct display _disply[MAXLVL];/* runtime display */ ! 56: extern int _argc; /* number of passed args */ ! 57: extern char **_argv; /* values of passed args */ ! 58: extern long _stlim; /* statement limit */ ! 59: extern long _stcnt; /* statement count */ ! 60: extern long _seed; /* random number seed */ ! 61: extern char *_maxptr; /* maximum valid pointer */ ! 62: extern char *_minptr; /* minimum valid pointer */ ! 63: extern long _pcpcount[]; /* pxp buffer */ ! 64: ! 65: /* ! 66: * file structures ! 67: */ ! 68: struct iorechd { ! 69: char *fileptr; /* ptr to file window */ ! 70: long lcount; /* number of lines printed */ ! 71: long llimit; /* maximum number of text lines */ ! 72: FILE *fbuf; /* FILE ptr */ ! 73: struct iorec *fchain; /* chain to next file */ ! 74: struct iorec *flev; /* ptr to associated file variable */ ! 75: char *pfname; /* ptr to name of file */ ! 76: short funit; /* file status flags */ ! 77: unsigned short fblk; /* index into active file table */ ! 78: long fsize; /* size of elements in the file */ ! 79: char fname[NAMSIZ]; /* name of associated UNIX file */ ! 80: }; ! 81: ! 82: struct iorec { ! 83: char *fileptr; /* ptr to file window */ ! 84: long lcount; /* number of lines printed */ ! 85: long llimit; /* maximum number of text lines */ ! 86: FILE *fbuf; /* FILE ptr */ ! 87: struct iorec *fchain; /* chain to next file */ ! 88: struct iorec *flev; /* ptr to associated file variable */ ! 89: char *pfname; /* ptr to name of file */ ! 90: short funit; /* file status flags */ ! 91: unsigned short fblk; /* index into active file table */ ! 92: long fsize; /* size of elements in the file */ ! 93: char fname[NAMSIZ]; /* name of associated UNIX file */ ! 94: char buf[BUFSIZ]; /* I/O buffer */ ! 95: char window[1]; /* file window element */ ! 96: }; ! 97: ! 98: /* ! 99: * unit flags ! 100: */ ! 101: #define SPEOLN 0x100 /* 1 => pseudo EOLN char read at EOF */ ! 102: #define FDEF 0x080 /* 1 => reserved file name */ ! 103: #define FTEXT 0x040 /* 1 => text file, process EOLN */ ! 104: #define FWRITE 0x020 /* 1 => open for writing */ ! 105: #define FREAD 0x010 /* 1 => open for reading */ ! 106: #define TEMP 0x008 /* 1 => temporary file */ ! 107: #define SYNC 0x004 /* 1 => window is out of sync */ ! 108: #define EOLN 0x002 /* 1 => at end of line */ ! 109: #define EOFF 0x001 /* 1 => at end of file */ ! 110: ! 111: /* ! 112: * file routines ! 113: */ ! 114: extern struct iorec *GETNAME(); ! 115: extern char *MKTEMP(); ! 116: extern char *PALLOC(); ! 117: ! 118: /* ! 119: * file record variables ! 120: */ ! 121: extern struct iorechd _fchain; /* head of active file chain */ ! 122: extern struct iorec *_actfile[]; /* table of active files */ ! 123: extern long _filefre; /* last used entry in _actfile */ ! 124: ! 125: /* ! 126: * standard files ! 127: */ ! 128: extern struct iorechd input; ! 129: extern struct iorechd output; ! 130: extern struct iorechd _err; ! 131: ! 132: /* ! 133: * seek pointer struct for TELL, SEEK extensions ! 134: */ ! 135: struct seekptr { ! 136: long cnt; ! 137: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.