1 /*___________________________________ epson-cbt.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 CBT Module Definitions */
\r
20 /*******************************************|********************************************/
\r
21 #ifndef _EPSON_CBT_H_
\r
22 #define _EPSON_CBT_H_
\r
25 #endif /* def __cplusplus */
\r
27 /*------------------------------------ Includes -------------------------------------*/
\r
28 /*******************************************|********************************************/
\r
29 #include "epson-typedefs.h"
\r
30 #include "epson-escpr-def.h"
\r
32 /*------------------------------------- Data Types -------------------------------------*/
\r
33 /*******************************************|********************************************/
\r
35 /*---------------------------------- Generic Macros ---------------------------------*/
\r
36 /*******************************************|********************************************/
\r
38 /*----------------------------------- Definitions ------------------------------------*/
\r
39 /*******************************************|********************************************/
\r
42 /*** -------------------------------------------------------------------------------*/
\r
43 #define CBT_CBTCH_DATA 0x40 /* CBT Data Channel */
\r
44 #define CBT_CBTCH_CTRL 0x02 /* CBT Control Channel */
\r
46 /*** CBT Module Global Variables */
\r
47 /*** -------------------------------------------------------------------------------*/
\r
48 #define CBT_MAX_CH 3 /* Channel Count */
\r
49 #define CBT_MAX_RTMP 512 /* receive data work buffer size */
\r
51 #define CBT_SID_MAIN 0x00 /* Main Channel */
\r
52 #define CBT_SID_CTRL 0x02 /* Control Channel */
\r
53 #define CBT_SID_DATA 0x40 /* data channel (40H) */
\r
55 #define CBT_TXPSIZE 4096 /* JOB data packet size (4090+6) */
\r
56 #define CBT_RXPSIZE 512 /* ReverseData packet size */
\r
58 #define CBT_CREDIT_LPT 0x0080 /* Printer credit */
\r
59 #define CBT_CREDIT_DEF 0x0008 /* Host Credit */
\r
61 #define CBT_CMDREPLY_BUFFSZ 64 /* Command Reply Data Buffer size */
\r
63 #define CBT_READ_DMY 0 /* Read Option: Dummy Read */
\r
64 #define CBT_READ_NORMAL 1 /* Read Option: Normal Read */
\r
67 /*** -------------------------------------------------------------------------------*/
\r
68 #define CBT_MODE_CBTOFF 0 /* CBT Mode Off */
\r
69 #define CBT_MODE_CBTON 1 /* CBT Mode On */
\r
70 #define CBT_MODE_REQOFF 2 /* Request Off */
\r
71 #define CBT_MODE_CBTERR 3 /* CBT Error */
\r
73 /*** Command Packet Length */
\r
74 /*** -------------------------------------------------------------------------------*/
\r
75 #define CBT_CMD_SIZE_INIT 0x08 /* Init Command */
\r
76 #define CBT_CMD_SIZE_OPENCHANNEL 0x11 /* OpenChannel Command */
\r
77 #define CBT_CMD_SIZE_CLOSECHANNEL 0x0A /* CloseChannel Command */
\r
78 #define CBT_CMD_SIZE_CREDIT 0x0B /* Credit Command */
\r
79 #define CBT_CMD_SIZE_CREDITREQUEST 0x0D /* CreditRequest Command */
\r
80 #define CBT_CMD_SIZE_EXIT 0x07 /* Exit Command */
\r
81 #define CBT_CMD_SIZE_GETSOCKETID 0x07 /* GetSoketID Command (7-47) */
\r
82 #define CBT_CMD_SIZE_GETSERVICENAME 0x08 /* GetServiceName Command */
\r
83 #define CBT_CMD_SIZE_ERROR 0x0A /* Error Command */
\r
84 #define CBT_CMD_SIZE_EPSONPACKING 0x1B /* EpsonPackingCommand Command */
\r
86 #define CBT_RPY_SIZE_INIT 0x09 /* InitReply */
\r
87 #define CBT_RPY_SIZE_OPENCHANNEL 0x10 /* OpenChannelReply */
\r
88 #define CBT_RPY_SIZE_CLOSECHANNEL 0x0A /* CloseChannelReply */
\r
89 #define CBT_RPY_SIZE_CREDIT 0x0A /* CreditReply */
\r
90 #define CBT_RPY_SIZE_CREDITREQUEST 0x0C /* CreditRequestReply */
\r
91 #define CBT_RPY_SIZE_EXIT 0x08 /* ExitReply */
\r
92 #define CBT_RPY_SIZE_GETSOCKETID 0x09 /* GetSoketIDReply */
\r
93 #define CBT_RPY_SIZE_GETSERVICENAME 0x09 /* GetServiceNameReply */
\r
94 #define CBT_RPY_SIZE_EPSONPACKING 0x08 /* EpsonPackingCommandReply */
\r
97 /*** -------------------------------------------------------------------------------*/
\r
98 #define CBT_CMD_INIT 0x00
\r
99 #define CBT_CMD_OPENCHANNEL 0x01
\r
100 #define CBT_CMD_CLOSECHANNEL 0x02
\r
101 #define CBT_CMD_CREDIT 0x03
\r
102 #define CBT_CMD_CREDITREQUEST 0x04
\r
103 #define CBT_CMD_DEBIT 0x05
\r
104 #define CBT_CMD_DEBITREQUEST 0x06
\r
105 #define CBT_CMD_CONFIGSOCKET 0x07
\r
106 #define CBT_CMD_EXIT 0x08
\r
107 #define CBT_CMD_GETSOCKETID 0x09
\r
108 #define CBT_CMD_GETSERVICENAME 0x0A
\r
109 #define CBT_CMD_EPSONPACKING 0x45
\r
110 #define CBT_CMD_CBT_ERROR 0x7F
\r
111 #define CBT_CMD_CBT_NONE 0xFF
\r
113 /*** Reply Command */
\r
114 /*** -------------------------------------------------------------------------------*/
\r
115 #define CBT_RPY_INIT 0x80
\r
116 #define CBT_RPY_OPENCHANNEL 0x81
\r
117 #define CBT_RPY_CLOSECHANNEL 0x82
\r
118 #define CBT_RPY_CREDIT 0x83
\r
119 #define CBT_RPY_CREDITREQUEST 0x84
\r
120 #define CBT_RPY_DEBIT 0x85
\r
121 #define CBT_RPY_DEBITREQUEST 0x86
\r
122 #define CBT_RPY_CONFIGSOCKET 0x87
\r
123 #define CBT_RPY_EXIT 0x88
\r
124 #define CBT_RPY_GETSOCKETID 0x89
\r
125 #define CBT_RPY_GETSERVICENAME 0x8A
\r
126 #define CBT_RPY_EPSONPACKING 0xC5
\r
128 /*----------------------------------- Error Code -------------------------------------*/
\r
129 /*******************************************|********************************************/
\r
130 #define EPCBT_ERR_INITDENIED -1 /* Printer Result=0x01 */
\r
131 #define EPCBT_ERR_VERSION -2 /* Printer Result=0x02 */
\r
132 #define EPCBT_ERR_CLOSEDENIED -3 /* Printer Result=0x03 */
\r
133 #define EPCBT_ERR_RESOURCE -4 /* Printer Result=0x04 */
\r
134 #define EPCBT_ERR_OPENCHANNEL -5 /* Printer Result=0x05 */
\r
135 #define EPCBT_ERR_CHOPENDED -6 /* Printer Result=0x06 */
\r
136 #define EPCBT_ERR_CREDITOVF -7 /* Printer Result=0x07 */
\r
137 #define EPCBT_ERR_CMDDENIED -8 /* Printer Result=0x08 */
\r
138 #define EPCBT_ERR_CHNOTSUPPORT -9 /* Printer Result=0x09 */
\r
139 #define EPCBT_ERR_NOSERVICE -10 /* Printer Result=0x0A */
\r
140 #define EPCBT_ERR_INITFAILED -11 /* Printer Result=0x0B */
\r
141 #define EPCBT_ERR_PACKETSIZE -12 /* Printer Result=0x0C */
\r
142 #define EPCBT_ERR_NULLPACKETSZ -13 /* Printer Result=0x0D */
\r
144 #define EPCBT_ERR_PARAM -20 /* Parameter Error */
\r
145 #define EPCBT_ERR_MEMORY -21 /* Memory Error */
\r
146 #define EPCBT_ERR_CBTNOTOPEN -22 /* Port Not Open */
\r
147 #define EPCBT_ERR_CBT2NDOPEN -23 /* Port end Open error */
\r
148 #define EPCBT_ERR_CHNOTOPEN -24 /* Channel Not Open or Close */
\r
149 #define EPCBT_ERR_CH2NDOPEN -25 /* Channel end Open */
\r
150 #define EPCBT_ERR_RPLYPSIZE -28 /* OpenChannel return Paket Size Fail */
\r
151 #define EPCBT_ERR_WRITEERROR -31 /* Write Error */
\r
152 #define EPCBT_ERR_READERROR -32 /* Read Error */
\r
153 #define EPCBT_ERR_FNCDISABLE -33 /* Not send or receive */
\r
155 #define EPCBT_ERR_FATAL -50 /* FATAL Error */
\r
156 #define EPCBT_ERR_CBTDISABLE -52 /* EpsonPackingCommand Fail */
\r
157 #define EPCBT_ERR_NOREPLY -55 /* Reply Time out */
\r
159 #define EPCBT_ERR_MULFORMEDPACKET -80 /* receibe paket data Fail */
\r
160 #define EPCBT_ERR_UEREPLY -82 /* miss match Reply */
\r
161 #define EPCBT_ERR_UERESULT -85 /* no define Result value */
\r
163 /*--------------------------- Data Structure Declarations ---------------------------*/
\r
164 /*******************************************|********************************************/
\r
166 /*** Channel Information */
\r
167 /*** -------------------------------------------------------------------------------*/
\r
168 typedef struct _tagCBTS_CHINFO_ {
\r
169 EPS_UINT8 No; /* Channel No */
\r
170 EPS_INT32 PtSsize; /* Packet Size (PC -> Printer) */
\r
171 EPS_INT32 StPsize; /* Packet Size (Printer -> PC) */
\r
172 EPS_INT32 CreditP; /* receive credit from printer */
\r
173 EPS_INT32 CreditH; /* send credit from host */
\r
174 EPS_INT32 ReadSize; /* receive packet data size */
\r
175 EPS_UINT8* ReadBuff; /* receive packet data buffer */
\r
176 EPS_UINT8* RTmpBuff; /* receive data work buffer */
\r
177 EPS_INT32 RTmpTop; /* receive data work buffer, start data point */
\r
178 EPS_INT32 RTmpEnd; /* receive data work buffer, end data point */
\r
179 EPS_INT32 RTmpCnt; /* receive data work buffer, data size */
\r
182 /*** Printer Status */
\r
183 /*** -------------------------------------------------------------------------------*/
\r
184 typedef struct _tagCBTS_PRNINFO_ {
\r
185 EPS_INT16 Mode; /* CBT Mode */
\r
186 void* pPortInfo; /* Port Info */
\r
187 EPS_WritePortal pCbtWRtnFnc; /* Write Func */
\r
188 EPS_ReadPortal pCbtRRtnFnc; /* Read Func */
\r
189 EPS_UINT8* pWriteBuff; /* Write Work */
\r
190 EPS_UINT8* pCbtReadRtnBuff; /* Read Work 1 */
\r
191 EPS_UINT8* pCbtDataReadBuff; /* Read Work 2 */
\r
192 CBTS_CHINFO Chinfo[CBT_MAX_CH]; /* Channel information */
\r
195 /*-------------------------- Public Function Declarations ---------------------------*/
\r
196 /*******************************************|********************************************/
\r
197 extern EPS_INT32 cbtCommOpen (const EPS_USB_DEVICE*, EPS_FILEDSC* );
\r
198 extern EPS_INT32 cbtCommClose (EPS_FILEDSC );
\r
199 extern EPS_INT32 cbtCommChannelOpen (EPS_FILEDSC, EPS_INT32, EPS_BOOL );
\r
200 extern EPS_INT32 cbtCommChannelClose (EPS_FILEDSC, EPS_INT32 );
\r
201 extern EPS_INT32 cbtCommReadData (EPS_FILEDSC, EPS_INT32, EPS_UINT8*, EPS_INT32, EPS_INT32*);
\r
202 extern EPS_INT32 cbtCommWriteData (EPS_FILEDSC, EPS_INT32, const EPS_UINT8*, EPS_INT32, EPS_INT32* );
\r
207 #endif /* def __cplusplus */
\r
209 #endif /* def _EPSON_CBT_H_ */
\r
211 /*___________________________________ epson-cbt.h ____________________________________*/
\r
213 /*34567890123456789012345678901234567890123456789012345678901234567890123456789012345678*/
\r
214 /* 1 2 3 4 5 6 7 8 */
\r
215 /*******************************************|********************************************/
\r
216 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r
217 /***** End of File *** End of File *** End of File *** End of File *** End of File ******/
\r
218 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
\r