Documented GVF_SAVE_VAR alongside other flags, and removed a query/doubt
[AROS.git] / rom / usb / classes / serialpl2303 / serialpl2303.h
blob869e32cebb16ab9c76f225bcb1f24e485e04b2a3
1 #ifndef SERIALPL2303_H
2 #define SERIALPL2303_H
4 #include <devices/usb.h>
5 #include <exec/devices.h>
7 /* Products supported */
8 #define PL2303_VENDOR_ID 0x067b
9 #define PL2303_PRODUCT_ID 0x2303
10 #define PL2303_PRODUCT_ID_RSAQ2 0x04bb
11 #define PL2303_PRODUCT_ID_DCU11 0x1234
12 #define PL2303_PRODUCT_ID_PHAROS 0xaaa0
13 #define PL2303_PRODUCT_ID_RSAQ3 0xaaa2
14 #define PL2303_PRODUCT_ID_ALDIGA 0x0611
16 #define ATEN_VENDOR_ID 0x0557
17 #define ATEN_VENDOR_ID2 0x0547
18 #define ATEN_PRODUCT_ID 0x2008
20 #define IODATA_VENDOR_ID 0x04bb
21 #define IODATA_PRODUCT_ID 0x0a03
22 #define IODATA_PRODUCT_ID_RSAQ5 0x0a0e
24 #define ELCOM_VENDOR_ID 0x056e
25 #define ELCOM_PRODUCT_ID 0x5003
26 #define ELCOM_PRODUCT_ID_UCSGT 0x5004
28 #define ITEGNO_VENDOR_ID 0x0eba
29 #define ITEGNO_PRODUCT_ID 0x1080
30 #define ITEGNO_PRODUCT_ID_2 0x2080
32 #define MA620_VENDOR_ID 0x0df7
33 #define MA620_PRODUCT_ID 0x0620
35 #define RATOC_VENDOR_ID 0x0584
36 #define RATOC_PRODUCT_ID 0xb000
37 #define RATOC_PRODUCT_ID_USB60F 0xb020
39 #define TRIPP_VENDOR_ID 0x2478
40 #define TRIPP_PRODUCT_ID 0x2008
42 #define RADIOSHACK_VENDOR_ID 0x1453
43 #define RADIOSHACK_PRODUCT_ID 0x4026
45 #define DCU10_VENDOR_ID 0x0731
46 #define DCU10_PRODUCT_ID 0x0528
48 #define SITECOM_VENDOR_ID 0x6189
49 #define SITECOM_PRODUCT_ID 0x2068
51 #define ALCATEL_VENDOR_ID 0x11f7
52 #define ALCATEL_PRODUCT_ID 0x02df
54 #define SAMSUNG_VENDOR_ID 0x04e8
55 #define SAMSUNG_PRODUCT_ID 0x8001
57 #define SIEMENS_VENDOR_ID 0x11f5
58 #define SIEMENS_PRODUCT_ID_SX1 0x0001
59 #define SIEMENS_PRODUCT_ID_X65 0x0003
60 #define SIEMENS_PRODUCT_ID_X75 0x0004
61 #define SIEMENS_PRODUCT_ID_EF81 0x0005
63 #define SYNTECH_VENDOR_ID 0x0745
64 #define SYNTECH_PRODUCT_ID 0x0001
66 #define NOKIA_CA42_VENDOR_ID 0x078b
67 #define NOKIA_CA42_PRODUCT_ID 0x1234
69 #define CA_42_CA42_VENDOR_ID 0x10b5
70 #define CA_42_CA42_PRODUCT_ID 0xac70
72 #define SAGEM_VENDOR_ID 0x079b
73 #define SAGEM_PRODUCT_ID 0x0027
75 #define LEADTEK_VENDOR_ID 0x0413
76 #define LEADTEK_9531_PRODUCT_ID 0x2101
78 #define SPEEDDRAGON_VENDOR_ID 0x0e55
79 #define SPEEDDRAGON_PRODUCT_ID 0x110b
81 #define OTI_VENDOR_ID 0x0ea0
82 #define OTI_PRODUCT_ID 0x6858
84 #define DATAPILOT_U2_VENDOR_ID 0x0731
85 #define DATAPILOT_U2_PRODUCT_ID 0x2003
87 #define BELKIN_VENDOR_ID 0x050d
88 #define BELKIN_PRODUCT_ID 0x0257
90 #define ALCOR_VENDOR_ID 0x058F
91 #define ALCOR_PRODUCT_ID 0x9720
93 #define WS002IN_VENDOR_ID 0x11f6
94 #define WS002IN_PRODUCT_ID 0x2001
96 #define COREGA_VENDOR_ID 0x07aa
97 #define COREGA_PRODUCT_ID 0x002a
99 #define HL340_VENDOR_ID 0x4348
100 #define HL340_PRODUCT_ID 0x5523
102 #define YCCABLE_VENDOR_ID 0x05ad
103 #define YCCABLE_PRODUCT_ID 0x0fba
105 /* Requests */
106 #define UPLR_WRITE 0x01 /* vendor specific device request */
107 #define UPLR_READ 0x01 /* vendor specific device request */
109 #define UPLF_CONTROL_DTR 0x01
110 #define UPLF_CONTROL_RTS 0x02
112 #define UART_STATE 0x08
113 #define UART_STATE_TRANSIENT_MASK 0x74
114 #define UART_DCD 0x01
115 #define UART_DSR 0x02
116 #define UART_BREAK 0x04
117 #define UART_RING 0x08
118 #define UART_FRAME_ERROR 0x10
119 #define UART_PARITY_ERROR 0x20
120 #define UART_OVERRUN_ERROR 0x40
121 #define UART_CTS 0x80
123 /* Misc */
125 #define DEFREADBUFLEN 2048
126 #define NUMREADPIPES 16
128 struct UsbCDCSerialState
130 struct UsbSetupData uss_Req;
131 UWORD uss_State;
134 struct NepSerialBase
136 struct Library nh_Library; /* standard */
137 UWORD nh_Flags; /* various flags */
139 struct Library *nh_UtilityBase; /* utility base */
141 struct NepSerDevBase *nh_DevBase; /* base of device created */
142 struct List nh_Units; /* List of units available */
145 struct NepSerDevBase
147 struct Library np_Library; /* standard */
148 UWORD np_Flags; /* various flags */
150 BPTR np_SegList; /* device seglist */
151 struct NepSerialBase *np_ClsBase; /* pointer to class base */
152 struct Library *np_UtilityBase; /* cached utilitybase */
155 struct NepClassSerial
157 struct Unit ncp_Unit; /* Unit structure */
158 ULONG ncp_UnitNo; /* Unit number */
159 struct NepSerDevBase *ncp_DevBase; /* Device base */
160 struct Library *ncp_Base; /* Poseidon base */
161 struct PsdDevice *ncp_Device; /* Up linkage */
162 struct PsdConfig *ncp_Config; /* Up linkage */
163 struct PsdInterface *ncp_Interface; /* Up linkage */
164 struct Task *ncp_ReadySigTask; /* Task to send ready signal to */
165 LONG ncp_ReadySignal; /* Signal to send when ready */
166 LONG ncp_AbortSignal; /* Signal to abort write on */
167 struct Task *ncp_Task; /* Subtask */
168 struct MsgPort *ncp_TaskMsgPort; /* Message Port of Subtask */
170 struct PsdPipe *ncp_EP0Pipe; /* Endpoint 0 pipe */
171 struct PsdEndpoint *ncp_EPOut; /* OUT Endpoint */
172 struct PsdPipeStream *ncp_EPOutStream; /* OUT Endpoint stream */
173 struct PsdEndpoint *ncp_EPIn; /* IN Endpoint */
174 struct PsdPipeStream *ncp_EPInStream; /* IN Endpoint stream */
175 struct PsdEndpoint *ncp_EPInt; /* NOTIFY Endpoint */
176 struct PsdPipe *ncp_EPIntPipe; /* NOTIFY Endpoint pipe */
177 UWORD ncp_EPOutNum; /* Endpoint OUT number */
178 UWORD ncp_EPInNum; /* Endpoint IN number */
179 struct MsgPort *ncp_DevMsgPort; /* Message Port for IOParReq */
180 BOOL ncp_HXChipset; /* HX Chips need special treatment */
181 BOOL ncp_SiemensCrap; /* Siemens crap chipset */
182 UWORD ncp_UnitProdID; /* ProductID of unit */
183 UWORD ncp_UnitVendorID; /* VendorID of unit */
184 UWORD ncp_UnitCfgNum; /* Config of unit */
185 UWORD ncp_UnitIfNum; /* Interface number */
186 UWORD ncp_UnitAltIfNum; /* Alternate interface number */
187 BOOL ncp_DenyRequests; /* Do not accept further IO requests */
188 BOOL ncp_DevSuspend; /* suspend things */
190 UBYTE ncp_SerialStateReq[10]; /* Serial State stuff */
192 struct IOExtSer *ncp_WritePending; /* write IORequest pending */
193 struct List ncp_ReadQueue; /* List of read requests */
194 struct List ncp_WriteQueue; /* List of write requests */
197 #endif /* SERIALPL2303_H */