Annotation of coherent/d/bin/ed/ed.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * An editor.
        !             3:  * Header file.
        !             4:  */
        !             5: 
        !             6: #define ULARGE 65535L                  /* Largest unsigned value */
        !             7: #define LNSIZE 2000                    /* Initial size of line number table */
        !             8: #define LBSIZE 512                     /* Size of line buffer */
        !             9: #define CBSIZE 512                     /* Size of code buffer */
        !            10: #define TBSIZE CBSIZE                  /* Size of temporary buffer */
        !            11: #define SBSIZE 512                     /* Replace substitute buffer size */
        !            12: #define GBSIZE 512                     /* Global command buffer size */
        !            13: #define DBSIZE 512                     /* Size of disk buffer cache */
        !            14: #define BRSIZE 9                       /* Number of \( ... \) allowed */
        !            15: #define FNSIZE 64                      /* File name size */
        !            16: #define        CKSIZE  64                      /* Length of crypt key */
        !            17: #define MKSIZE 26                      /* Size of mark line table */
        !            18: #define PGSIZE 22                      /* Page size */
        !            19: 
        !            20: /*
        !            21:  * Functions for finding out whether a character is a letter and
        !            22:  * to switch case from lower to upper and vice versa.
        !            23:  * Knows about ctype.h internals.
        !            24:  */
        !            25: #define isallet(c)     (_ctype[(c)+1]&(_L|_N))
        !            26: #define toother(c)     ((c)^' ')
        !            27: 
        !            28: /*
        !            29:  * Click size definitions.
        !            30:  * These functions are used to get the block number and offset into
        !            31:  * the block given a seek pointer gotten from the line number table.
        !            32:  * It takes into account the size of the disk buffer (DBSIZE) and
        !            33:  * the fact that the seek pointer may be off by one (caused by the
        !            34:  * global command marking lines.
        !            35:  */
        !            36: #define CLSIZE         16
        !            37: #define blockn(a)      ((a)>>6)
        !            38: #define offset(a)      (((a)&076) << 3)
        !            39: #define linead()       (tmpseek >> 3)
        !            40: 
        !            41: /*
        !            42:  * Definition for stream directives in regular expressions.
        !            43:  * The order of these must not be changed.  In particular,
        !            44:  * the `stream of' directives must immediately follow their
        !            45:  * single counterparts.
        !            46:  */
        !            47: #define CSNUL  000                     /* End of expression */
        !            48: #define CSSOL  001                     /* Match start of line */
        !            49: #define CSEOL  002                     /* End of line */
        !            50: #define CSOPR  003                     /* \( */
        !            51: #define CSCPR  004                     /* \) */
        !            52: #define CSBRN  005                     /* Match nth \( ... \) */
        !            53: #define CSDOT  006                     /* Any character */
        !            54: #define CMDOT  007                     /* Stream of any characters */
        !            55: #define CSCHR  010                     /* Match given character */
        !            56: #define CMCHR  011                     /* Match stream of given characters */
        !            57: #define CSSCC  012                     /* Char in single case */
        !            58: #define CMSCC  013                     /* Stream of chars in single case */
        !            59: #define CSCCL  014                     /* Character class */
        !            60: #define CMCCL  015                     /* Stream of character class */
        !            61: #define CSNCL  016                     /* Not character class */
        !            62: #define CMNCL  017                     /* Stream of not char class */
        !            63: 
        !            64: /*
        !            65:  * Typedefs.
        !            66:  */
        !            67: typedef        unsigned LINE;                  /* Typedef for line table */
        !            68: 
        !            69: /*
        !            70:  * Structure for remembering \( ... \).
        !            71:  */
        !            72: typedef        struct {
        !            73:        char    *b_bp;                  /* Ptr to start of string matched */
        !            74:        char    *b_ep;                  /* Ptr to end of string matched */
        !            75: } BRACE;
        !            76: 
        !            77: /*
        !            78:  * External function declarations.
        !            79:  */
        !            80: extern char    *calloc();
        !            81: extern FILE    *copen();
        !            82: extern char    *getdisk();
        !            83: extern char    *getenv();
        !            84: extern char    *getpass();
        !            85: extern char    *malloc();
        !            86: extern char    *match();
        !            87: extern int     readfil();
        !            88: extern int     readtty();
        !            89: extern char    *realloc();
        !            90: extern char    *strcpy();
        !            91: extern FILE    *xfopen();
        !            92: 
        !            93: /*
        !            94:  * Global variables.
        !            95:  */
        !            96: extern int     cflag;                  /* Print character counts */
        !            97: extern int     mflag;                  /* Allow multiple commands per line */
        !            98: extern int     pflag;                  /* Editor prompts */
        !            99: extern int     oflag;                  /* Behaves like the old editor */
        !           100: extern int     sflag;                  /* Match patterns in single case */
        !           101: extern int     tflag;                  /* Set up for screen editor */
        !           102: extern int     vflag;                  /* Verbose error messages */
        !           103: extern int     intflag;                /* Interrupt has been hit */
        !           104: extern char    *tfn;                   /* Temp file name */
        !           105: extern FILE    *tmp;                   /* Temp file pointer */
        !           106: extern long    tmpseek;                /* Free space seek ptr in tmp file */
        !           107: extern int     rcurbno;                /* Current read block number */
        !           108: extern int     wcurbno;                /* Current write block number */
        !           109: extern LINE    *line;                  /* Pointer to line table */
        !           110: extern int     lnsize;                 /* Current size of line table */
        !           111: extern int     savechr;                /* Character that was ungetx'ed */
        !           112: extern int     lastchr;                /* Last character we read */
        !           113: extern char    *gcp;                   /* Global input pointer */
        !           114: extern char    linebuf[LBSIZE];        /* Line buffer */
        !           115: extern char    codebuf[CBSIZE];        /* Code buffer */
        !           116: extern char    tempbuf[TBSIZE];        /* Temporary buffer */
        !           117: extern char    subsbuf[SBSIZE];        /* Substitute buffer */
        !           118: extern char    globbuf[GBSIZE];        /* Buffer for global command */
        !           119: extern char    rdbcbuf[DBSIZE];        /* Disk buffer cache */
        !           120: extern char    wdbcbuf[DBSIZE];        /* Write buffer cache */
        !           121: extern BRACE   brace[1+BRSIZE];        /* For remembering \( \) */
        !           122: extern char    file[FNSIZE+1];         /* Filename */
        !           123: extern LINE    marklin[MKSIZE];        /* Mark line table */
        !           124: extern int     dotadd;                 /* Address of the current line */
        !           125: extern int     doladd;                 /* Address of last line */
        !           126: extern char    vcom;                   /* Verify command */
        !           127: extern int     saved;                  /* File saved since last written */
        !           128: extern FILE    *fp;                    /* File pointer for readfil */
        !           129: extern long    cct;                    /* Number of chars read in append */
        !           130: extern long    lct;                    /* Number of lines read in append */
        !           131: extern int     appflag;                /* In append mode */
        !           132: extern int     addspec;                /* Number of addresses specified */
        !           133: extern int     adderrr;                /* Error in computing address */
        !           134: extern int     addpage;                /* An ampersand was found */
        !           135: extern int     addques;                /* A question mark was found */
        !           136: extern int     subnths;                /* Which substitute wanted */
        !           137: extern int     subnewl;                /* A newline is being replaced */
        !           138: extern int     subseek;                /* Seek position of new line */
        !           139: extern int     suborig;                /* Seek position of old line */
        !           140: extern char    *errstr;                /* Pointer to last error message */
        !           141: extern char    *keyp;                  /* Pointer to crypt key */

unix.superglobalmegacorp.com

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