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