t.h 3.9 KB

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