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