Annotation of 43BSDReno/lib/libpc/h00vars.h, revision 1.1

1.1     ! root        1: /*-
        !             2:  * Copyright (c) 1979 The Regents of the University of California.
        !             3:  * All rights reserved.
        !             4:  *
        !             5:  * Redistribution and use in source and binary forms are permitted
        !             6:  * provided that: (1) source distributions retain this entire copyright
        !             7:  * notice and comment, and (2) distributions including binaries display
        !             8:  * the following acknowledgement:  ``This product includes software
        !             9:  * developed by the University of California, Berkeley and its contributors''
        !            10:  * in the documentation or other materials provided with the distribution
        !            11:  * and in all advertising materials mentioning features or use of this
        !            12:  * software. Neither the name of the University nor the names of its
        !            13:  * contributors may be used to endorse or promote products derived
        !            14:  * from this software without specific prior written permission.
        !            15:  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            16:  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            17:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            18:  *
        !            19:  *     @(#)h00vars.h   1.12 (Berkeley) 4/9/90
        !            20:  */
        !            21: 
        !            22: #include <stdio.h>
        !            23: #include "whoami.h"
        !            24: 
        !            25: #define PXPFILE                "pmon.out"
        !            26: #define        BITSPERBYTE     8
        !            27: #define        BITSPERLONG     (BITSPERBYTE * sizeof(long))
        !            28: #define LG2BITSBYTE    03
        !            29: #define MSKBITSBYTE    07
        !            30: #define LG2BITSLONG    05
        !            31: #define MSKBITSLONG    037
        !            32: #define HZ             60
        !            33: #define        MAXLVL          20
        !            34: #define MAXERRS                75
        !            35: #define NAMSIZ         76
        !            36: #define MAXFILES       32
        !            37: #define PREDEF         2
        !            38: #ifdef ADDR32
        !            39: #ifndef tahoe
        !            40: #define STDLVL         ((struct iorec *)(0x7ffffff1))
        !            41: #define GLVL           ((struct iorec *)(0x7ffffff0))
        !            42: #else tahoe
        !            43: #define STDLVL         ((struct iorec *)(0xbffffff1))
        !            44: #define GLVL           ((struct iorec *)(0xbffffff0))
        !            45: #endif tahoe
        !            46: #endif ADDR32
        !            47: #ifdef ADDR16
        !            48: #define STDLVL         ((struct iorec *)(0xfff1))
        !            49: #define GLVL           ((struct iorec *)(0xfff0))
        !            50: #endif ADDR16
        !            51: #define FILNIL         ((struct iorec *)(0))
        !            52: #define INPUT          ((struct iorec *)(&input))
        !            53: #define OUTPUT         ((struct iorec *)(&output))
        !            54: #define ERR            ((struct iorec *)(&_err))
        !            55: typedef enum {FALSE, TRUE} bool;
        !            56: 
        !            57: /*
        !            58:  * runtime display structure
        !            59:  */
        !            60: struct display {
        !            61:        char    *ap;
        !            62:        char    *fp;
        !            63: };
        !            64: 
        !            65: /*
        !            66:  * formal routine structure
        !            67:  */
        !            68: struct formalrtn {
        !            69:        long            (*fentryaddr)();        /* formal entry point */
        !            70:        long            fbn;                    /* block number of function */
        !            71:        struct display  fdisp[ MAXLVL ];        /* saved at first passing */
        !            72: };
        !            73: 
        !            74: /*
        !            75:  * program variables
        !            76:  */
        !            77: extern struct display  _disply[MAXLVL];/* runtime display */
        !            78: extern int             _argc;          /* number of passed args */
        !            79: extern char            **_argv;        /* values of passed args */
        !            80: extern long            _stlim;         /* statement limit */
        !            81: extern long            _stcnt;         /* statement count */
        !            82: extern long            _seed;          /* random number seed */
        !            83: extern char            *_maxptr;       /* maximum valid pointer */
        !            84: extern char            *_minptr;       /* minimum valid pointer */
        !            85: extern long            _pcpcount[];    /* pxp buffer */
        !            86: 
        !            87: /*
        !            88:  * file structures
        !            89:  */
        !            90: struct iorechd {
        !            91:        char            *fileptr;       /* ptr to file window */
        !            92:        long            lcount;         /* number of lines printed */
        !            93:        long            llimit;         /* maximum number of text lines */
        !            94:        FILE            *fbuf;          /* FILE ptr */
        !            95:        struct iorec    *fchain;        /* chain to next file */
        !            96:        struct iorec    *flev;          /* ptr to associated file variable */
        !            97:        char            *pfname;        /* ptr to name of file */
        !            98:        short           funit;          /* file status flags */
        !            99:        unsigned short  fblk;           /* index into active file table */
        !           100:        long            fsize;          /* size of elements in the file */
        !           101:        char            fname[NAMSIZ];  /* name of associated UNIX file */
        !           102: };
        !           103: 
        !           104: struct iorec {
        !           105:        char            *fileptr;       /* ptr to file window */
        !           106:        long            lcount;         /* number of lines printed */
        !           107:        long            llimit;         /* maximum number of text lines */
        !           108:        FILE            *fbuf;          /* FILE ptr */
        !           109:        struct iorec    *fchain;        /* chain to next file */
        !           110:        struct iorec    *flev;          /* ptr to associated file variable */
        !           111:        char            *pfname;        /* ptr to name of file */
        !           112:        short           funit;          /* file status flags */
        !           113:        unsigned short  fblk;           /* index into active file table */
        !           114:        long            fsize;          /* size of elements in the file */
        !           115:        char            fname[NAMSIZ];  /* name of associated UNIX file */
        !           116:        char            buf[BUFSIZ];    /* I/O buffer */
        !           117:        char            window[1];      /* file window element */
        !           118: };
        !           119: 
        !           120: /*
        !           121:  * unit flags
        !           122:  */
        !           123: #define SPEOLN 0x100   /* 1 => pseudo EOLN char read at EOF */
        !           124: #define        FDEF    0x080   /* 1 => reserved file name */
        !           125: #define        FTEXT   0x040   /* 1 => text file, process EOLN */
        !           126: #define        FWRITE  0x020   /* 1 => open for writing */
        !           127: #define        FREAD   0x010   /* 1 => open for reading */
        !           128: #define        TEMP    0x008   /* 1 => temporary file */
        !           129: #define        SYNC    0x004   /* 1 => window is out of sync */
        !           130: #define        EOLN    0x002   /* 1 => at end of line */
        !           131: #define        EOFF    0x001   /* 1 => at end of file */
        !           132: 
        !           133: /*
        !           134:  * file routines
        !           135:  */
        !           136: extern struct iorec    *GETNAME();
        !           137: extern char            *MKTEMP();
        !           138: extern char            *PALLOC();
        !           139: 
        !           140: /*
        !           141:  * file record variables
        !           142:  */
        !           143: extern struct iorechd  _fchain;        /* head of active file chain */
        !           144: extern struct iorec    *_actfile[];    /* table of active files */
        !           145: extern long            _filefre;       /* last used entry in _actfile */
        !           146: 
        !           147: /*
        !           148:  * standard files
        !           149:  */
        !           150: extern struct iorechd  input;
        !           151: extern struct iorechd  output;
        !           152: extern struct iorechd  _err;
        !           153: 
        !           154: /*
        !           155:  * seek pointer struct for TELL, SEEK extensions
        !           156:  */
        !           157: struct seekptr {
        !           158:        long    cnt;
        !           159: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.