1 /*_____________________________ epson-escpr-pvt.h __________________________________*/
\r
3 /* 1 2 3 4 5 6 7 8 */
\r
4 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/
\r
5 /*******************************************|********************************************/
\r
7 * Copyright (c) 2009 Seiko Epson Corporation All rights reserved.
\r
9 * Copyright protection claimed includes all forms and matters of
\r
10 * copyrightable material and information now allowed by statutory or judicial
\r
11 * law or hereinafter granted, including without limitation, material generated
\r
12 * from the software programs which are displayed on the screen such as icons,
\r
13 * screen display looks, etc.
\r
16 /*******************************************|********************************************/
\r
18 /* Epson ESC/PR Private Data Definitions */
\r
20 /*******************************************|********************************************/
\r
21 #ifndef __EPSON_ESCPR_PVT_H__
\r
22 #define __EPSON_ESCPR_PVT_H__
\r
27 /*------------------------------ Local Compiler Switch -------------------------------*/
\r
28 /*******************************************|********************************************/
\r
30 /*------------------------------------ Includes -------------------------------------*/
\r
31 /*******************************************|********************************************/
\r
32 #include "epson-typedefs.h"
\r
33 #include "epson-escpr-def.h"
\r
35 /*------------------------------------- Data Types -------------------------------------*/
\r
36 /*******************************************|********************************************/
\r
37 typedef void* EPS_HANDLE; /* handle */
\r
39 /*-------------------------------------- Macros -------------------------------------*/
\r
40 /*******************************************|********************************************/
\r
43 /*----------------------------------- Definitions ------------------------------------*/
\r
44 /*******************************************|********************************************/
\r
46 /*** API Initialization States */
\r
47 /*** -------------------------------------------------------------------------------*/
\r
48 #define EPS_STATUS_NOT_INITIALIZED 0
\r
49 #define EPS_STATUS_INITIALIZED 1
\r
50 #define EPS_STATUS_ESTABLISHED 2
\r
51 #define EPS_STATUS_PROCCESSING 3
\r
53 /*** Definitions for pm string data */
\r
54 /*** -------------------------------------------------------------------------------*/
\r
55 #define EPS_PM_MAXSIZE 512
\r
56 #define EPS_PM_HEADER_LEN 9
\r
57 #define EPS_PM2_HEADER_LEN 10
\r
58 #define EPS_PM_TERMINATOR_LEN 2
\r
59 #define EPS_PM_DATA_LEN (EPS_PM_MAXSIZE - EPS_PM_HEADER_LEN)
\r
61 /*** Definitions for device id string data */
\r
62 /*** -------------------------------------------------------------------------------*/
\r
63 #define EPS_DI_MAXSIZE 512
\r
65 /*** reset command states */
\r
66 /*** -------------------------------------------------------------------------------*/
\r
67 #define EPS_RESET_NOT_SENT 0
\r
68 #define EPS_RESET_SENT 1
\r
70 /*** I/O port states */
\r
71 /*** -------------------------------------------------------------------------------*/
\r
72 #define EPS_IO_NOT_OPEN 0
\r
73 #define EPS_IO_OPEN 1
\r
75 /*** pm Date States */
\r
76 /*** -------------------------------------------------------------------------------*/
\r
77 #define EPS_PM_STATE_NOT_FILTERED 0
\r
78 #define EPS_PM_STATE_FILTERED 1
\r
82 /*** -------------------------------------------------------------------------------*/
\r
83 #define EPS_CBTCHANNEL_CTRL 0x01 /* Control Channel */
\r
84 #define EPS_CBTCHANNEL_DATA 0x00 /* Data Channel */
\r
86 /*** CBT Mechanical Commands */
\r
87 /*** -------------------------------------------------------------------------------*/
\r
88 #define EPS_CBTCOM_CH 0
\r
89 #define EPS_CBTCOM_NC 1
\r
90 #define EPS_CBTCOM_EI 2
\r
91 #define EPS_CBTCOM_CSA 3
\r
92 #define EPS_CBTCOM_CSB 4
\r
93 #define EPS_CBTCOM_CX 5
\r
94 #define EPS_CBTCOM_XIA 6
\r
95 #define EPS_CBTCOM_XIB 7
\r
96 #define EPS_CBTCOM_PE 8
\r
97 #define EPS_CBTCOM_PJ 9
\r
98 #define EPS_CBTCOM_ST 10
\r
99 #define EPS_CBTCOM_XIA2 12
\r
100 #define EPS_CBTCOM_XIA3 13
\r
101 #define EPS_CBTCOM_PM 14
\r
102 #define EPS_CBTCOM_DI 15
\r
103 #define EPS_CBTCOM_PM2 16
\r
104 #define EPS_CBTCOM_RJ 17
\r
107 /*** CBT Error Code */
\r
108 /*** -------------------------------------------------------------------------------*/
\r
109 #define EPCBT_ERR_NONE 0 /* Normal End */
\r
111 #define EPSCBT_ERR_INITDENIED -1 /* Printer Result=0x01 */
\r
112 #define EPSCBT_ERR_VERSION -2 /* Printer Result=0x02 */
\r
113 #define EPSCBT_ERR_CLOSEDENIED -3 /* Printer Result=0x03 */
\r
114 #define EPSCBT_ERR_RESOURCE -4 /* Printer Result=0x04 */
\r
115 #define EPSCBT_ERR_OPENCHANNEL -5 /* Printer Result=0x05 */
\r
116 #define EPSCBT_ERR_CHOPENDED -6 /* Printer Result=0x06 */
\r
117 #define EPSCBT_ERR_CREDITOVF -7 /* Printer Result=0x07 */
\r
118 #define EPSCBT_ERR_CMDDENIED -8 /* Printer Result=0x08 */
\r
119 #define EPSCBT_ERR_CHNOTSUPPORT -9 /* Printer Result=0x09 */
\r
120 #define EPSCBT_ERR_NOSERVICE -10 /* Printer Result=0x0A */
\r
121 #define EPSCBT_ERR_INITFAILED -11 /* Printer Result=0x0B */
\r
122 #define EPSCBT_ERR_PACKETSIZE -12 /* Printer Result=0x0C */
\r
123 #define EPSCBT_ERR_NULLPACKETSZ -13 /* Printer Result=0x0D */
\r
125 #define EPSCBT_ERR_PARAM -20 /* parameter error */
\r
126 #define EPSCBT_ERR_NOTOPEN -22 /* Port Not open */
\r
127 #define EPSCBT_ERR_2NDOPEN -23 /* Port open second */
\r
128 #define EPSCBT_ERR_CHNOTOPEN -24 /* Channel not open or close */
\r
129 #define EPSCBT_ERR_CH2NDOPEN -25 /* Channel open second */
\r
130 #define EPSCBT_ERR_RPLYPSIZE -28 /* OpenChannel Paket Size Fail */
\r
131 #define EPSCBT_ERR_WRITEERROR -31 /* Write Error */
\r
132 #define EPSCBT_ERR_READERROR -32 /* Read Error */
\r
133 #define EPSCBT_ERR_FNCDISABLE -33 /* Not send or receive */
\r
135 #define EPSCBT_ERR_FATAL -50 /* FATAL Error */
\r
136 #define EPSCBT_ERR_CBTDISABLE -52 /* fail EpsonPackingCommand */
\r
137 #define EPSCBT_ERR_NOREPLY -55 /* no Reply */
\r
139 #define EPSCBT_ERR_MULFORMEDPACKET -80 /* packet data fail */
\r
140 #define EPSCBT_ERR_UEREPLY -82 /* miss match reply data */
\r
141 #define EPSCBT_ERR_UERESULT -85 /* Not Result value */
\r
143 /*** Service Pack Error */
\r
144 /*** -------------------------------------------------------------------------------*/
\r
145 #define EPS_ERR_SP_INVALID_POINTER -200
\r
146 #define EPS_ERR_SP_INVALID_HEADER -201
\r
147 #define EPS_ERR_SP_INVALID_TERMINATOR -202
\r
148 #define EPS_ERR_SP_NO_VALID_FIELD -203
\r
151 /*** -------------------------------------------------------------------------------*/
\r
152 #define MERGED_FIELD 0xFF
\r
154 /*** Save process for continue */
\r
155 /*** -------------------------------------------------------------------------------*/
\r
156 #define EPS_SAVEP_NONE 0
\r
157 #define EPS_SAVEP_START_PAGE 1
\r
158 #define EPS_SAVEP_END_PAGE 2
\r
159 #define EPS_SAVEP_LEFTOVERS 3
\r
162 /*--------------------------- Data Structure Declarations ---------------------------*/
\r
163 /*******************************************|********************************************/
\r
164 /*** Printer Status */
\r
165 /*** -------------------------------------------------------------------------------*/
\r
166 typedef struct _tagEPS_STATUS_INFO_ {
\r
171 EPS_INT32 nPrepare;
\r
173 EPS_INT32 nInkError;
\r
174 EPS_INT32 nColor[EPS_INK_NUM];
\r
175 EPS_INT32 nColorType[EPS_INK_NUM];
\r
178 /*** Basic Rect Object */
\r
179 /*** -------------------------------------------------------------------------------*/
\r
180 typedef struct _tagEPS_RECT_ {
\r
187 typedef struct _tagEPS_LINE_SEGMENT_ {
\r
190 } EPS_LINE_SEGMENT;
\r
192 /*** BMP Band Data */
\r
193 /*** -------------------------------------------------------------------------------*/
\r
194 typedef struct _tagEPS_BANDBMP_ {
\r
195 EPS_UINT32 widthBytes; /* number of bytes in each scan line */
\r
196 const EPS_UINT8* bits; /* pointer to the the bit values for the bitmap */
\r
200 /*** -------------------------------------------------------------------------------*/
\r
201 typedef struct _tagEPS_BASEPOINT_ {
\r
203 EPS_RECT borderless;
\r
207 /*** "pm" Command Reply Data */
\r
208 /*** -------------------------------------------------------------------------------*/
\r
209 typedef struct _tagEPS_PM_DATA_ {
\r
211 EPS_UINT8 pmString[EPS_PM_MAXSIZE];
\r
215 /*** Printer Infomation */
\r
216 /*** -------------------------------------------------------------------------------*/
\r
217 typedef struct _tagEPS_PRINTER_INN_ {
\r
218 EPS_INT32 protocol; /* Communication protocol */
\r
219 EPS_INT32 supportFunc;
\r
220 EPS_INT8 manufacturerName[EPS_NAME_BUFFSIZE];
\r
221 EPS_INT8 modelName[EPS_NAME_BUFFSIZE];
\r
222 EPS_INT8 friendlyName[EPS_NAME_BUFFSIZE];
\r
223 EPS_INT8 location[EPS_ADDR_BUFFSIZE];
\r
224 /* unused EPS_INT8 serial[EPS_NAME_BUFFSIZE];*/
\r
225 EPS_INT8 printerID[EPS_PRNID_BUFFSIZE];
\r
226 /* unused EPS_BOOL needUpgrade; */
\r
227 EPS_HANDLE protocolInfo;
\r
228 EPS_UINT16 printPort;
\r
230 EPS_UINT32 language; /* print language */
\r
231 EPS_INT8 macAddress[EPS_ADDR_BUFFSIZE];
\r
233 /*** Supported Media */
\r
234 /*** -------------------------------------------------------------------------------*/
\r
235 EPS_SUPPORTED_MEDIA supportedMedia;
\r
238 /*** Original PM reply */
\r
239 /*** -------------------------------------------------------------------------------*/
\r
240 EPS_PM_DATA pmData;
\r
246 /*** Printer List */
\r
247 /*** -------------------------------------------------------------------------------*/
\r
248 typedef struct _tagEPS_PL_NODE_ {
\r
249 EPS_PRINTER_INN* printer;
\r
250 /* unused EPS_BOOL notified; */
\r
251 struct _tagEPS_PL_NODE_* next;
\r
254 typedef struct _tagEPS_PRINTER_LIST_ {
\r
255 EPS_INT32 num; /* printer count of espFindPrinter result */
\r
256 EPS_PL_NODE* root; /* printer list of espFindPrinter result */
\r
259 /*--------------------------- Internal Print Job Structure --------------------------*/
\r
260 /*******************************************|********************************************/
\r
261 typedef struct _tagEPS_PRINT_JOB_ {
\r
263 /*** Job / Page Status State */
\r
264 /*** -------------------------------------------------------------------------------*/
\r
265 EPS_INT32 jobStatus; /* Job status */
\r
266 EPS_INT32 pageStatus; /* Page status */
\r
267 EPS_INT32 findStatus; /* Find status */
\r
269 /*** Communication Mode */
\r
270 /*** -------------------------------------------------------------------------------*/
\r
271 EPS_INT32 commMode; /* Computer byte storage order */
\r
273 /*** Platform Specifics */
\r
274 /*** -------------------------------------------------------------------------------*/
\r
275 #ifdef GCOMSW_EPSON_SLEEP
\r
276 EPS_INT32 sleepSteps; /* Sleep loop value */
\r
279 /*** Page Attributes */
\r
280 /*** -------------------------------------------------------------------------------*/
\r
281 EPS_JOB_ATTRIB attr;
\r
283 /*** Run-Time Job Printing Parameters */
\r
284 /*** -------------------------------------------------------------------------------*/
\r
285 EPS_INT32 verticalOffset;
\r
286 EPS_UINT32 jpegSize;
\r
288 /*** Borderless Printing Parameters */
\r
289 /*** -------------------------------------------------------------------------------*/
\r
290 EPS_INT32 borderlessMode; /* Borderless mode selected */
\r
291 /* unused EPS_INT32 topCnt; Counter - many top rasters saved */
\r
292 /* unused EPS_INT32 botCnt; Counter - many bottom rasters saved */
\r
293 /* unused EPS_BOOL topFlushed; Flag to determine if top to be flushed */
\r
294 /* unused EPS_BASEPT basePt; */
\r
296 EPS_RECT border; /* Border Base Point */
\r
297 EPS_RECT borderless; /* Borderless Base Point */
\r
298 EPS_RECT pad; /* Pad Base Point */
\r
301 /*** -------------------------------------------------------------------------------*/
\r
302 EPS_INT32 paperWidth; /* Width of Media */
\r
303 EPS_INT32 paperHeight; /* Height of Media */
\r
305 /*** Margins - based on Media and border Mode */
\r
306 /*** -------------------------------------------------------------------------------*/
\r
307 EPS_INT32 topMargin; /* Media/Border-Mode Top Margin */
\r
308 EPS_INT32 leftMargin; /* Media/Border-Mode Left Margin */
\r
309 EPS_INT32 bottomMargin; /* Media/Border-Mode Bottom Margin */
\r
310 EPS_INT32 rightMargin; /* Media/Border-Mode Right Margin */
\r
313 /*** -------------------------------------------------------------------------------*/
\r
314 EPS_UINT32 printableAreaWidth; /* users setting */
\r
315 EPS_UINT32 printableAreaHeight; /* users setting */
\r
316 EPS_UINT8 bpp; /* 3 for RGB, 1 for 256 */
\r
317 EPS_INT16 offset_x; /* offset to be used. calculated when */
\r
318 EPS_INT16 offset_y; /* changing basepoint */
\r
320 /*** Print Band Information */
\r
321 /*** -------------------------------------------------------------------------------*/
\r
322 /* unused const EPS_UINT8* printBandData; Print Band Data */
\r
323 /* unused EPS_UINT32 printBandWidth; Print Band Width in Pixels */
\r
324 EPS_UINT32 printBandHeight; /* Print Band Height in image lines */
\r
325 /* unused EPS_UINT32 printBandBPL; Print Band Bytes Per Line */
\r
326 /* unused EPS_RECT printBandRect; Rect for print band */
\r
328 /*** Job Trarget Printer */
\r
329 /*** -------------------------------------------------------------------------------*/
\r
330 EPS_PRINTER_INN* printer;
\r
332 /*** Protocol depend info */
\r
333 /*** -------------------------------------------------------------------------------*/
\r
334 EPS_HANDLE hProtInfo;
\r
336 /*** Reset State Flag */
\r
337 /*** -------------------------------------------------------------------------------*/
\r
338 EPS_INT32 resetSent; /* sent */
\r
339 EPS_BOOL resetReq; /* reqest from printer */
\r
342 /*** Communication */
\r
343 /*** -------------------------------------------------------------------------------*/
\r
345 EPS_BOOL transmittable; /* possible to transmit */
\r
346 EPS_BOOL bJpgLimit;
\r
349 /*** Additional data */
\r
350 /*** -------------------------------------------------------------------------------*/
\r
351 EPS_UINT32 additional;
\r
352 struct { /* QR Code */
\r
355 EPS_INT32 dpc; /* Dots per Cell */
\r
361 /*** -------------------------------------------------------------------------------*/
\r
362 EPS_UINT8 whiteColorValue; /* Define white value or index */
\r
364 EPS_UINT8 platform;
\r
365 EPS_INT32 pageCount;
\r
367 struct { /* Leftovers */
\r
368 EPS_INT32 lastError;
\r
369 EPS_INT32 savePoint;
\r
370 EPS_INT32 saveStep;
\r
371 const EPS_UINT8* sendData; /* buffer */
\r
372 EPS_UINT32 sendDataSize; /* Data size */
\r
373 EPS_UINT32 jpgSize; /* Jpeg Leftovers size */
\r
381 /*-------------------------- Public Function Declarations ---------------------------*/
\r
382 /*******************************************|********************************************/
\r
383 EPS_ERR_CODE SendCommand (const EPS_UINT8 *Buffer, EPS_UINT32, EPS_UINT32*, EPS_BOOL );
\r
390 #endif /* def __EPSON_ESCPR_PVT_H__ */
\r
392 /*________________________________ epson-escpr-pvt.h _________________________________*/
\r
394 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/
\r
395 /* 1 2 3 4 5 6 7 8 */
\r
396 /*******************************************|********************************************/
\r
397 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r
398 /***** End of File *** End of File *** End of File *** End of File *** End of File ******/
\r
399 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r