xref: /original-bsd/old/roff/common_source/tdef.h (revision 0c802388)
1*0c802388Sbostic /*-
2*0c802388Sbostic  * Copyright (c) 1991 The Regents of the University of California.
3*0c802388Sbostic  * All rights reserved.
4*0c802388Sbostic  *
5*0c802388Sbostic  * %sccs.include.proprietary.c%
6*0c802388Sbostic  *
7*0c802388Sbostic  *	@(#)tdef.h	4.9 (Berkeley) 04/18/91
8*0c802388Sbostic  */
9e6bb2f1aSsam 
109b27581bSkarels #include <sys/param.h>
119b27581bSkarels #undef CMASK			/* XXX */
129b27581bSkarels #undef BIG			/* XXX */
139b27581bSkarels #define MAXPTR (-1)		/* max value of any pointer variable */
14c1cc520eSrrh #ifdef NROFF	/*NROFF*/
15c1cc520eSrrh #define EM t.Em
16c1cc520eSrrh #define HOR t.Hor
17c1cc520eSrrh #define VERT t.Vert
18c1cc520eSrrh #define INCH 240	/*increments per inch*/
19c1cc520eSrrh #define SPS INCH/10	/*space size*/
20c1cc520eSrrh #define SS INCH/10	/* " */
21c1cc520eSrrh #define TRAILER 0
22c1cc520eSrrh #define UNPAD 0227
23c1cc520eSrrh #define PO 0 /*page offset*/
24c1cc520eSrrh #define ASCII 1
25c1cc520eSrrh #define PTID 1
26c1cc520eSrrh #define LG 0
27c1cc520eSrrh #define DTAB 0	/*set at 8 Ems at init time*/
28c1cc520eSrrh #define ICS 2*SPS
29c1cc520eSrrh #define TEMP 256	/*65K*/
30c1cc520eSrrh #endif
31c1cc520eSrrh #ifndef NROFF	/*TROFF*/
32c1cc520eSrrh #define INCH 432	/*troff resolution*/
33c1cc520eSrrh #define SPS 20	/*space size at 10pt; 1/3 Em*/
34c1cc520eSrrh #define SS 12	/*space size in 36ths of an em*/
35c1cc520eSrrh #define TRAILER 6048	/*144*14*3 = 14 inches*/
36c1cc520eSrrh #define UNPAD 027
37c1cc520eSrrh #define PO 416 /*page offset 26/27ths inch*/
38c1cc520eSrrh #define HOR 1
39c1cc520eSrrh #define VERT 3
40c1cc520eSrrh #define EM (6*(pts&077))
41c1cc520eSrrh #define ASCII 0
42c1cc520eSrrh #define PTID 0
43c1cc520eSrrh #define LG 1
44c1cc520eSrrh #define DTAB (INCH/2)
45c1cc520eSrrh #define ICS 3*SPS
46c1cc520eSrrh #define TEMP 512	/*128K*/
47c1cc520eSrrh #endif
48c1cc520eSrrh 
49c1cc520eSrrh #include <signal.h>
50c1cc520eSrrh #define NARSP 0177	/*narrow space*/
51c1cc520eSrrh #define HNSP 0226	/*half narrow space*/
52c1cc520eSrrh #define PS 10	/*default point size*/
53c1cc520eSrrh #define FT 0	/*default font position*/
54c1cc520eSrrh #define LL 65*INCH/10	/*line length; 39picas=6.5in*/
55c1cc520eSrrh #define VS INCH/6	/*vert space; 12points*/
56145fdc2fSrrh #ifdef VMUNIX
57145fdc2fSrrh #define NN 528	/*number registers*/
58145fdc2fSrrh #else
59145fdc2fSrrh #define NN 132	/*number registers*/
60145fdc2fSrrh #endif
61145fdc2fSrrh /* #define NN 200	*/
62c1cc520eSrrh #define NNAMES 14 /*predefined reg names*/
63c1cc520eSrrh #define NIF 15	/*if-else nesting*/
64c1cc520eSrrh #define NS 64	/*name buffer*/
65c1cc520eSrrh #define NTM 256	/*tm buffer*/
66c1cc520eSrrh #define NEV 3	/*environments*/
67c1cc520eSrrh #define EVLSZ 10	/*size of ev stack*/
68c1cc520eSrrh /* #define EVS 4*256	*/
69145fdc2fSrrh #ifdef VMUNIX
70145fdc2fSrrh #define NM 600
71145fdc2fSrrh #define EVS 6*256	/*environment size in words*/
72145fdc2fSrrh #else
73c1cc520eSrrh #define NM 300	/*requests + macros*/
74145fdc2fSrrh #define EVS 3*256	/*environment size in words*/
75145fdc2fSrrh #endif
76c1cc520eSrrh #define DELTA 512	/*delta core bytes*/
77c1cc520eSrrh #define NHYP 10	/*max hyphens per word*/
78c1cc520eSrrh #define NHEX 128	/*byte size of exception word list*/
79c1cc520eSrrh #define NTAB 35	/*tab stops*/
80c1cc520eSrrh #define NSO 5	/*"so" depth*/
81145fdc2fSrrh #ifdef VMUNIX
82145fdc2fSrrh #define WDSIZE 340	/*word buffer size*/
83145fdc2fSrrh #define LNSIZE 960	/*line buffer size*/
84145fdc2fSrrh #else
85c1cc520eSrrh #define WDSIZE 170	/*word buffer size*/
86c1cc520eSrrh #define LNSIZE 480	/*line buffer size*/
87145fdc2fSrrh #endif
88c1cc520eSrrh /* #define LNSIZE 680	*/
89c1cc520eSrrh #define NDI 5	/*number of diversions*/
90c1cc520eSrrh #define DBL 0100000	/*double size indicator*/
91c1cc520eSrrh #define MOT 0100000	/*motion character indicator*/
92c1cc520eSrrh #define MOTV 0160000	/*clear for motion part*/
93c1cc520eSrrh #define VMOT 0040000	/*vert motion bit*/
94c1cc520eSrrh #define NMOT 0020000	/* negative motion indicator*/
95c1cc520eSrrh #define MMASK 0100000	/*macro mask indicator*/
96c1cc520eSrrh #define CMASK 0100377
97c1cc520eSrrh #define ZBIT 0400	/*zero width char*/
98c1cc520eSrrh #define BMASK 0377
99c1cc520eSrrh #define BYTE 8
100c1cc520eSrrh #define IMP 004	/*impossible char*/
101c1cc520eSrrh #define FILLER 037
102c1cc520eSrrh #define PRESC 026
103c1cc520eSrrh #define HX 0376	/*High-order part of xlss*/
104c1cc520eSrrh #define LX 0375	/*low-order part of xlss*/
105c1cc520eSrrh #define CONT 025
106c1cc520eSrrh #define COLON 013
107c1cc520eSrrh #define XPAR 030
108c1cc520eSrrh #define ESC 033
109c1cc520eSrrh #define FLSS 031
110c1cc520eSrrh #define RPT 014
111c1cc520eSrrh #define JREG 0374
112c1cc520eSrrh #define NTRAP 20	/*number of traps*/
113c1cc520eSrrh #define NPN 20	/*numbers in "-o"*/
114c1cc520eSrrh #define T_PAD 0101	/*cat padding*/
115c1cc520eSrrh #define T_INIT 0100
116c1cc520eSrrh #define T_IESC 16 /*initial offset*/
117c1cc520eSrrh #define T_STOP 0111
118c1cc520eSrrh #define NPP 10	/*pads per field*/
119145fdc2fSrrh #ifdef VMUNIX
120145fdc2fSrrh #define FBUFSZ 1024
121145fdc2fSrrh #else
122c1cc520eSrrh #define FBUFSZ 256	/*field buf size words*/
123145fdc2fSrrh #endif
1249ae71b30Smckusick #define OBUFSZ 8192	/*bytes*/
1259ae71b30Smckusick #define IBUFSZ 8192	/*bytes*/
126c1cc520eSrrh #define NC 256	/*cbuf size words*/
127c1cc520eSrrh #define NOV 10	/*number of overstrike chars*/
128c1cc520eSrrh #define TDELIM 032
129c1cc520eSrrh #define LEFT 035
130c1cc520eSrrh #define RIGHT 036
131c1cc520eSrrh #define LEADER 001
132c1cc520eSrrh #define TAB 011
133c1cc520eSrrh #define TMASK  037777
134c1cc520eSrrh #define RTAB 0100000
135c1cc520eSrrh #define CTAB 0040000
136c1cc520eSrrh #define OHC 024
137c1cc520eSrrh 
138c1cc520eSrrh #define PAIR(A,B) (A|(B<<BYTE))
139c1cc520eSrrh 
140c1cc520eSrrh #define BLK  128	/*alloc block words*/
14115db54d1Srrh 
14215db54d1Srrh #ifdef VMUNIX
14315db54d1Srrh #define	BIG 1024
14415db54d1Srrh #endif VMUNIX
14515db54d1Srrh 
146c1cc520eSrrh #ifdef BIG
147c1cc520eSrrh typedef long filep;
148c1cc520eSrrh #define NBLIST BIG	/*allocation , BIG = 256 per 65k*/
149c1cc520eSrrh #define BLKBITS 7	/*for BLK=128*/
150c1cc520eSrrh #endif
151c1cc520eSrrh #ifndef BIG
152c1cc520eSrrh typedef unsigned filep;
153c1cc520eSrrh #define NBLIST TEMP	/*allocation list, TEMP<=512*/
154c1cc520eSrrh /* BLK*NBLIST<=65536 words, if filep=unsigned */
155c1cc520eSrrh #define BLKBITS 0
156c1cc520eSrrh #endif
157