|
|
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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.