home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / PROCINST.ZIP / HELP.ZIP / PRT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-08-08  |  7.4 KB  |  202 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 CondDef(i, s, ch) ((s == 4 || prtdef[i+s*11] == NULL) ? \
  107.                                         ch : *prtdef[i+s*11])
  108. #define Set5or6(set, CD) ((set == 6) ? ' ' : ((set == 5) ? BOX_SOLID_BLOCK : CD))
  109.  
  110. #define BOX_SOLID_BLOCK  CondDef(SOLID_BLOCK, 0, '#')
  111. #define BOX_SHADE_BLOCK  CondDef(SHADE_BLOCK, 0, '#')
  112. #define BOX_BOT_BLOCK    CondDef(BOT_BLOCK, 0, '#')
  113. #define BOX_TOP_BLOCK    CondDef(TOP_BLOCK, 0, '#')
  114. #define BOX_VERT(set)    Set5or6(set, CondDef(BOX1_VERT, set, '|'))
  115. #define BOX_HORIZ(set)   Set5or6(set, CondDef(BOX1_HORIZ, set, '-'))
  116. #define BOX_TOP_LFT(set) Set5or6(set, CondDef(BOX1_TOP_LFT, set, '+'))
  117. #define BOX_TOP_RT(set)  Set5or6(set, CondDef(BOX1_TOP_RT, set, '+'))
  118. #define BOX_BOT_LFT(set) Set5or6(set, CondDef(BOX1_BOT_LFT, set, '+'))
  119. #define BOX_BOT_RT(set)  Set5or6(set, CondDef(BOX1_BOT_RT, set, '+'))
  120. #define BOX_TOP_TEE(set) Set5or6(set, CondDef(BOX1_TOP_TEE, set, '+'))
  121. #define BOX_BOT_TEE(set) Set5or6(set, CondDef(BOX1_BOT_TEE, set, '+'))
  122. #define BOX_LFT_TEE(set) Set5or6(set, CondDef(BOX1_LFT_TEE, set, '+'))
  123. #define BOX_RT_TEE(set)  Set5or6(set, CondDef(BOX1_RT_TEE, set, '+'))
  124. #define BOX_CROSS(set)   Set5or6(set, CondDef(BOX1_CROSS, set, '+'))
  125.  
  126. /* define attributes */
  127. #define P_NORMAL      0x0000
  128. #define P_ITALIC      0x0001
  129. #define P_BOLD        0x0002
  130. #define P_UNDER       0x0004
  131. #define P_LQ          0x0008
  132. #define P_PS          0x0010
  133. #define P_SUBSCRIPT   0x0020
  134. #define P_SUPERSCRIPT 0x0040
  135. #define P_DBL_WIDE    0x0080
  136. #define P_DBL_HIGH    0x0100
  137. #define P_CONDENSED   0x0200
  138. #define P_CPI5        0x0400
  139. #define P_CPI10       0x0800
  140. #define P_CPI12       0x1000
  141. #define P_CPI16       0x2000
  142. #define P_BOX         0x4000
  143. #define P_DUMMY       0x8000
  144.  
  145. #define MAX_PRINTERS 64
  146.  
  147. #define PRINT_FILE "File"
  148. #define PRINTER Printer
  149.  
  150. struct devtab
  151. {
  152.     int com[4];
  153.     int lpt[3];
  154. };
  155.  
  156. /* external variables */
  157. extern char *prtdef[];
  158. extern int sizdef[];
  159. extern char *pnames[];
  160. extern int nprts;
  161. extern FILE *prtfp;
  162. extern FILE *devfp;
  163. extern unsigned char **pagebuff;
  164. extern unsigned int **attrbuff;
  165. extern int boxset_p;
  166. extern char *vprtbuff;
  167.  
  168. /* external function prototypes/declarations */
  169. /* chars */
  170. PROTO (char **get_devs, (int, struct devtab *));
  171.  
  172. /* voids */
  173. extern PROTO (void free_devs, (int, char **));
  174. extern PROTO (void box_p, (int, int, int, int, int));
  175. extern PROTO (void fill_p, (int, int, int, int, int, int));
  176. extern PROTO (void clear_p, (void));
  177. extern PROTO (void emit_seq, (int));
  178. extern PROTO (void end_p, (int));
  179. extern PROTO (void flushprt, (void));
  180. extern PROTO (void get_print, (char *));
  181. extern PROTO (void init_p, (int, int));
  182. extern PROTO (void poke_p, (int, int, int, int));
  183. extern PROTO (void ps_init, (void));
  184. extern PROTO (void rephoriz_p, (int, int, int, int, int));
  185. extern PROTO (void repvert_p, (int, int, int, int, int));
  186. extern PROTO (void underln_p, (int, int, int, int));
  187. extern PROTO (void upperln_p, (int, int, int, int));
  188. extern PROTO (void printing_msg, (int, char *));
  189. extern PROTO (void display_report, (char *, int));
  190.  
  191. /* ints */
  192. extern PROTO (int get_printers, (void));
  193. extern PROTO (int devavail, (struct devtab *));
  194. extern PROTO (int open_p, (char *, char *));
  195. extern PROTO (int bdisp_p, (int, int, int, int, char *, ...));
  196. extern PROTO (int center_p, (int, int, int, int, char *, ...));
  197. extern PROTO (int disp_p, (int, int, int, char *, ...));
  198. extern PROTO (int fdisp_p, (int, int, int, int, char *));
  199. extern PROTO (int ndisp_p, (int, int, int, int, char *));
  200. extern PROTO (int xdisp_p, (int, int, int, char *));
  201.  
  202.