Annotation of researchv8dc/cmd/qed/vars.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * QED
        !             3:  */
        !             4: #define        VAX     VAX
        !             5: #ifdef VAX
        !             6: #define        BIGTMP  LOTSOFBITS
        !             7: #endif
        !             8: /*     Fake setexit & reset from v6 using setjmp and longjmp   */
        !             9: #include <setjmp.h>
        !            10: jmp_buf        env;
        !            11: #define        setexit()       setjmp(env)
        !            12: #define        reset()         longjmp(env, 0)
        !            13: #define TRUE   1
        !            14: #define FALSE  0
        !            15: #define        LBSIZE  512
        !            16: #define RHSIZE (LBSIZE/4)      /* ed says /2; but that's unreasonable! */
        !            17: #define        NBRA    9
        !            18: #define        EOF     (-1)
        !            19: #define        FILERR  0200
        !            20: #define        SAVENEVER       0
        !            21: #define        SAVEIFFIRST     1
        !            22: #define        SAVEALWAYS      2
        !            23: /*
        !            24:  * Stack types.  Must appear in the order as in cspec[]/getchar.
        !            25:  * XTTY, GLOB and BRWS are special types with no corresponding special character.
        !            26:  * Special is never used directly - it is just used in tracing
        !            27:  *     pushinp()/getchar.c can be called with a negative index for cspec[]
        !            28:  */
        !            29: char   special[]; /* "xgBbBcfFlprzN\"\\'" */
        !            30: #define        cspec   (special + 3)
        !            31: #define        XTTY            0175
        !            32: #define        GLOB            0176
        !            33: #define        BRWS            0177
        !            34: #define        BUF             0
        !            35: #define        CURBN           1
        !            36: #define        QUOTE           2
        !            37: #define        FILEN           3
        !            38: #define        BFILEN          4
        !            39: #define        TTY             5
        !            40: #define        PAT             6
        !            41: #define        RHS             7
        !            42: #define        STRING          8
        !            43: #define        NEWL            9
        !            44: #define        NOTHING         10
        !            45: #define        BACKSLASH       11
        !            46: #define        LITERAL         12
        !            47: /*
        !            48:  * Getchar-linked macros
        !            49:  */
        !            50: #define ungetchar(c)   (peekc = (c))
        !            51: #define nextchar()     (peekc = getchar())
        !            52: #define NBUFS 56
        !            53: /*
        !            54:  * The buffer structure.  All info associated with each buffer stored here
        !            55:  */
        !            56: struct buffer{
        !            57:        int *zero;
        !            58:        int *dot;
        !            59:        int *dol;
        !            60:        char cflag;
        !            61:        char gmark;
        !            62: }buffer[NBUFS];
        !            63: struct buffer *curbuf;
        !            64: /*
        !            65:  * The string structure
        !            66:  * The first NBUFS strings are the registers
        !            67:  * The next NBUFS are the file names
        !            68:  * The next two are the saved pattern and saved right hand side
        !            69:  * The next is the special register for browsing (the `ob' command)
        !            70:  * The next is a file buffer.
        !            71:  * Strings are stored in the `strarea' area and garbage collected
        !            72:  * when the area is full.  The NSTRCHARS parameter can be increased
        !            73:  * if you've got lots of core.
        !            74:  * The first two characters of `strarea' form the null string.
        !            75:  * The third and subsequent characters are the storage for non null
        !            76:  * strings.
        !            77:  * The null string has to be stored in this area so that
        !            78:  * the R and S commands write out valid pointers to the null string.
        !            79:  * The last entry in the string structure is used to store the pointer
        !            80:  * to the next free position.
        !            81:  * In string.c strfree is defined as "string[NSTRING].str".
        !            82:  */
        !            83: #define        NSTRING (NBUFS+NBUFS+4)
        !            84: #define        COUNT   (26+'C'-'A')
        !            85: #define        TRUTH   (26+'T'-'A')
        !            86: #define        UNIX    (26+'U'-'A')
        !            87: #define        FILE(z) (NBUFS+(z))
        !            88: #define        SAVPAT  (NBUFS+NBUFS)
        !            89: #define        SAVRHS  (SAVPAT+1)
        !            90: #define        BROWSE  (SAVRHS+1)
        !            91: #define        FILEBUF (BROWSE+1)
        !            92: struct string{
        !            93:        int len;
        !            94:        char *str;
        !            95: }string[NSTRING+1];
        !            96: #define NSTRCHARS 1024
        !            97: char strarea[NSTRCHARS + 2];
        !            98: #define        nullstr strarea
        !            99: #define        strchars (&strarea[2])
        !           100: #define STACKSIZE 16
        !           101: /*
        !           102:  * The getchar stack.
        !           103:  */
        !           104: struct stack{
        !           105:        char type;
        !           106:        char literal;
        !           107:        union{
        !           108:                struct buffer *u1bufptr;
        !           109:                char *u1globp;
        !           110:        }u1;
        !           111:        union{
        !           112:                int u2lineno;
        !           113:                int u2strname;
        !           114:        }u2;
        !           115:        int charno;
        !           116: }stack[STACKSIZE];
        !           117: #define        bufptr  u1.u1bufptr
        !           118: #define        globp   u1.u1globp
        !           119: #define        lineno  u2.u2lineno
        !           120: #define        strname u2.u2strname
        !           121: struct stack *stackp;
        !           122: int    peekc;
        !           123: int    lastc;
        !           124: char   line[70];
        !           125: char   *linp;
        !           126: int    savedfile;
        !           127: char   linebuf[LBSIZE];
        !           128: int    *zero;
        !           129: int    *dot;
        !           130: int    *dol;
        !           131: int    *lastdol;
        !           132: int    *endcore;
        !           133: int    *fendcore;
        !           134: int    *addr1;
        !           135: int    *addr2;
        !           136: char   genbuf[LBSIZE];
        !           137: char   *linebp;
        !           138: #include       "sgtty.h"
        !           139: struct sgttyb ttybuf;
        !           140: int    ninbuf;
        !           141: int    io;
        !           142: int    onhup;
        !           143: int    onquit;
        !           144: int    onintr;
        !           145: char   lasterr;
        !           146: #define        PAGESIZE        22
        !           147: extern pagesize;
        !           148: extern char bformat;   /* = 'p' */
        !           149: int    appflag;
        !           150: int    cflag;
        !           151: int    cprflag;
        !           152: int    dflag;
        !           153: int    eflag;
        !           154: int    gflag;
        !           155: int    biggflag;
        !           156: int    iflag;
        !           157: int    prflag;
        !           158: int    tflag;
        !           159: int    uflag;
        !           160: int    vflag;
        !           161: int    qok;
        !           162: int    eok;
        !           163: int    initflag;
        !           164: int    nestlevel;
        !           165: int    lastttyc;
        !           166: int    listf;
        !           167: int    tfile;
        !           168: int    tfile2;
        !           169: char   *tfname;
        !           170: char   *loc1;
        !           171: char   *loc2;
        !           172: int    names[NBUFS];
        !           173: char   *braslist[NBRA];
        !           174: char   *braelist[NBRA];
        !           175: int    nbra;
        !           176: int    oneline;
        !           177: int    lock;
        !           178: char   bname[]; /* ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~" */
        !           179: char   lchars[];       /* = "pPlL" */
        !           180: int    bbempty;        /* whether getc's internal buffer buffer needs reloading */
        !           181: char   *getline();
        !           182: int    *address();
        !           183: char   *getenv();
        !           184: long   lseek();
        !           185: char   *sbrk();

unix.superglobalmegacorp.com

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