xref: /plan9/sys/src/cmd/tbl/t.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1 /* t..c : external declarations */
2 
3 #include <u.h>
4 #include <libc.h>
5 #include <bio.h>
6 # include <ctype.h>
7 
8 # define MAXLIN 250
9 # define MAXHEAD 44
10 # define MAXCOL 30
11  /* Do NOT make MAXCOL bigger with adjusting nregs[] in tr.c */
12 # define MAXCHS 2000
13 #define MAXLINLEN 300
14 # define MAXRPT 100
15 # define CLLEN 10
16 # define SHORTLINE 4
17 extern int nlin, ncol, iline, nclin, nslin;
18 
19 extern int (*style)[MAXHEAD];
20 extern char (*font)[MAXHEAD][2];
21 extern char (*csize)[MAXHEAD][4];
22 extern char (*vsize)[MAXHEAD][4];
23 extern char (*cll)[CLLEN];
24 extern int (*flags)[MAXHEAD];
25 # define ZEROW 001
26 # define HALFUP 002
27 # define CTOP 004
28 # define CDOWN 010
29 extern int stynum[];
30 extern int qcol;
31 extern int *doubled, *acase, *topat;
32 extern int F1, F2;
33 extern int (*lefline)[MAXHEAD];
34 extern int fullbot[];
35 extern char *instead[];
36 extern int expflg;
37 extern int ctrflg;
38 extern int evenflg;
39 extern int *evenup;
40 extern int boxflg;
41 extern int dboxflg;
42 extern int linsize;
43 extern int tab;
44 extern int pr1403;
45 extern int linsize, delim1, delim2;
46 extern int allflg;
47 extern int textflg;
48 extern int left1flg;
49 extern int rightl;
50 struct colstr {char *col, *rcol;};
51 extern struct colstr *table[];
52 extern char *cspace, *cstore;
53 extern char *exstore, *exlim, *exspace;
54 extern int *sep;
55 extern int *used, *lused, *rused;
56 extern int linestop[];
57 extern char *leftover;
58 extern char *last, *ifile;
59 extern int texname;
60 extern int texct, texmax;
61 extern char texstr[];
62 extern int linstart;
63 
64 
65 extern Biobuf *tabin, tabout;
66 # define CRIGHT 2
67 # define CLEFT 0
68 # define CMID 1
69 # define S1 31
70 # define S2 32
71 # define S3 33
72 # define TMP 38
73 #define S9 39
74 # define SF 35
75 # define SL 34
76 # define LSIZE 33
77 # define SIND 37
78 # define SVS 36
79 /* this refers to the relative position of lines */
80 # define LEFT 1
81 # define RIGHT 2
82 # define THRU 3
83 # define TOP 1
84 # define BOT 2
85 
86 int tbl(int argc,char *argv[]);		/*t1.c*/
87 void setinp(int, char **);
88 int swapin(void);
89 
90 void tableput(void);			/*t2.c*/
91 
92 void getcomm(void);			/*t3.c*/
93 void backrest(char *);
94 
95 void getspec(void);			/*t4.c*/
96 void readspec(void);
97 int findcol(void);
98 void garray(int);
99 char *getcore(int, int);
100 void freearr(void);
101 
102 void gettbl(void);			/*t5.c*/
103 int nodata(int);
104 int oneh(int);
105 int vspand(int, int, int);
106 int vspen(char *);
107 void permute(void);
108 
109 void maktab(void);			/*t6.c*/
110 void wide(char *, char *, char *);
111 int filler(char *);
112 
113 void runout(void);			/*t7.c*/
114 void runtabs(int, int);
115 int ifline(char *);
116 void need(void);
117 void deftail(void);
118 
119 void putline(int, int);			/*t8.c*/
120 void puttext(char *, char *, char *);
121 void funnies(int, int);
122 void putfont(char *);
123 void putsize(char *);
124 
125 void yetmore(void);			/*t9.c*/
126 int domore(char *);
127 
128 void checkuse(void);			/*tb.c*/
129 int real(char *);
130 char *chspace(void);
131 int *alocv(int);
132 void release(void);
133 
134 void choochar(void);			/*tc.c*/
135 int point(char *);
136 
137 void error(char *);			/*te.c*/
138 char *gets1(char *, int);
139 void un1getc(int);
140 int get1char(void);
141 
142 void savefill(void);			/*tf.c*/
143 void rstofill(void);
144 void endoff(void);
145 void freearr(void);
146 void saveline(void);
147 void ifdivert(void);
148 void restline(void);
149 void cleanfc(void);
150 
151 int gettext(char *, int, int, char *, char *);		/*tg.c*/
152 void untext(void);
153 
154 int interv(int, int);			/*ti.c*/
155 int interh(int, int);
156 int up1(int);
157 
158 char *maknew(char *);			/*tm.c*/
159 int ineqn (char *, char *);
160 
161 char *reg(int, int);			/*tr.c*/
162 
163 int match (char *, char *);		/*ts.c*/
164 int prefix(char *, char *);
165 int letter (int);
166 int numb(char *);
167 int digit(int);
168 int max(int, int);
169 void tcopy (char *, char *);
170 
171 int ctype(int, int);			/*tt.c*/
172 int min(int, int);
173 int fspan(int, int);
174 int lspan(int, int);
175 int ctspan(int, int);
176 void tohcol(int);
177 int allh(int);
178 int thish(int, int);
179 
180 void makeline(int, int, int);		/*tu.c*/
181 void fullwide(int, int);
182 void drawline(int, int, int, int, int, int);
183 void getstop(void);
184 int left(int, int, int *);
185 int lefdata(int, int);
186 int next(int);
187 int prev(int);
188 
189 void drawvert(int, int, int, int);			/*tv.c*/
190 int midbar(int, int);
191 int midbcol(int, int);
192 int barent(char *);
193