|
|
1.1 root 1: struct tmpfaddr { /* /tmp file address for strings and macros */
2: filep b; /* block number [1:NBLIST] */
3: int o; /* in block offset [0:127] */
4: };
5:
6: struct d {
7: struct tmpfaddr op;
8: int dnl,dimac,ditrap,ditf,alss,blss,nls,mkline,maxl,hnl,curd;
9: };
10:
11:
12: struct s {
13: int nargs;
14: struct s *pframe;
15: struct tmpfaddr pip;
16: int macbcnt;
17: int ppendt;
18: int pCH0;
19: int *pRP;
20: int *pAP;
21: int *pCP;
22: int pch;
23: int pcstkl;
24: };
25:
26:
27: struct names { /* name table structure */
28: int ename;
29: union {
30: int (*f)(); /* function call (request) */
31: unsigned val; /* value (macro address) */
32: } vv
33: };
34:
35: struct datablock { /* nroff/troff data area (for compaction) */
36: int Dr[NN+1];
37: struct names Dnametab[NM+1];
38: int Dnlist[NTRAP], Dmlist[NTRAP];
39: int Dvlist[NN], Dinc[NN], Dfmt[NN];
40: char Dtrtab[256];
41: unsigned Dblist[NBLIST+1];
42: };
43:
44: struct dnames { /* name table structure - for defines in ni.c */
45: int ename;
46: /* union { */
47: int (*xf)(); /* function call (request) */
48: /* unsigned val; /* value (macro address) */
49: /* } vv */
50: };
51:
52: struct ddatablock { /* nroff/troff data area (for compaction) */
53: int Dr[NN+1];
54: struct dnames xDnametab[NM+1];
55: int Dnlist[NTRAP], Dmlist[NTRAP];
56: int Dvlist[NN], Dinc[NN], Dfmt[NN];
57: char Dtrtab[256];
58: unsigned Dblist[NBLIST+1];
59: };
60:
61: struct envblock { /* head of saved environment data block */
62: int Eics;
63: int Eic;
64: int Eicf;
65: int Echbits;
66: int Enmbits;
67: int Eapts;
68: int Eapts1;
69: int Epts;
70: int Epts1;
71: int Efont;
72: int Efont1;
73: int Esps;
74: #ifndef NROFF
75: int Espacesz;
76: int Espbits;
77: #endif
78: int Elss;
79: int Elss1;
80: int Els;
81: int Els1;
82: int Ell;
83: int Ell1;
84: int Elt;
85: int Elt1;
86: int Ead;
87: int Enms;
88: int Endf;
89: int Efi;
90: int Ecc;
91: int Ec2;
92: int Eohc;
93: int Ehyf;
94: int Ehyoff;
95: int Eun1;
96: int Etabc;
97: int Edotc;
98: int Eadsp;
99: int Eadrem;
100: int Elastl;
101: int Enel;
102: int Eadmod;
103: int *Ewordp;
104: int Espflg;
105: int *Elinep;
106: int *Ewdend;
107: int *Ewdstart;
108: int Ewne;
109: int Ene;
110: int Enc;
111: int Enb;
112: int Elnmod;
113: int Enwd;
114: int Enn;
115: int Eni;
116: int Eul;
117: int Ecu;
118: int Ece;
119: int Ein;
120: int Ein1;
121: int Eun;
122: int Ewch;
123: int Ependt;
124: int *Ependw;
125: int Ependnf;
126: int Espread;
127: int Eit;
128: int Eitmac;
129: int Elnsize;
130: int *Ehyptr[NHYP];
131: int Etabtab[NTAB];
132: int Eline[LNSIZE];
133: int Eword[WDSIZE];
134: }; /* end of saved environment block */
135:
136:
137:
138: #define Habs(i) (((int)i < 0) ? -i : i) /* abs func for v_* */
139:
140: #define v_pn vlist[abs(HASH(PAIR('%',0),NN))]
141: #define v_nl vlist[abs(HASH(PAIR('n','l'),NN))]
142: #define v_yr vlist[abs(HASH(PAIR('y','r'),NN))]
143: #define v_hp vlist[abs(HASH(PAIR('h','p'),NN))]
144: #define v_ct vlist[abs(HASH(PAIR('c','t'),NN))]
145: #define v_dn vlist[abs(HASH(PAIR('d','n'),NN))]
146: #define v_mo vlist[abs(HASH(PAIR('m','o'),NN))]
147: #define v_dy vlist[abs(HASH(PAIR('d','y'),NN))]
148: #define v_dw vlist[abs(HASH(PAIR('d','w'),NN))]
149: #define v_ln vlist[abs(HASH(PAIR('l','n'),NN))]
150: #define v_dl vlist[abs(HASH(PAIR('d','l'),NN))]
151: #define v_st vlist[abs(HASH(PAIR('s','t'),NN))]
152: #define v_sb vlist[abs(HASH(PAIR('s','b'),NN))]
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.