1 /*________________________________ epson-protocol.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 Protocol layer Module Definitions */
\r
20 /*******************************************|********************************************/
\r
21 #ifndef _EPSON_PROROCOL_H_
\r
22 #define _EPSON_PROROCOL_H_
\r
25 #endif /* def __cplusplus */
\r
27 /*------------------------------- Local Compiler Switch --------------------------------*/
\r
28 /*******************************************|********************************************/
\r
29 /* #define GCOMSW_PRT_USE_USB 1*/ /* Use USB Communication */
\r
30 /* #define GCOMSW_PRT_USE_LPR 1*/ /* Use LPR Communication */
\r
31 /* #define GCOMSW_PRT_USE_RAW 1*/ /* Use RawPort Communication */
\r
33 #if defined(GCOMSW_PRT_USE_LPR) || defined(GCOMSW_PRT_USE_RAW)
\r
34 #define GCOMSW_PRT_USE_NETWORK
\r
37 /*------------------------------------ Includes -------------------------------------*/
\r
38 /*******************************************|********************************************/
\r
39 #include "epson-typedefs.h"
\r
40 #include "epson-escpr-pvt.h"
\r
42 /*------------------------------------- Data Types -------------------------------------*/
\r
43 /*******************************************|********************************************/
\r
45 /*----------------------------------- Definitions ------------------------------------*/
\r
46 /*******************************************|********************************************/
\r
47 #define EPS_USB_NAME "USB"
\r
49 #define EPSNET_UDP_BROADCAST_ADDR "255.255.255.255"
\r
50 #define EPSNET_UPNP_MULTICAST_ADDR "239.255.255.250"
\r
51 #define EPSNET_NUM_DISCOVERIES (3) /* times to send discovery msg */
\r
52 #define EPSNET_RECV_TIMEOUT (5000) /* default receive tiomeout */
\r
53 #define EPSNET_FIND_RECV_TIMEOUT (100) /* discover receive tiomeout */
\r
54 #define EPSNET_STAT_RECV_TIMEOUT (1000) /* status receive tiomeout */
\r
55 #define EPSNET_SEND_TIMEOUT (500) /* default send tiomeout */
\r
56 #define EPSNET_BAND_SEND_TIMEOUT (100) /* band data send tiomeout */
\r
57 #define EPSNET_BAND_SEND_TIMEOUTL (3*60*1000) /* band data send tiomeout */
\r
58 #define EPSNET_FIND_REREQUEST_TIME (500) /* request re issue */
\r
59 #define EPSNET_MAX_PATH (255) /* path buffer length */
\r
60 #define EPSNET_STAT_RETRY (5) /* getstatus retry count */
\r
63 /*** PrinterID string format */
\r
64 /*** -------------------------------------------------------------------------------*/
\r
65 #define EPS_PID_PRT "P"
\r
66 #define EPS_PID_DEF "D"
\r
67 #define EPS_PID_SEP "#"
\r
68 #define EPS_PID_SEGNUM (4)
\r
69 #define EPS_PRINTER_ID_STR EPS_PID_PRT EPS_PID_SEP "%04X" EPS_PID_SEP EPS_PID_DEF EPS_PID_SEP "%s"
\r
70 /* P#xx#D#sssssssss */
\r
72 /* USB ID String 'D' parameter */
\r
73 #define EPS_USBID_SEP "."
\r
74 #define EPS_USBID_SEGNUM (3)
\r
75 #define EPS_USB_IDPRM_STR "%04X" EPS_USBID_SEP "%04X" EPS_USBID_SEP "%s"
\r
76 /* [VID].[PID].[ModelName] */
\r
78 /* Net ID String 'D' parameter */
\r
79 #define EPS_NETID_SEP "?"
\r
80 #define EPS_NETID_SEGNUM (2)
\r
81 #define EPS_NET_IDPRM_STR "%s" EPS_NETID_SEP "%s"
\r
82 /* [ModelName]?[uuid] */
\r
84 /*----------------------------------- Error Code -------------------------------------*/
\r
85 /*******************************************|********************************************/
\r
86 #define EPS_COM_TINEOUT (-2) /* recv time out */
\r
87 #define EPS_COM_READ_MORE (-3) /* need more receive */
\r
88 #define EPS_COM_ERR_REPLY (-4) /* error reply */
\r
89 #define EPS_COM_NEXT_RECORD (-5) /* mib next record received */
\r
90 #define EPS_COM_NOT_RECEIVE (-6) /* not recieve */
\r
92 /*--------------------------- Data Structure Declarations ---------------------------*/
\r
93 /*******************************************|********************************************/
\r
95 /* Print Job functions */
\r
96 typedef EPS_ERR_CODE (*PRT_StartJob )(void );
\r
97 typedef EPS_ERR_CODE (*PRT_EndJob )(void );
\r
98 typedef EPS_ERR_CODE (*PRT_RestartJob )(void );
\r
99 typedef EPS_ERR_CODE (*PRT_WritePrintData)(const EPS_UINT8*, EPS_UINT32, EPS_UINT32* );
\r
100 typedef EPS_ERR_CODE (*PRT_ResetPrinter )(void );
\r
101 typedef EPS_ERR_CODE (*PRT_StartPage )(void );
\r
102 typedef EPS_ERR_CODE (*PRT_EndPage )(void );
\r
103 typedef EPS_ERR_CODE (*PRT_MonitorStatus )(EPS_STATUS_INFO* );
\r
104 typedef EPS_ERR_CODE (*PRT_GetStatus )(EPS_STATUS_INFO*, EPS_BOOL*, EPS_BOOL* );
\r
106 typedef struct tagEPS_JOB_FUNCS {
\r
107 PRT_StartJob StartJob;
\r
109 PRT_RestartJob RestartJob;
\r
110 PRT_WritePrintData WriteData;
\r
111 PRT_ResetPrinter ResetPrinter;
\r
112 PRT_StartPage StartPage;
\r
113 PRT_EndPage EndPage;
\r
114 PRT_MonitorStatus MonitorStatus;
\r
115 PRT_GetStatus GetStatus;
\r
118 #define PRT_INVOKE_JOBFNC( f, prm ) ((NULL != f)?f prm:EPS_ERR_NONE)
\r
121 /*-------------------------- Public Function Declarations ---------------------------*/
\r
122 /*******************************************|********************************************/
\r
124 /*** -------------------------------------------------------------------------------*/
\r
125 extern EPS_ERR_CODE prtFunctionCheck (EPS_INT32, const EPS_USB_FUNC*,
\r
126 const EPS_NET_FUNC*, const EPS_CMN_FUNC* );
\r
129 /*** -------------------------------------------------------------------------------*/
\r
130 extern EPS_ERR_CODE prtFindPrinter (EPS_INT32, EPS_UINT32 );
\r
131 extern EPS_ERR_CODE prtCancelFindPrinter (void );
\r
132 extern EPS_ERR_CODE prtProbePrinterByID (const EPS_PROBE* );
\r
133 extern EPS_ERR_CODE prtProbePrinterByAddr (const EPS_PROBE* );
\r
136 /*** -------------------------------------------------------------------------------*/
\r
137 extern EPS_ERR_CODE prtSetupJobFunctions (const EPS_PRINTER_INN*, EPS_JOB_FUNCS* );
\r
138 extern EPS_ERR_CODE prtRecoverPE (void );
\r
140 /*** Information */
\r
141 /*** -------------------------------------------------------------------------------*/
\r
142 extern EPS_ERR_CODE prtGetPMString (const EPS_PRINTER_INN*, EPS_INT32,
\r
143 EPS_UINT8*, EPS_INT32* );
\r
144 extern EPS_ERR_CODE prtGetInkInfo (const EPS_PRINTER_INN*, EPS_INK_INFO* );
\r
146 /*** Printer list */
\r
147 /*** -------------------------------------------------------------------------------*/
\r
148 extern EPS_ERR_CODE prtRegPrinter (EPS_PRINTER_INN*, EPS_BOOL );
\r
149 extern EPS_BOOL prtIsRegistered (const EPS_INT8*, const EPS_INT8*, EPS_INT32);
\r
150 extern void prtClearPrinterList (void );
\r
151 extern EPS_ERR_CODE prtDuplPrinterList (void );
\r
152 extern EPS_ERR_CODE prtAddUsrPrinter (const EPS_PRINTER*, EPS_PRINTER_INN** );
\r
153 extern EPS_PRINTER_INN* prtGetInnerPrinter (const EPS_PRINTER* );
\r
154 extern void prtClearSupportedMedia (EPS_PRINTER_INN* );
\r
156 extern void prtSetIdStr (EPS_PRINTER_INN*, const EPS_INT8* );
\r
160 #endif /* def __cplusplus */
\r
162 #endif /* def _EPSON_PROROCOL_H_ */
\r
164 /*________________________________ epson-protocol.h _________________________________*/
\r
166 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/
\r
167 /* 1 2 3 4 5 6 7 8 */
\r
168 /*******************************************|********************************************/
\r
169 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r
170 /***** End of File *** End of File *** End of File *** End of File *** End of File ******/
\r
171 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r