Annotation of researchv8dc/cmd/qed/vars.h, revision 1.1.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.