1 /*________________________________ epson-escpr-def.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 External Definitions */
\r
20 /*******************************************|********************************************/
\r
21 #ifndef __EPSON_ESCPR_DEF_H__
\r
22 #define __EPSON_ESCPR_DEF_H__
\r
27 /*------------------------------------ Includes -------------------------------------*/
\r
28 /*******************************************|********************************************/
\r
29 #include "epson-typedefs.h"
\r
31 /*------------------------------------- Data Types -------------------------------------*/
\r
32 /*******************************************|********************************************/
\r
34 /*---------------------------------- Generic Macros ---------------------------------*/
\r
35 /*******************************************|********************************************/
\r
37 /*----------------------------------- Definitions ------------------------------------*/
\r
38 /*******************************************|********************************************/
\r
39 /*** Maximum Ink Cartridge Number */
\r
40 /*** -------------------------------------------------------------------------------*/
\r
41 #define EPS_INK_NUM 20
\r
43 /*** Buffer size for manufacter name and model name */
\r
44 /*** -------------------------------------------------------------------------------*/
\r
45 #define EPS_NAME_BUFFSIZE 64
\r
46 #define EPS_PRNID_BUFFSIZE 128
\r
47 #define EPS_ADDR_BUFFSIZE 32
\r
49 /*** Communication Mode */
\r
50 /*** -------------------------------------------------------------------------------*/
\r
51 #define EPS_COMM_UNID 0x00000001 /* Uni-Directional Communication */
\r
52 #define EPS_COMM_BID 0x00000002 /* Bi-Directional Communication */
\r
54 /*** print protocol */
\r
55 /*** -------------------------------------------------------------------------------*/
\r
56 #define EPS_PROTOCOL_INVALID 0x00000000 /* Invalid */
\r
57 #define EPS_PROTOCOL_USB 0x00000010 /* USB */
\r
58 /*#define EPS_PROTOCOL_UPNP 0x00000020 UPnP */
\r
59 #define EPS_PROTOCOL_LPR 0x00000040 /* LPR */
\r
60 #define EPS_PROTOCOL_RAW 0x00000080 /* RAW Port */
\r
61 #define EPS_PROTOCOL_NET (EPS_PROTOCOL_LPR | EPS_PROTOCOL_RAW) /* All Network */
\r
62 #define EPS_PROTOCOL_ALL (EPS_PROTOCOL_USB | EPS_PROTOCOL_NET) /* All */
\r
64 #define EPS_COMM_USB_UNID (EPS_COMM_UNID | EPS_PROTOCOL_USB ) /* USB Uni-Directional Communication */
\r
65 #define EPS_COMM_USB_BID (EPS_COMM_BID | EPS_PROTOCOL_USB ) /* USB Bi-Directional Communication */
\r
66 #define EPS_COMM_LPR_UNID (EPS_COMM_UNID | EPS_PROTOCOL_LPR ) /* LPR Uni-Directional Communication */
\r
67 #define EPS_COMM_LPR_BID (EPS_COMM_BID | EPS_PROTOCOL_LPR ) /* LPR Bi-Directional Communication */
\r
68 #define EPS_COMM_RAW_UNID (EPS_COMM_UNID | EPS_PROTOCOL_RAW ) /* RAW Uni-Directional Communication */
\r
69 #define EPS_COMM_RAW_BID (EPS_COMM_BID | EPS_PROTOCOL_RAW ) /* RAW Bi-Directional Communication */
\r
70 #define EPS_COMM_NET_UNID (EPS_COMM_UNID | EPS_PROTOCOL_NET ) /* Net Uni-Directional Communication */
\r
71 #define EPS_COMM_NET_BID (EPS_COMM_BID | EPS_PROTOCOL_NET ) /* Net Bi-Directional Communication */
\r
72 #define EPS_COMM_ALL_UNID (EPS_COMM_USB_UNID | EPS_COMM_NET_UNID) /* USB & Net Uni-Directional Communication */
\r
73 #define EPS_COMM_ALL_BID (EPS_COMM_USB_BID | EPS_COMM_NET_BID) /* USB & Net Bi-Directional Communication */
\r
75 /*** sub protocol */
\r
76 /*** -------------------------------------------------------------------------------*/
\r
77 #define EPS_SUBPROTOCOL_PCDEV 0x00001000 /* UPnP PC device */
\r
80 #define EPS_PRT_MASK_DIRECTION 0x0000000F
\r
81 #define EPS_PRT_MASK_PROTOCOL 0x00000FF0
\r
82 #define EPS_PRT_MASK_SUBPROTOCOL 0x0000F000
\r
84 #define EPS_PRT_DIRECTION(p) ( (p) & EPS_PRT_MASK_DIRECTION )
\r
85 #define EPS_PRT_PROTOCOL(p) ( (p) & EPS_PRT_MASK_PROTOCOL )
\r
86 #define EPS_PRT_SUBPROTOCOL(p) ( (p) & EPS_PRT_MASK_SUBPROTOCOL )
\r
87 #define EPS_PRT_PROTOCOL_EX(p) ( (p) & (EPS_PRT_MASK_PROTOCOL | EPS_PRT_MASK_SUBPROTOCOL) )
\r
88 #define EPS_IS_BI_PROTOCOL(p) ( ( (p) & EPS_COMM_BID) == EPS_COMM_BID )
\r
91 /*** print language */
\r
92 /*** -------------------------------------------------------------------------------*/
\r
93 #define EPS_LANG_UNKNOWN (0)
\r
94 #define EPS_LANG_ESCPR (1) /* ESC/P-R */
\r
95 #define EPS_LANG_ESCPAGE (2) /* ESC/Page(Mono) */
\r
96 #define EPS_LANG_ESCPAGE_COLOR (3) /* ESC/Page-Color */
\r
98 /*** probe method */
\r
99 /*** -------------------------------------------------------------------------------*/
\r
100 #define EPS_PRB_BYID 1 /* probe by ID string */
\r
101 #define EPS_PRB_BYADDR 2 /* probe by IP Address */
\r
104 /*** Supported functions */
\r
105 /*** -------------------------------------------------------------------------------*/
\r
106 #define EPS_SPF_RGBPRINT 0x0001 /* bitmap print. */
\r
107 #define EPS_SPF_JPGPRINT 0x0002 /* jpeg print. */
\r
108 /*#define EPS_SPF_PAPERSOURCE 0x0004 Specify the Paper source. epsStatPage() */
\r
111 /*** Print Page Attribute Values */
\r
112 /*** -------------------------------------------------------------------------------*/
\r
114 /*** ---------------------------------------------------------------------------*/
\r
115 /*** See EPS_MSID_* in epson-escpr-media.h */
\r
118 /*** ---------------------------------------------------------------------------*/
\r
119 /*** See EPS_MTID_* in epson-escpr-media.h */
\r
121 /*** Border Mode */
\r
122 /*** ---------------------------------------------------------------------------*/
\r
123 /*** See EPS_MTID_* in epson-escpr-media.h */
\r
125 /*** Print Quality */
\r
126 /*** ---------------------------------------------------------------------------*/
\r
127 /*** See EPS_MTID_* in epson-escpr-media.h */
\r
130 /*** ---------------------------------------------------------------------------*/
\r
131 #define EPS_CM_COLOR 0 /* Color */
\r
132 #define EPS_CM_MONOCHROME 1 /* Monochrome */
\r
133 #define EPS_CM_SEPIA 2 /* Sepia */
\r
136 /*** In (input image) Resolution */
\r
137 /*** ---------------------------------------------------------------------------*/
\r
138 #define EPS_IR_360X360 (1 << 0) /* 360 x 360 dpi */
\r
139 #define EPS_IR_720X720 (1 << 1) /* 720 x 720 dpi */
\r
140 #define EPS_IR_150X150 (1 << 2) /* 150 x 150 dpi */
\r
141 #define EPS_IR_300X300 (1 << 3) /* 300 x 300 dpi */
\r
142 #define EPS_IR_600X600 (1 << 4) /* 600 x 600 dpi */
\r
143 #define EPS_IR_1200X1200 (1 << 5) /* 1200 x 1200 dpi */
\r
145 /*** Print Direction */
\r
146 /*** ---------------------------------------------------------------------------*/
\r
147 #define EPS_PD_BIDIREC 0 /* Bi-direction */
\r
148 #define EPS_PD_UNIDIREC 1 /* Uni-direction */
\r
150 /*** Color Plane */
\r
151 /*** ---------------------------------------------------------------------------*/
\r
152 #define EPS_CP_FULLCOLOR 0 /* Full Color */
\r
153 #define EPS_CP_256COLOR 1 /* 256 Color */
\r
154 #define EPS_CP_JPEG 2 /* Jpeg */
\r
155 #define EPS_CP_PRINTCMD 3 /* Print command */
\r
157 /*** Command data type */
\r
158 /*** ---------------------------------------------------------------------------*/
\r
159 #define EPS_MNT_UNKNOWN 0 /* invalid type */
\r
160 #define EPS_MNT_CUSTOM 1 /* Cusutom data */
\r
161 #define EPS_MNT_CLEANING 2 /* Cleaning command data */
\r
162 #define EPS_MNT_NOZZLE 3 /* NozzleCheck command data */
\r
164 /*** Palette Size */
\r
165 /*** ---------------------------------------------------------------------------*/
\r
166 /*** Specified in Developer code */
\r
168 /*** Palette Data */
\r
169 /*** ---------------------------------------------------------------------------*/
\r
170 /*** Specified in Developer code */
\r
172 /*** Brightness (range: -50 <= brightness <= 50) */
\r
173 /*** ---------------------------------------------------------------------------*/
\r
174 /*** Specified in Developer code */
\r
176 /*** Contrast (range: -50 <= contrast <= 50) */
\r
177 /*** ---------------------------------------------------------------------------*/
\r
178 /*** Specified in Developer code */
\r
180 /*** Saturation (range: -50 <= saturation <= 50) */
\r
181 /*** ---------------------------------------------------------------------------*/
\r
182 /*** Specified in Developer code */
\r
185 /*** ---------------------------------------------------------------------------*/
\r
186 /*** Specified in Developer code */
\r
188 /*** Left Margin */
\r
189 /*** ---------------------------------------------------------------------------*/
\r
190 /*** Specified in Developer code */
\r
192 /*** Bottom Margin */
\r
193 /*** ---------------------------------------------------------------------------*/
\r
194 /*** Specified in Developer code */
\r
196 /*** Right Margin */
\r
197 /*** ---------------------------------------------------------------------------*/
\r
198 /*** Specified in Developer code */
\r
200 /*** CD/DVD Inside Dimameter */
\r
201 /*** ---------------------------------------------------------------------------*/
\r
202 #define EPS_CDDIM_IN_MIN 18
\r
203 #define EPS_CDDIM_IN_MAX 46
\r
204 #define EPS_CDDIM_IN_DEF 43
\r
206 /*** CD/DVD Outside Dimameter */
\r
207 /*** ---------------------------------------------------------------------------*/
\r
208 #define EPS_CDDIM_OUT_MIN 114
\r
209 #define EPS_CDDIM_OUT_MAX 120
\r
210 #define EPS_CDDIM_OUT_DEF 116
\r
212 /*** APF Automatic Correction */
\r
213 /*** ---------------------------------------------------------------------------*/
\r
214 #define EPS_APF_ACT_NOTHING 0 /* Nothing */
\r
215 #define EPS_APF_ACT_STANDARD 1 /* Standard (use Exif) */
\r
216 #define EPS_APF_ACT_PIM 2 /* use PIM */
\r
217 #define EPS_APF_ACT_PORTRATE 3 /* Portrate */
\r
218 #define EPS_APF_ACT_VIEW 4 /* View */
\r
219 #define EPS_APF_ACT_NIGHTVIEW 5 /* Night View */
\r
222 /*** ---------------------------------------------------------------------------*/
\r
223 #define EPS_APF_RDE_NOTHING 0 /* Nothing */
\r
224 #define EPS_APF_RDE_CORRECT 1 /* MoreSoft */
\r
226 /*** max Jpeg data size */
\r
227 /*** ---------------------------------------------------------------------------*/
\r
228 #define EPS_JPEG_SIZE_MAX (1024*1024*3) /* 3MB */
\r
229 #define EPS_JPEG_PIXEL_MAX (9600)
\r
230 #define EPS_JPEG_CHUNK_SIZE_MAX (1024*64-1) /* 0xFFFF max short */
\r
231 #define EPS_JPEG_SIZE_UNLIMIT ~(1<<(sizeof(EPS_INT32)*8-1)) /* 2GB */
\r
234 /*** Layout template value */
\r
235 /*** -------------------------------------------------------------------------------*/
\r
236 #define EPS_POS_HLEFT (-1)
\r
237 #define EPS_POS_HRIGHT (-2)
\r
238 #define EPS_POS_HCENTER (-3)
\r
239 #define EPS_POS_VTOP (-1)
\r
240 #define EPS_POS_VBOTTOM (-2)
\r
241 #define EPS_POS_VMIDDLE (-3)
\r
245 /*** -------------------------------------------------------------------------------*/
\r
246 #define EPS_DUPLEX_NONE (0)
\r
247 #define EPS_DUPLEX_LONG (1 << 0)
\r
248 #define EPS_DUPLEX_SHORT (1 << 1)
\r
251 /*** feed direction */
\r
252 /*** -------------------------------------------------------------------------------*/
\r
253 #define EPS_FEEDDIR_PORTRAIT (0)
\r
254 #define EPS_FEEDDIR_LANDSCAPE (1)
\r
258 /*** -------------------------------------------------------------------------------*/
\r
264 EPS_COLOR_LIGHTCYAN,
\r
265 EPS_COLOR_LIGHTMAGENTA,
\r
266 EPS_COLOR_LIGHTYELLOW,
\r
267 EPS_COLOR_DARKYELLOW,
\r
268 EPS_COLOR_LIGHTBLACK,
\r
271 EPS_COLOR_MATTEBLACK,
\r
272 EPS_COLOR_LIGHTLIGHTBLACK,
\r
273 EPS_COLOR_PHOTOBLACK,
\r
287 /*--------------------------- Data Structure Declarations ---------------------------*/
\r
288 /*******************************************|********************************************/
\r
290 /*** Basic Rect Object */
\r
291 /*** -------------------------------------------------------------------------------*/
\r
292 typedef struct _tagEPS_POS_ {
\r
297 /*** Printer Infomation */
\r
298 /*** -------------------------------------------------------------------------------*/
\r
299 typedef struct _tagEPS_PRINTER_ {
\r
300 EPS_UINT32 supportFunc;
\r
301 EPS_INT8 manufacturerName[EPS_NAME_BUFFSIZE];
\r
302 EPS_INT8 modelName[EPS_NAME_BUFFSIZE];
\r
303 EPS_INT8 friendlyName[EPS_NAME_BUFFSIZE];
\r
304 EPS_INT8 location[EPS_ADDR_BUFFSIZE];
\r
305 EPS_INT8 printerID[EPS_PRNID_BUFFSIZE];
\r
307 EPS_INT32 protocol; /* Communication protocol */
\r
309 EPS_UINT32 language; /* print language */
\r
310 EPS_INT8 macAddress[EPS_ADDR_BUFFSIZE];
\r
314 /*** Job Attributes */
\r
315 /*** -------------------------------------------------------------------------------*/
\r
316 typedef struct _tagEPS_JOB_ATTRIB_ {
\r
317 EPS_UINT16 version; /* structure version */
\r
319 /*** ------------------------------------------------------------------------------ */
\r
320 /*** Source Image Attribute */
\r
321 EPS_UINT8 colorPlane; /* Image color plane */
\r
322 EPS_UINT16 paletteSize; /* Palette Size (if present) */
\r
323 EPS_UINT8* paletteData; /* Palette Data (if present) */
\r
324 EPS_UINT8 inputResolution; /* Input Image Resolution */
\r
326 /*** ------------------------------------------------------------------------------ */
\r
327 /*** Output Attribute */
\r
328 EPS_INT32 mediaSizeIdx; /* Media Size Index (EPS_MSID_*) */
\r
329 /* (see epson-escpr-media.h) */
\r
330 EPS_INT32 mediaTypeIdx; /* Media Type Index (EPS_MTID_*) */
\r
331 /* (see epson-escpr-media.h) */
\r
333 EPS_UINT32 printLayout; /* Print Layout */
\r
334 EPS_UINT32 printQuality; /* Print Quality */
\r
335 EPS_UINT32 paperSource; /* Paper Source (Lv1 ext) */
\r
336 EPS_UINT8 printDirection; /* Printing Direction */
\r
338 EPS_UINT8 colorMode; /* Color Mode */
\r
339 EPS_INT8 brightness; /* Print Brightness */
\r
340 EPS_INT8 contrast; /* Print Contrast */
\r
341 EPS_INT8 saturation; /* Print Saturation */
\r
342 EPS_UINT8 apfAutoCorrect; /* APF Automatic (Jpeg only) */
\r
343 EPS_INT8 sharpness; /* sharpness (Jpeg only) */
\r
344 EPS_UINT8 redeye; /* redeye correct (Jpeg only) */
\r
346 /*** Custom border ***/
\r
347 EPS_INT16 topMargin; /* Desired Top print margin */
\r
348 EPS_INT16 leftMargin; /* Desired Left print margin */
\r
349 EPS_INT16 bottomMargin; /* Desired Bottom print margin */
\r
350 EPS_INT16 rightMargin; /* Desired Right print margin */
\r
352 /*** CD/DVD Label ***/
\r
353 EPS_UINT8 cdDimIn; /* CD Diameter Inside */
\r
354 EPS_UINT8 cdDimOut; /* CD Diameter Outside */
\r
356 /* -------------------------------------------------------------------------------- */
\r
358 EPS_INT32 cmdType; /* Print command type */
\r
360 /* -------------------------------------------------------------------------------- */
\r
362 EPS_INT32 duplex; /* Duplex print */
\r
363 EPS_INT32 copies; /* copies count */
\r
364 EPS_INT32 feedDirection; /* paper feed direction */
\r
366 /* -------------------------------------------------------------------------------- */
\r
367 EPS_INT32 orienTation;
\r
369 EPS_INT32 manualFeed;
\r
371 EPS_INT32 tonerSave;
\r
372 EPS_INT32 FacingPage;
\r
375 #define EPS_JOB_ATTRIB_VER_1 1
\r
376 #define EPS_JOB_ATTRIB_VER_2 2
\r
377 #define EPS_JOB_ATTRIB_VER_3 3
\r
378 #define EPS_JOB_ATTRIB_VER_CUR EPS_JOB_ATTRIB_VER_3
\r
381 /*** Page Attributes */
\r
382 /*** -------------------------------------------------------------------------------*/
\r
383 typedef struct _tagEPS_PAGE_ATTRIB_ {
\r
384 EPS_UINT16 version; /* structure version */
\r
386 #define EPS_PAGE_ATTRIB_VERS_0 0
\r
387 #define EPS_PAGE_ATTRIB_VER_CUR EPS_PAGE_ATTRIB_VER_0
\r
390 /*** Additional Data */
\r
391 /*** -------------------------------------------------------------------------------*/
\r
393 typedef struct _tagEPS_QRCODE_ {
\r
394 EPS_UINT16 version; /* structure version */
\r
395 EPS_INT8* source; /* source buffer */
\r
396 EPS_UINT16 srcLength; /* source size */
\r
397 EPS_INT32 xPos; /* Left position */
\r
398 EPS_INT32 yPos; /* Top position */
\r
399 EPS_UINT32 width; /* width */
\r
401 #define EPS_QRCODE_VER_1 1
\r
402 #define EPS_QRCODE_VER_CUR EPS_QRCODE_VER_1
\r
404 #define EPS_ADDDATA_NONE 0x00
\r
405 #define EPS_ADDDATA_QRCODE 0x01
\r
409 /*** -------------------------------------------------------------------------------*/
\r
410 typedef union _tagEPS_PRN_DATA_ {
\r
411 EPS_UINT16 version; /* structure version */
\r
414 EPS_UINT16 version;
\r
415 const EPS_UINT8* data;
\r
416 EPS_UINT32 heightPixels;
\r
417 EPS_UINT32 widthPixels;
\r
421 EPS_UINT16 version;
\r
422 const EPS_UINT8* data;
\r
423 EPS_UINT32 dataSize;
\r
426 #define EPS_PRN_DATA_VER_1 1
\r
427 #define EPS_PRN_DATA_VER_CUR EPS_PRN_DATA_VER_1
\r
430 /*** Printer Status */
\r
431 /*** -------------------------------------------------------------------------------*/
\r
432 typedef struct _tagEPS_STATUS_ {
\r
433 EPS_INT32 printerStatus;
\r
434 EPS_INT32 errorCode;
\r
435 EPS_BOOL jobContinue;
\r
438 /*** Ink infomation */
\r
439 /*** -------------------------------------------------------------------------------*/
\r
440 typedef struct _tagEPS_INK_INFO_ {
\r
442 EPS_INT32 colors[EPS_INK_NUM];
\r
443 EPS_INT32 remaining[EPS_INK_NUM];
\r
446 /*** Supported Media Information */
\r
447 /*** -------------------------------------------------------------------------------*/
\r
448 /* Media Type and Printing Modes */
\r
449 /* (Container for media type information (nested inside EPS_MEDIA_SIZE) ) */
\r
450 typedef struct _tagEPS_MEDIA_TYPE_V1_ {
\r
451 EPS_INT32 mediaTypeID;
\r
453 EPS_UINT32 quality;
\r
454 EPS_UINT32 paperSource; /* Paper Source */
\r
455 }EPS_MEDIA_TYPE_V1;
\r
457 typedef struct _tagEPS_MEDIA_TYPE_V2_ {
\r
458 EPS_INT32 mediaTypeID;
\r
460 EPS_UINT32 quality;
\r
461 EPS_UINT32 paperSource; /* Paper Source */
\r
462 EPS_UINT32 duplex; /* duplex print support */
\r
463 }EPS_MEDIA_TYPE_V2;
\r
464 #define EPS_MEDIA_TYPE EPS_MEDIA_TYPE_V2
\r
467 /* (Container for media size information (nested inside EPS_CAPABILITIES) ) */
\r
468 typedef struct _tagEPS_MEDIA_SIZE_ {
\r
469 EPS_INT32 mediaSizeID;
\r
470 EPS_INT32 numTypes;
\r
471 EPS_MEDIA_TYPE* typeList;
\r
474 /* Supported Media */
\r
475 typedef struct _tagEPS_SUPPORTED_MEDIA_ {
\r
476 EPS_INT32 JpegSizeLimit;
\r
477 EPS_INT32 numSizes;
\r
478 EPS_MEDIA_SIZE* sizeList;
\r
479 EPS_UINT32 resolution; /* supported input resolution */
\r
480 }EPS_SUPPORTED_MEDIA;
\r
482 /* USB device infomation */
\r
483 typedef struct _tagEPS_USB_DEVICE_ {
\r
484 EPS_UINT32 vid; /* vender ID */
\r
485 EPS_UINT32 pid; /* product ID */
\r
486 EPS_UINT32 port; /* port number */
\r
490 /*** Probe printer parameter */
\r
491 /*** -------------------------------------------------------------------------------*/
\r
492 typedef struct tagEPS_PROBE_ {
\r
493 EPS_INT32 version; /* this version */
\r
495 EPS_UINT32 timeout;
\r
497 EPS_INT8 identify[EPS_PRNID_BUFFSIZE];
\r
499 EPS_INT32 protocol;
\r
500 EPS_INT8 address[EPS_ADDR_BUFFSIZE];
\r
504 #define EPS_PROBE_VER_1 1
\r
505 #define EPS_PROBE_VER_CUR EPS_PROBE_VER_1
\r
508 /*** -------------------------------------------------------------------------------*/
\r
509 typedef struct _tagEPS_LOCAL_TIME_ {
\r
519 /*-------------------------- External Function Definitions --------------------------*/
\r
520 /*******************************************|********************************************/
\r
522 /*** Common Function Definitions */
\r
523 /*** -------------------------------------------------------------------------------*/
\r
524 typedef EPS_INT32 (*EPS_FindCallback )(EPS_PRINTER );
\r
525 typedef EPS_INT32 (*EPS_StateCallback )(EPS_INT32, EPS_INT32 );
\r
526 typedef void* (*EPS_MemAlloc )(size_t );
\r
527 typedef void (*EPS_MemFree )(void* );
\r
528 /* ESC/P-R Lib ignores sleep function return value, so any sleep function can be used. */
\r
529 typedef EPS_INT32 (*EPS_Sleep )(EPS_UINT32 );
\r
530 /*typedef void (*EPS_Sleep )(EPS_UINT32 );*/
\r
531 typedef EPS_UINT32 (*EPS_GetTime )(void );
\r
532 typedef EPS_UINT32 (*EPS_GetLocalTime )(EPS_LOCAL_TIME* );
\r
533 typedef EPS_INT32 (*EPS_LockSync )(void );
\r
534 typedef EPS_INT32 (*EPS_UnlockSync )(void );
\r
537 /*** USB Function Definitions */
\r
538 /*** -------------------------------------------------------------------------------*/
\r
539 typedef EPS_FILEDSC (*EPS_FindFirstPort )(EPS_USB_DEVICE* );
\r
540 typedef EPS_BOOL (*EPS_FindNextPort )(EPS_FILEDSC, EPS_USB_DEVICE* );
\r
541 typedef EPS_BOOL (*EPS_FindClose )(EPS_FILEDSC );
\r
542 typedef EPS_FILEDSC (*EPS_OpenPortal )(const EPS_USB_DEVICE* );
\r
543 typedef EPS_INT32 (*EPS_ClosePortal )(EPS_FILEDSC );
\r
544 typedef EPS_INT32 (*EPS_ReadPortal )(EPS_FILEDSC, EPS_UINT8*, EPS_INT32, EPS_INT32*);
\r
545 typedef EPS_INT32 (*EPS_WritePortal )(EPS_FILEDSC, const EPS_UINT8*, EPS_INT32, EPS_INT32*);
\r
546 typedef EPS_INT32 (*EPS_GetDeviceID )(EPS_FILEDSC, EPS_INT8* );
\r
549 /*** Sockets Function Definitions */
\r
550 /*** -------------------------------------------------------------------------------*/
\r
551 typedef EPS_SOCKET (*EPS_NetSocket )(EPS_INT32, EPS_INT32, EPS_INT32 );
\r
552 typedef EPS_INT32 (*EPS_NetClose )(EPS_SOCKET );
\r
553 typedef EPS_INT32 (*EPS_NetConnect )(EPS_SOCKET, const EPS_INT8*, EPS_UINT16);
\r
554 typedef EPS_INT32 (*EPS_NetShutdown )(EPS_SOCKET, EPS_INT32 );
\r
555 typedef EPS_INT32 (*EPS_NetBind )(EPS_SOCKET, EPS_UINT16, EPS_UINT16* );
\r
556 typedef EPS_INT32 (*EPS_NetListen )(EPS_SOCKET, EPS_INT32 );
\r
557 typedef EPS_INT32 (*EPS_NetAccept )(EPS_SOCKET, EPS_UINT32, EPS_SOCKET*,
\r
558 EPS_INT8*, EPS_UINT16* );
\r
559 typedef EPS_INT32 (*EPS_NetSend )(EPS_SOCKET, const void*, EPS_INT32, EPS_UINT32);
\r
560 typedef EPS_INT32 (*EPS_NetSendTo )(EPS_SOCKET, const void*, EPS_INT32,
\r
561 const EPS_INT8*, EPS_UINT16, EPS_UINT32 );
\r
562 typedef EPS_INT32 (*EPS_NetReceive )(EPS_SOCKET, void*, EPS_INT32, EPS_UINT32);
\r
563 typedef EPS_INT32 (*EPS_NetReceiveFrom )(EPS_SOCKET, void*, EPS_INT32,
\r
564 EPS_INT8*, EPS_UINT16*, EPS_UINT32 );
\r
565 typedef EPS_INT32 (*EPS_NetGetSockName )(EPS_SOCKET, EPS_INT8*, EPS_UINT16* );
\r
566 typedef EPS_INT32 (*EPS_NetSetMulticastTTL )(EPS_SOCKET, EPS_INT32 );
\r
567 typedef EPS_INT32 (*EPS_NetSetBroadCast )(EPS_SOCKET );
\r
570 /*** External Function Definitions */
\r
571 /*** -------------------------------------------------------------------------------*/
\r
572 typedef struct _tagEPS_CMN_FUNC_ {
\r
573 EPS_INT32 version; /* this version */
\r
574 EPS_FindCallback findCallback; /* Find Notification Callback Function */
\r
575 EPS_StateCallback stateCallback; /* unused */
\r
576 EPS_MemAlloc memAlloc; /* Allocate Memory Function */
\r
577 EPS_MemFree memFree; /* Free Memory Function */
\r
578 EPS_Sleep sleep; /* Sleep Function */
\r
579 EPS_GetTime getTime; /* GetTime Function */
\r
580 EPS_GetLocalTime getLocalTime; /* Get Local Time Function */
\r
581 EPS_LockSync lockSync; /* Thread lock Function */
\r
582 EPS_UnlockSync unlockSync; /* Thread unlock Function */
\r
585 #define EPS_CMNFUNC_VER_1 1
\r
586 #define EPS_CMNFUNC_VER_CUR EPS_CMNFUNC_VER_1
\r
588 /*** USB External Function Definitions */
\r
589 /*** -------------------------------------------------------------------------------*/
\r
590 typedef struct _tagEPS_USB_FUNC_ {
\r
591 EPS_INT32 version; /* this version */
\r
592 EPS_OpenPortal openPortal; /* Open I/O Function */
\r
593 EPS_ClosePortal closePortal; /* Close I/O Function */
\r
594 EPS_ReadPortal readPortal; /* Read Data Function */
\r
595 EPS_WritePortal writePortal; /* Write Data Function */
\r
596 EPS_FindFirstPort findFirst; /* Find usb device start Function */
\r
597 EPS_FindNextPort findNext; /* Find next usb device Function */
\r
598 EPS_FindClose findClose; /* Find process end Function */
\r
601 #define EPS_USBFUNC_VER_1 1
\r
602 #define EPS_USBFUNC_VER_CUR EPS_USBFUNC_VER_1
\r
604 /*** NET External Function Definitions */
\r
605 /*** -------------------------------------------------------------------------------*/
\r
606 typedef struct _tagEPS_NET_FUNC_ {
\r
607 EPS_INT32 version; /* this version */
\r
608 EPS_NetSocket socket; /* create socket Function */
\r
609 EPS_NetClose close; /* close Function */
\r
610 EPS_NetConnect connect; /* connect Function */
\r
611 EPS_NetShutdown shutdown; /* shutdown Function */
\r
612 EPS_NetBind bind; /* bind Function */
\r
613 EPS_NetListen listen; /* listen Function */
\r
614 EPS_NetAccept accept; /* accept Function */
\r
615 EPS_NetSend send; /* send Function */
\r
616 EPS_NetSendTo sendTo; /* sendto Function */
\r
617 EPS_NetReceive receive; /* recv Function */
\r
618 EPS_NetReceiveFrom receiveFrom; /* revcfrom Function */
\r
619 EPS_NetGetSockName getsockname; /* getsockname Function */
\r
620 EPS_NetSetMulticastTTL setMulticastTTL; /* Set Multicast TTL Function */
\r
621 EPS_NetSetBroadCast setBroadcast; /* Set enable broadcast Function */
\r
623 #define EPS_NETFUNC_VER_1 1
\r
624 #define EPS_NETFUNC_VER_CUR EPS_USBFUNC_VER_1
\r
630 #endif /* def __EPSON_ESCPR_DEF_H__ */
\r
632 /*________________________________ epson-escpr-def.h ________________________________*/
\r
634 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/
\r
635 /* 1 2 3 4 5 6 7 8 */
\r
636 /*******************************************|********************************************/
\r
637 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r
638 /***** End of File *** End of File *** End of File *** End of File *** End of File ******/
\r
639 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r