Blob


1 /* t..c : external declarations */
3 #include <u.h>
4 #include <libc.h>
5 #include <bio.h>
6 # include <ctype.h>
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;
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;
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
86 int tbl(int argc,char *argv[]); /*t1.c*/
87 void setinp(int, char **);
88 int swapin(void);
90 void tableput(void); /*t2.c*/
92 void getcomm(void); /*t3.c*/
93 void backrest(char *);
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);
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);
109 void maktab(void); /*t6.c*/
110 void wide(char *, char *, char *);
111 int filler(char *);
113 void runout(void); /*t7.c*/
114 void runtabs(int, int);
115 int ifline(char *);
116 void need(void);
117 void deftail(void);
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 *);
125 void yetmore(void); /*t9.c*/
126 int domore(char *);
128 void checkuse(void); /*tb.c*/
129 int real(char *);
130 char *chspace(void);
131 int *alocv(int);
132 void release(void);
134 void choochar(void); /*tc.c*/
135 int point(char *);
137 void error(char *); /*te.c*/
138 char *gets1(char *, int);
139 void un1getc(int);
140 int get1char(void);
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);
151 #define gettext tbl_gettext
152 int gettext(char *, int, int, char *, char *); /*tg.c*/
153 void untext(void);
155 int interv(int, int); /*ti.c*/
156 int interh(int, int);
157 int up1(int);
159 char *maknew(char *); /*tm.c*/
160 int ineqn (char *, char *);
162 char *reg(int, int); /*tr.c*/
164 int match (char *, char *); /*ts.c*/
165 int prefix(char *, char *);
166 int letter (int);
167 int numb(char *);
168 int digit(int);
169 int max(int, int);
170 void tcopy (char *, char *);
172 int ctype(int, int); /*tt.c*/
173 int min(int, int);
174 int fspan(int, int);
175 int lspan(int, int);
176 int ctspan(int, int);
177 void tohcol(int);
178 int allh(int);
179 int thish(int, int);
181 void makeline(int, int, int); /*tu.c*/
182 void fullwide(int, int);
183 void drawline(int, int, int, int, int, int);
184 void getstop(void);
185 int left(int, int, int *);
186 int lefdata(int, int);
187 int next(int);
188 int prev(int);
190 void drawvert(int, int, int, int); /*tv.c*/
191 int midbar(int, int);
192 int midbcol(int, int);
193 int barent(char *);