Annotation of coherent/b/bin/troff/env.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * env.h
                      3:  * Nroff/Troff.
                      4:  * Environment header file.
                      5:  */
                      6: 
                      7: /* Buffer sizes. */
                      8: #define        ENVSIZE         5               /* Total number of environments */
                      9: #define        ENVS            3               /* Number of .ev environments   */
                     10: #define        ENVWIDTH        3               /* Special \w environment       */
                     11: #define        ENVTITLE        4               /* Special .tl environment      */
                     12: #define        ENVSTACK        20              /* Pushdown stack for environments */
                     13: #define        LINSIZE         300             /* Size of line buffer          */
                     14: #define        NFONTS          50              /* Max number of fonts          */
                     15: #define        TABSIZE         20              /* Maximum number of tab stops  */
                     16: #define        WORSIZE         200             /* Size of word buffer          */
                     17: 
                     18: /*
                     19:  * Tab stop entry.
                     20:  */
                     21: typedef        struct {
                     22:        int     t_pos;                  /* Tab position                 */
                     23:        int     t_jus;                  /* Type of justification        */
                     24: } TAB;
                     25: 
                     26: /*
                     27:  * Environments.
                     28:  */
                     29: typedef        struct {
                     30:        int     e_adj;                  /* Adjust justification type    */
                     31:        int     e_adm;                  /* Adjust mode                  */
                     32:        char    e_ccc;                  /* Current control character    */
                     33:        int     e_cec;                  /* Count for center command     */
                     34:        int     e_csz;                  /* Constant character size      */
                     35:        int     e_curfont;              /* Current font                 */
                     36:        int     e_enb;                  /* Enbolden by this amount      */
                     37:        int     e_fcsz[NFONTS];         /* Font character size          */
                     38:        int     e_fill;                 /* Fill mode                    */
                     39:        char    e_fon[2];               /* Font name                    */
                     40:        unsigned char   *e_fonwidt;     /* Current font width table     */
                     41:        int     e_fpsz[NFONTS];         /* Font pointsizes              */
                     42:        char    e_hic;                  /* Hyphenation indicator character */
                     43:        int     e_hyp;                  /* Hyphenation mode             */
                     44:        int     e_hypf;                 /* Hyphenation of last word flag */
                     45:        int     e_ind;                  /* Indent                       */
                     46:        int     e_inpltrc;              /* Input line trap count        */
                     47:        char    e_inptrap[2];           /* Input line trap              */
                     48:        char    e_ldc;                  /* Leader dot character         */
                     49:        int     e_lgm;                  /* Ligature mode                */
                     50:        CODE    e_linebuf[LINSIZE];     /* Line buffer                  */
                     51:        int     e_llindir;              /* Last directive count         */
                     52:        CODE    *e_llinptr;             /* Last line pointer            */
                     53:        int     e_llinsiz;              /* Last line size               */
                     54:        int     e_lln;                  /* Line length                  */
                     55:        int     e_lmn;                  /* Line number multiple         */
                     56:        int     e_lni;                  /* Line number indent           */
                     57:        int     e_lnn;                  /* Current line number          */
                     58:        int     e_lns;                  /* Line number separation       */
                     59:        int     e_lsp;                  /* Line spacing                 */
                     60:        char    e_ltabchr;              /* Last tab character           */
                     61:        int     e_mar;                  /* Margin separation            */
                     62:        char    e_mrc;                  /* Margin character             */
                     63:        char    e_mrch;                 /* Margin character here        */
                     64:        char    e_nbc;                  /* No break character           */
                     65:        int     e_nlindir;              /* New directive count          */
                     66:        CODE    *e_nlinptr;             /* New line pointer             */
                     67:        int     e_nlinsiz;              /* New line size                */
                     68:        int     e_nnc;                  /* Count for no number command  */
                     69:        char    e_oldfon[2];            /* Last value of fon            */
                     70:        int     e_oldind;               /* Last value of ind            */
                     71:        int     e_oldlln;               /* Last value of lln            */
                     72:        int     e_oldlsp;               /* Last value of lsp            */
                     73:        int     e_oldpsz;               /* Last value of psz            */
                     74:        int     e_oldtln;               /* Last value of tln            */
                     75:        int     e_oldvls;               /* Last value of vls            */
                     76:        int     e_posexls;              /* Post extra line space        */
                     77:        int     e_preexls;              /* Pre extra line space         */
                     78:        int     e_psz;                  /* Pointsize                    */
                     79:        int     e_spcnt;                /* Space padding size           */
                     80:        int     e_ssz;                  /* Space size                   */
                     81:        int     e_sszdiv;               /* Space size divisor           */
                     82:        int     e_sszmul;               /* Space size multiplier        */
                     83:        long    e_swddiv;               /* Width table divisor          */
                     84:        long    e_swdmul;               /* Width table multiplier       */
                     85:        TAB     e_tab[TABSIZE];         /* Tab table                    */
                     86:        TAB     *e_tabptr;              /* Tab pointer                  */
                     87:        char    e_tbc;                  /* Tab character                */
                     88:        int     e_tbs;                  /* Tab spacing                  */
                     89:        int     e_tfn;                  /* Tab font number              */
                     90:        int     e_tif;                  /* Temporary indent flag        */
                     91:        int     e_tin;                  /* Temporary indent             */
                     92:        CODE    *e_tlinptr;             /* Tab line pointer             */
                     93:        int     e_tlinsiz;              /* Tab line size                */
                     94:        int     e_tln;                  /* Title length                 */
                     95:        char    e_tpc;                  /* Page character in title      */
                     96:        int     e_ufn;                  /* Underline font number        */
                     97:        int     e_ufp;                  /* Underline font previous      */
                     98:        int     e_ulc;                  /* Count for underline command  */
                     99:        int     e_vls;                  /* Vertical line spacing        */
                    100:        CODE    e_wordbuf[WORSIZE];     /* Word buffer                  */
                    101: } ENV;
                    102: 
                    103: /*
                    104:  * Variables in current environment.
                    105:  */
                    106: #define        adj     env.e_adj               /* Adjust justification type    */
                    107: #define        adm     env.e_adm               /* Adjust mode                  */
                    108: #define        ccc     env.e_ccc               /* Current control character    */
                    109: #define        cec     env.e_cec               /* Count for center command     */
                    110: #define        csz     env.e_csz               /* Constant character size      */
                    111: #define        curfont env.e_curfont           /* Current font                 */
                    112: #define        enb     env.e_enb               /* Enbolden by this amount      */
                    113: #define        fcsz    env.e_fcsz              /* Font character size          */
                    114: #define        fill    env.e_fill              /* Fill mode                    */
                    115: #define        fon     env.e_fon               /* Font name                    */
                    116: #define        fonwidt env.e_fonwidt           /* Current font width table     */
                    117: #define        fpsz    env.e_fpsz              /* Font pointsizes              */
                    118: #define        hic     env.e_hic               /* Hyphenation indicator character */
                    119: #define        hyp     env.e_hyp               /* Hyphenation mode             */
                    120: #define        hypf    env.e_hypf              /* Hyphenation of last word flag */
                    121: #define        ind     env.e_ind               /* Indent                       */
                    122: #define        inpltrc env.e_inpltrc           /* Input line trap count        */
                    123: #define        inptrap env.e_inptrap           /* Input line trap              */
                    124: #define        ldc     env.e_ldc               /* Leader dot character         */
                    125: #define        lgm     env.e_lgm               /* Ligature mode                */
                    126: #define        linebuf env.e_linebuf           /* Line buffer                  */
                    127: #define        llindir env.e_llindir           /* Last directive count         */
                    128: #define        llinptr env.e_llinptr           /* Last line pointer            */
                    129: #define        llinsiz env.e_llinsiz           /* Last line size               */
                    130: #define        lln     env.e_lln               /* Line length                  */
                    131: #define        lmn     env.e_lmn               /* Line number multiple         */
                    132: #define        lni     env.e_lni               /* Line number indent           */
                    133: #define        lnn     env.e_lnn               /* Current line number          */
                    134: #define        lns     env.e_lns               /* Line number separation       */
                    135: #define        lsp     env.e_lsp               /* Line spacing                 */
                    136: #define        ltabchr env.e_ltabchr           /* Last tab character           */
                    137: #define        mar     env.e_mar               /* Margin separation            */
                    138: #define        mrc     env.e_mrc               /* Margin character             */
                    139: #define        mrch    env.e_mrch              /* Margin character here        */
                    140: #define        nbc     env.e_nbc               /* No break character           */
                    141: #define        nlindir env.e_nlindir           /* Current directive count      */
                    142: #define        nlinptr env.e_nlinptr           /* New line pointer             */
                    143: #define        nlinsiz env.e_nlinsiz           /* New line size                */
                    144: #define        nnc     env.e_nnc               /* Count for no number command  */
                    145: #define        oldfon  env.e_oldfon            /* Last value of fon            */
                    146: #define        oldind  env.e_oldind            /* Last value of ind            */
                    147: #define        oldlln  env.e_oldlln            /* Last value of lln            */
                    148: #define        oldlsp  env.e_oldlsp            /* Last value of lsp            */
                    149: #define        oldpsz  env.e_oldpsz            /* Last value of psz            */
                    150: #define        oldtln  env.e_oldtln            /* Last value of tln            */
                    151: #define        oldvls  env.e_oldvls            /* Last value of vls            */
                    152: #define        posexls env.e_posexls           /* Post extra line space        */
                    153: #define        preexls env.e_preexls           /* Pre extra line space         */
                    154: #define        psz     env.e_psz               /* Pointsize                    */
                    155: #define        spcnt   env.e_spcnt             /* Space padding size           */
                    156: #define        ssz     env.e_ssz               /* Space size                   */
                    157: #define        sszdiv  env.e_sszdiv            /* Space size divisor           */
                    158: #define        sszmul  env.e_sszmul            /* Space size multiplier        */
                    159: #define        swddiv  env.e_swddiv            /* Width table divisor          */
                    160: #define        swdmul  env.e_swdmul            /* Width table multiplier       */
                    161: #define        tab     env.e_tab               /* Tab table                    */
                    162: #define        tabptr  env.e_tabptr            /* Tab pointer                  */
                    163: #define        tbc     env.e_tbc               /* Tab character                */
                    164: #define        tbs     env.e_tbs               /* Tab spacing                  */
                    165: #define        tfn     env.e_tfn               /* Tab font number              */
                    166: #define        tif     env.e_tif               /* Temporary indent flag        */
                    167: #define        tin     env.e_tin               /* Temporary indent             */
                    168: #define        tlinptr env.e_tlinptr           /* Tab line pointer             */
                    169: #define        tlinsiz env.e_tlinsiz           /* Tab line size                */
                    170: #define        tln     env.e_tln               /* Title length                 */
                    171: #define        tpc     env.e_tpc               /* Page character in title      */
                    172: #define        ufn     env.e_ufn               /* Underline font number        */
                    173: #define        ufp     env.e_ufp               /* Underline font previous      */
                    174: #define        ulc     env.e_ulc               /* Count for underline command  */
                    175: #define        vls     env.e_vls               /* Vertical line spacing        */
                    176: #define        wordbuf env.e_wordbuf           /* Word buffer                  */
                    177: 
                    178: /*
                    179:  * Global variables.
                    180:  */
                    181: extern ENV     env;                    /* Current environment          */
                    182: extern int     envinit[ENVSIZE];       /* If initialized               */
                    183: extern int     envs;                   /* Environment stack index      */
                    184: extern int     envstak[ENVSTACK];      /* Environment stack            */
                    185: 
                    186: /* end of env.h */

unix.superglobalmegacorp.com

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