|
|
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.