xref: /plan9/sys/src/cmd/tbl/t.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
13e12c5d1SDavid du Colombier /* t..c : external declarations */
23e12c5d1SDavid du Colombier 
33e12c5d1SDavid du Colombier #include <u.h>
43e12c5d1SDavid du Colombier #include <libc.h>
5*219b2ee8SDavid du Colombier #include <bio.h>
63e12c5d1SDavid du Colombier # include <ctype.h>
73e12c5d1SDavid du Colombier 
83e12c5d1SDavid du Colombier # define MAXLIN 250
93e12c5d1SDavid du Colombier # define MAXHEAD 44
103e12c5d1SDavid du Colombier # define MAXCOL 30
113e12c5d1SDavid du Colombier  /* Do NOT make MAXCOL bigger with adjusting nregs[] in tr.c */
123e12c5d1SDavid du Colombier # define MAXCHS 2000
133e12c5d1SDavid du Colombier #define MAXLINLEN 300
143e12c5d1SDavid du Colombier # define MAXRPT 100
153e12c5d1SDavid du Colombier # define CLLEN 10
163e12c5d1SDavid du Colombier # define SHORTLINE 4
173e12c5d1SDavid du Colombier extern int nlin, ncol, iline, nclin, nslin;
183e12c5d1SDavid du Colombier 
193e12c5d1SDavid du Colombier extern int (*style)[MAXHEAD];
203e12c5d1SDavid du Colombier extern char (*font)[MAXHEAD][2];
213e12c5d1SDavid du Colombier extern char (*csize)[MAXHEAD][4];
223e12c5d1SDavid du Colombier extern char (*vsize)[MAXHEAD][4];
233e12c5d1SDavid du Colombier extern char (*cll)[CLLEN];
243e12c5d1SDavid du Colombier extern int (*flags)[MAXHEAD];
253e12c5d1SDavid du Colombier # define ZEROW 001
263e12c5d1SDavid du Colombier # define HALFUP 002
273e12c5d1SDavid du Colombier # define CTOP 004
283e12c5d1SDavid du Colombier # define CDOWN 010
293e12c5d1SDavid du Colombier extern int stynum[];
303e12c5d1SDavid du Colombier extern int qcol;
313e12c5d1SDavid du Colombier extern int *doubled, *acase, *topat;
323e12c5d1SDavid du Colombier extern int F1, F2;
333e12c5d1SDavid du Colombier extern int (*lefline)[MAXHEAD];
343e12c5d1SDavid du Colombier extern int fullbot[];
353e12c5d1SDavid du Colombier extern char *instead[];
363e12c5d1SDavid du Colombier extern int expflg;
373e12c5d1SDavid du Colombier extern int ctrflg;
383e12c5d1SDavid du Colombier extern int evenflg;
393e12c5d1SDavid du Colombier extern int *evenup;
403e12c5d1SDavid du Colombier extern int boxflg;
413e12c5d1SDavid du Colombier extern int dboxflg;
423e12c5d1SDavid du Colombier extern int linsize;
433e12c5d1SDavid du Colombier extern int tab;
443e12c5d1SDavid du Colombier extern int pr1403;
453e12c5d1SDavid du Colombier extern int linsize, delim1, delim2;
463e12c5d1SDavid du Colombier extern int allflg;
473e12c5d1SDavid du Colombier extern int textflg;
483e12c5d1SDavid du Colombier extern int left1flg;
493e12c5d1SDavid du Colombier extern int rightl;
503e12c5d1SDavid du Colombier struct colstr {char *col, *rcol;};
513e12c5d1SDavid du Colombier extern struct colstr *table[];
523e12c5d1SDavid du Colombier extern char *cspace, *cstore;
533e12c5d1SDavid du Colombier extern char *exstore, *exlim, *exspace;
543e12c5d1SDavid du Colombier extern int *sep;
553e12c5d1SDavid du Colombier extern int *used, *lused, *rused;
563e12c5d1SDavid du Colombier extern int linestop[];
573e12c5d1SDavid du Colombier extern char *leftover;
583e12c5d1SDavid du Colombier extern char *last, *ifile;
593e12c5d1SDavid du Colombier extern int texname;
603e12c5d1SDavid du Colombier extern int texct, texmax;
613e12c5d1SDavid du Colombier extern char texstr[];
623e12c5d1SDavid du Colombier extern int linstart;
633e12c5d1SDavid du Colombier 
643e12c5d1SDavid du Colombier 
65*219b2ee8SDavid du Colombier extern Biobuf *tabin, tabout;
663e12c5d1SDavid du Colombier # define CRIGHT 2
673e12c5d1SDavid du Colombier # define CLEFT 0
683e12c5d1SDavid du Colombier # define CMID 1
693e12c5d1SDavid du Colombier # define S1 31
703e12c5d1SDavid du Colombier # define S2 32
713e12c5d1SDavid du Colombier # define S3 33
723e12c5d1SDavid du Colombier # define TMP 38
733e12c5d1SDavid du Colombier #define S9 39
743e12c5d1SDavid du Colombier # define SF 35
753e12c5d1SDavid du Colombier # define SL 34
763e12c5d1SDavid du Colombier # define LSIZE 33
773e12c5d1SDavid du Colombier # define SIND 37
783e12c5d1SDavid du Colombier # define SVS 36
793e12c5d1SDavid du Colombier /* this refers to the relative position of lines */
803e12c5d1SDavid du Colombier # define LEFT 1
813e12c5d1SDavid du Colombier # define RIGHT 2
823e12c5d1SDavid du Colombier # define THRU 3
833e12c5d1SDavid du Colombier # define TOP 1
843e12c5d1SDavid du Colombier # define BOT 2
853e12c5d1SDavid du Colombier 
863e12c5d1SDavid du Colombier int tbl(int argc,char *argv[]);		/*t1.c*/
873e12c5d1SDavid du Colombier void setinp(int, char **);
883e12c5d1SDavid du Colombier int swapin(void);
893e12c5d1SDavid du Colombier 
903e12c5d1SDavid du Colombier void tableput(void);			/*t2.c*/
913e12c5d1SDavid du Colombier 
923e12c5d1SDavid du Colombier void getcomm(void);			/*t3.c*/
933e12c5d1SDavid du Colombier void backrest(char *);
943e12c5d1SDavid du Colombier 
953e12c5d1SDavid du Colombier void getspec(void);			/*t4.c*/
963e12c5d1SDavid du Colombier void readspec(void);
973e12c5d1SDavid du Colombier int findcol(void);
983e12c5d1SDavid du Colombier void garray(int);
993e12c5d1SDavid du Colombier char *getcore(int, int);
1003e12c5d1SDavid du Colombier void freearr(void);
1013e12c5d1SDavid du Colombier 
1023e12c5d1SDavid du Colombier void gettbl(void);			/*t5.c*/
1033e12c5d1SDavid du Colombier int nodata(int);
1043e12c5d1SDavid du Colombier int oneh(int);
1053e12c5d1SDavid du Colombier int vspand(int, int, int);
1063e12c5d1SDavid du Colombier int vspen(char *);
1073e12c5d1SDavid du Colombier void permute(void);
1083e12c5d1SDavid du Colombier 
1093e12c5d1SDavid du Colombier void maktab(void);			/*t6.c*/
1103e12c5d1SDavid du Colombier void wide(char *, char *, char *);
1113e12c5d1SDavid du Colombier int filler(char *);
1123e12c5d1SDavid du Colombier 
1133e12c5d1SDavid du Colombier void runout(void);			/*t7.c*/
1143e12c5d1SDavid du Colombier void runtabs(int, int);
1153e12c5d1SDavid du Colombier int ifline(char *);
1163e12c5d1SDavid du Colombier void need(void);
1173e12c5d1SDavid du Colombier void deftail(void);
1183e12c5d1SDavid du Colombier 
1193e12c5d1SDavid du Colombier void putline(int, int);			/*t8.c*/
1203e12c5d1SDavid du Colombier void puttext(char *, char *, char *);
1213e12c5d1SDavid du Colombier void funnies(int, int);
1223e12c5d1SDavid du Colombier void putfont(char *);
1233e12c5d1SDavid du Colombier void putsize(char *);
1243e12c5d1SDavid du Colombier 
1253e12c5d1SDavid du Colombier void yetmore(void);			/*t9.c*/
1263e12c5d1SDavid du Colombier int domore(char *);
1273e12c5d1SDavid du Colombier 
1283e12c5d1SDavid du Colombier void checkuse(void);			/*tb.c*/
1293e12c5d1SDavid du Colombier int real(char *);
1303e12c5d1SDavid du Colombier char *chspace(void);
1313e12c5d1SDavid du Colombier int *alocv(int);
1323e12c5d1SDavid du Colombier void release(void);
1333e12c5d1SDavid du Colombier 
1343e12c5d1SDavid du Colombier void choochar(void);			/*tc.c*/
1353e12c5d1SDavid du Colombier int point(char *);
1363e12c5d1SDavid du Colombier 
1373e12c5d1SDavid du Colombier void error(char *);			/*te.c*/
1383e12c5d1SDavid du Colombier char *gets1(char *, int);
1393e12c5d1SDavid du Colombier void un1getc(int);
1403e12c5d1SDavid du Colombier int get1char(void);
1413e12c5d1SDavid du Colombier 
1423e12c5d1SDavid du Colombier void savefill(void);			/*tf.c*/
1433e12c5d1SDavid du Colombier void rstofill(void);
1443e12c5d1SDavid du Colombier void endoff(void);
1453e12c5d1SDavid du Colombier void freearr(void);
1463e12c5d1SDavid du Colombier void saveline(void);
1473e12c5d1SDavid du Colombier void ifdivert(void);
1483e12c5d1SDavid du Colombier void restline(void);
1493e12c5d1SDavid du Colombier void cleanfc(void);
1503e12c5d1SDavid du Colombier 
1513e12c5d1SDavid du Colombier int gettext(char *, int, int, char *, char *);		/*tg.c*/
1523e12c5d1SDavid du Colombier void untext(void);
1533e12c5d1SDavid du Colombier 
1543e12c5d1SDavid du Colombier int interv(int, int);			/*ti.c*/
1553e12c5d1SDavid du Colombier int interh(int, int);
1563e12c5d1SDavid du Colombier int up1(int);
1573e12c5d1SDavid du Colombier 
1583e12c5d1SDavid du Colombier char *maknew(char *);			/*tm.c*/
1593e12c5d1SDavid du Colombier int ineqn (char *, char *);
1603e12c5d1SDavid du Colombier 
1613e12c5d1SDavid du Colombier char *reg(int, int);			/*tr.c*/
1623e12c5d1SDavid du Colombier 
1633e12c5d1SDavid du Colombier int match (char *, char *);		/*ts.c*/
1643e12c5d1SDavid du Colombier int prefix(char *, char *);
1653e12c5d1SDavid du Colombier int letter (int);
1663e12c5d1SDavid du Colombier int numb(char *);
1673e12c5d1SDavid du Colombier int digit(int);
1683e12c5d1SDavid du Colombier int max(int, int);
1693e12c5d1SDavid du Colombier void tcopy (char *, char *);
1703e12c5d1SDavid du Colombier 
1713e12c5d1SDavid du Colombier int ctype(int, int);			/*tt.c*/
1723e12c5d1SDavid du Colombier int min(int, int);
1733e12c5d1SDavid du Colombier int fspan(int, int);
1743e12c5d1SDavid du Colombier int lspan(int, int);
1753e12c5d1SDavid du Colombier int ctspan(int, int);
1763e12c5d1SDavid du Colombier void tohcol(int);
1773e12c5d1SDavid du Colombier int allh(int);
1783e12c5d1SDavid du Colombier int thish(int, int);
1793e12c5d1SDavid du Colombier 
1803e12c5d1SDavid du Colombier void makeline(int, int, int);		/*tu.c*/
1813e12c5d1SDavid du Colombier void fullwide(int, int);
1823e12c5d1SDavid du Colombier void drawline(int, int, int, int, int, int);
1833e12c5d1SDavid du Colombier void getstop(void);
1843e12c5d1SDavid du Colombier int left(int, int, int *);
1853e12c5d1SDavid du Colombier int lefdata(int, int);
1863e12c5d1SDavid du Colombier int next(int);
1873e12c5d1SDavid du Colombier int prev(int);
1883e12c5d1SDavid du Colombier 
1893e12c5d1SDavid du Colombier void drawvert(int, int, int, int);			/*tv.c*/
1903e12c5d1SDavid du Colombier int midbar(int, int);
1913e12c5d1SDavid du Colombier int midbcol(int, int);
1923e12c5d1SDavid du Colombier int barent(char *);
193