home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 257.img / PRO-C1.ZIP / HELP.ZIP / PRT.H < prev    next >
C/C++ Source or Header  |  1990-05-28  |  8KB  |  233 lines

  1. /*******( prt.h )***************************************************************
  2. *                                                                              *
  3. *  Written: Brent Faulkner - May 25, 1989                                      *
  4. *  Updated: Brent Faulkner - June 13, 1989                                     *
  5. *                                                                              *
  6. ********************************************************************************
  7. *                                                                              *
  8. * Contents: general prt defines, externs, structure definitions, etc.          *
  9. *                                                                              *
  10. *******************************************************************************/
  11. /* indices into prtcap table */                                
  12. #define NUM_LINES             0
  13. #define NUM_COLS              1
  14. #define BS                    2
  15. #define HT                    3
  16. #define FORMFEED              4
  17. #define CR                    5
  18. #define SP                    6
  19. #define LINEFEED              7
  20. #define ITALIC_ON             8
  21. #define ITALIC_OFF            9
  22. #define BOLD_ON              10
  23. #define BOLD_OFF             11
  24. #define UNDER_ON             12
  25. #define UNDER_OFF            13
  26. #define LQ_ON                14
  27. #define LQ_OFF               15
  28. #define PS_ON                16
  29. #define PS_OFF               17
  30. #define SUBSCRIPT_ON         18
  31. #define SUBSCRIPT_OFF        19
  32. #define SUPERSCRIPT_ON       20
  33. #define SUPERSCRIPT_OFF      21
  34. #define DBL_WIDE_ON          22
  35. #define DBL_WIDE_OFF         23
  36. #define DBL_HIGH_ON          24
  37. #define DBL_HIGH_OFF         25
  38. #define CONDENSED_ON         26
  39. #define CONDENSED_OFF        27
  40. #define BOX_ON               28
  41. #define BOX_OFF              29
  42. #define SOLID_BLOCK          30
  43. #define SHADE_BLOCK          31
  44. #define BOT_BLOCK            32
  45. #define TOP_BLOCK            33
  46. #define BOX1_VERT            34
  47. #define BOX1_HORIZ           35
  48. #define BOX1_TOP_LFT         36
  49. #define BOX1_TOP_RT          37
  50. #define BOX1_BOT_LFT         38
  51. #define BOX1_BOT_RT          39
  52. #define BOX1_TOP_TEE         40
  53. #define BOX1_BOT_TEE         41
  54. #define BOX1_LFT_TEE         42
  55. #define BOX1_RT_TEE          43
  56. #define BOX1_CROSS           44
  57. #define BOX2_VERT            45
  58. #define BOX2_HORIZ           46
  59. #define BOX2_TOP_LFT         47
  60. #define BOX2_TOP_RT          48
  61. #define BOX2_BOT_LFT         49
  62. #define BOX2_BOT_RT          50
  63. #define BOX2_TOP_TEE         51
  64. #define BOX2_BOT_TEE         52
  65. #define BOX2_LFT_TEE         53
  66. #define BOX2_RT_TEE          54
  67. #define BOX2_CROSS           55
  68. #define BOX3_VERT            56
  69. #define BOX3_HORIZ           57
  70. #define BOX3_TOP_LFT         58
  71. #define BOX3_TOP_RT          59
  72. #define BOX3_BOT_LFT         60
  73. #define BOX3_BOT_RT          61
  74. #define BOX3_TOP_TEE         62
  75. #define BOX3_BOT_TEE         63
  76. #define BOX3_LFT_TEE         64
  77. #define BOX3_RT_TEE          65
  78. #define BOX3_CROSS           66
  79. #define BOX4_VERT            67
  80. #define BOX4_HORIZ           68
  81. #define BOX4_TOP_LFT         69
  82. #define BOX4_TOP_RT          70
  83. #define BOX4_BOT_LFT         71
  84. #define BOX4_BOT_RT          72
  85. #define BOX4_TOP_TEE         73
  86. #define BOX4_BOT_TEE         74
  87. #define BOX4_LFT_TEE         75
  88. #define BOX4_RT_TEE          76
  89. #define BOX4_CROSS           77
  90. #define LPI1                 78
  91. #define LPI2                 79
  92. #define LPI3                 80
  93. #define LPI4                 81
  94. #define LPI6                 82
  95. #define LPI8                 83
  96. #define LPI12                84
  97. #define CPI5                 85
  98. #define CPI10                86
  99. #define CPI12                87
  100. #define CPI16                88
  101. #define POSTSCRIPT           89
  102. #define ATTR_REFRESH         90
  103. #define LAST                 91
  104.  
  105. /* box character macros */
  106. #define BOX_SOLID_BLOCK   (prtdef[SOLID_BLOCK] == NULL) ? '#' : *prtdef[SOLID_BLOCK]            
  107. #define BOX_SHADE_BLOCK   (prtdef[SHADE_BLOCK] == NULL) ? '#' : *prtdef[SHADE_BLOCK]            
  108. #define BOX_BOT_BLOCK     (prtdef[BOT_BLOCK] == NULL) ? '#' : *prtdef[BOT_BLOCK]              
  109. #define BOX_TOP_BLOCK     (prtdef[TOP_BLOCK] == NULL) ? '#' : *prtdef[TOP_BLOCK]              
  110. #define BOX_VERT(set)     (prtdef[BOX1_VERT + set * 11] == NULL) ? '|' : *prtdef[BOX1_VERT + set * 11]   
  111. #define BOX_HORIZ(set)    (prtdef[BOX1_HORIZ + set * 11] == NULL) ? '-' : *prtdef[BOX1_HORIZ + set * 11]  
  112. #define BOX_TOP_LFT(set)  (prtdef[BOX1_TOP_LFT + set * 11] == NULL) ? '+' : *prtdef[BOX1_TOP_LFT + set * 11]
  113. #define BOX_TOP_RT(set)   (prtdef[BOX1_TOP_RT + set * 11] == NULL) ? '+' : *prtdef[BOX1_TOP_RT + set * 11] 
  114. #define BOX_BOT_LFT(set)  (prtdef[BOX1_BOT_LFT + set * 11] == NULL) ? '+' : *prtdef[BOX1_BOT_LFT + set * 11]
  115. #define BOX_BOT_RT(set)   (prtdef[BOX1_BOT_RT + set * 11] == NULL) ? '+' : *prtdef[BOX1_BOT_RT + set * 11] 
  116. #define BOX_TOP_TEE(set)  (prtdef[BOX1_TOP_TEE + set * 11] == NULL) ? '+' : *prtdef[BOX1_TOP_TEE + set * 11]
  117. #define BOX_BOT_TEE(set)  (prtdef[BOX1_BOT_TEE + set * 11] == NULL) ? '+' : *prtdef[BOX1_BOT_TEE + set * 11]
  118. #define BOX_LFT_TEE(set)  (prtdef[BOX1_LFT_TEE + set * 11] == NULL) ? '+' : *prtdef[BOX1_LFT_TEE + set * 11]
  119. #define BOX_RT_TEE(set)   (prtdef[BOX1_RT_TEE + set * 11] == NULL) ? '+' : *prtdef[BOX1_RT_TEE + set * 11] 
  120. #define BOX_CROSS(set)    (prtdef[BOX1_CROSS + set * 11] == NULL) ? '+' : *prtdef[BOX1_CROSS + set * 11]  
  121.  
  122. /* define attributes */
  123. #define P_NORMAL      0x0000
  124. #define P_ITALIC      0x0001
  125. #define P_BOLD        0x0002
  126. #define P_UNDER       0x0004
  127. #define P_LQ          0x0008
  128. #define P_PS          0x0010
  129. #define P_SUBSCRIPT   0x0020
  130. #define P_SUPERSCRIPT 0x0040
  131. #define P_DBL_WIDE    0x0080
  132. #define P_DBL_HIGH    0x0100
  133. #define P_CONDENSED   0x0200
  134. #define P_CPI5        0x0400
  135. #define P_CPI10       0x0800
  136. #define P_CPI12       0x1000
  137. #define P_CPI16       0x2000
  138. #define P_BOX         0x4000
  139. #define P_DUMMY       0x8000
  140.  
  141. #define MAX_PRINTERS 64
  142.  
  143. #define PRINT_FILE "File"
  144. #define PRINTER Printer
  145.  
  146. struct devtab
  147. {
  148.     int com[4];
  149.     int lpt[3];
  150. };
  151.  
  152. /* external variables */
  153. extern char *prtdef[];
  154. extern int sizdef[];
  155. extern char *pnames[];
  156. extern int nprts;
  157. extern FILE *prtfp;
  158. extern FILE *devfp;
  159. extern unsigned char **pagebuff;
  160. extern unsigned int **attrbuff;
  161. extern int boxset_p;
  162. extern char *vprtbuff;
  163.  
  164. /* external function prototypes/declarations */
  165. /* chars */
  166. #ifdef ANSI
  167. char **get_devs(int, struct devtab *);
  168. #else
  169. char **get_devs();
  170. #endif
  171.  
  172. /* voids */
  173. #ifdef ANSI
  174. extern void free_devs(int, char **);
  175. extern void box_p(int, int, int, int, int);
  176. extern void fill_p(int, int, int, int, int, int);
  177. extern void clear_p(void);
  178. extern void emit_seq(int);
  179. extern void end_p(int);
  180. extern void flushprt(void);
  181. extern void get_print(char *);
  182. extern void init_p(int, int);
  183. extern void poke_p(int, int, int, int);
  184. extern void ps_init(void);
  185. extern void rephoriz_p(int, int, int, int, int);
  186. extern void repvert_p(int, int, int, int, int);
  187. extern void underln_p(int, int, int, int);
  188. extern void upperln_p(int, int, int, int);
  189. extern void printing_msg(int, char *);
  190. extern void display_report(char *, int);
  191. #else
  192. extern void free_devs();
  193. extern void box_p();
  194. extern void fill_p();
  195. extern void clear_p();
  196. extern void emit_seq();
  197. extern void end_p();
  198. extern void flushprt();
  199. extern void get_print();
  200. extern void init_p();
  201. extern void poke_p();
  202. extern void ps_init();
  203. extern void rephoriz_p();
  204. extern void repvert_p();
  205. extern void underln_p();
  206. extern void upperln_p();
  207. extern void printing_msg();
  208. extern void display_report();
  209. #endif
  210.  
  211. /* ints */
  212. #ifdef ANSI
  213. extern int get_printers(void);
  214. extern int devavail(struct devtab *);
  215. extern int open_p(char *, char *);
  216. extern int bdisp_p(int, int, int, int, char *, ...);
  217. extern int center_p(int, int, int, int, char *, ...);
  218. extern int disp_p(int, int, int, char *, ...);
  219. extern int fdisp_p(int, int, int, int, char *);
  220. extern int ndisp_p(int, int, int, int, char *);
  221. extern int xdisp_p(int, int, int, char *);
  222. #else
  223. extern int get_printers();
  224. extern int devavail();
  225. extern int open_p();
  226. extern int bdisp_p();
  227. extern int center_p();
  228. extern int disp_p();
  229. extern int fdisp_p();
  230. extern int ndisp_p();
  231. extern int xdisp_p();
  232. #endif
  233.