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

display defined in line 38; used 14 times
iorec defined in line 82; used 108 times
iorechd defined in line 68; used 16 times
seekptr defined in line 135; used 6 times

Defined macros

BITSPERBYTE defined in line 9; used 1 times
  • in line 10
BITSPERLONG defined in line 10; used 1 times
ERR defined in line 32; used 2 times
HZ defined in line 15; used 1 times
INPUT defined in line 30; used 3 times
LG2BITSBYTE defined in line 11; used 2 times
LG2BITSLONG defined in line 13; used 3 times
MAXERRS defined in line 17; never used
MAXLVL defined in line 16; used 3 times
MSKBITSBYTE defined in line 12; used 2 times
MSKBITSLONG defined in line 14; used 2 times
OUTPUT defined in line 31; used 3 times
PXPFILE defined in line 8; used 2 times
SPEOLN defined in line 101; used 4 times
STDLVL defined in line 26; used 3 times
TEMP defined in line 106; used 4 times

Usage of this include

h00vars.h used 65 times
Last modified: 1983-02-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1671
Valid CSS Valid XHTML 1.0 Strict