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: };
Defined struct's
iorec
defined in line
82; used 108 times
Defined macros
EOFF
defined in line
109; used 16 times
EOLN
defined in line
108; used 13 times
ERR
defined in line
32; used 2 times
FDEF
defined in line
102; used 7 times
FILNIL
defined in line
29; used 10 times
FREAD
defined in line
105; used 11 times
GLVL
defined in line
27; used 5 times
HZ
defined in line
15; used 1 times
INPUT
defined in line
30; used 3 times
SYNC
defined in line
107; used 15 times
TEMP
defined in line
106; used 4 times
Usage of this include