revert between 56095 -> 55830 in arch
[AROS.git] / rom / usb / classes / cdcacm / cdcacm.h
blobb513d9a33fe97236830e3643ba523bc902b3858b
1 #ifndef CDCACM_H
2 #define CDCACM_H
4 #include <devices/serial.h>
6 #include <devices/usb.h>
7 #include <devices/usb_cdc.h>
8 #include <exec/devices.h>
10 /* Misc */
12 #define DEFREADBUFLEN 2048
13 #define NUMREADPIPES 16
15 struct UsbCDCSerialState
17 struct UsbSetupData uss_Req;
18 UWORD uss_State;
21 struct NepSerialBase
23 struct Library nh_Library; /* standard */
24 UWORD nh_Flags; /* various flags */
26 struct Library *nh_UtilityBase; /* utility base */
28 struct NepSerDevBase *nh_DevBase; /* base of device created */
29 struct List nh_Units; /* List of units available */
32 struct NepSerDevBase
34 struct Library np_Library; /* standard */
35 UWORD np_Flags; /* various flags */
37 BPTR np_SegList; /* device seglist */
38 struct NepSerialBase *np_ClsBase; /* pointer to class base */
39 struct Library *np_UtilityBase; /* cached utilitybase */
42 struct NepClassSerial
44 struct Unit ncp_Unit; /* Unit structure */
45 ULONG ncp_UnitNo; /* Unit number */
46 struct NepSerDevBase *ncp_DevBase; /* Device base */
47 struct Library *ncp_Base; /* Poseidon base */
48 struct PsdDevice *ncp_Device; /* Up linkage */
49 struct PsdInterface *ncp_Interface; /* Up linkage */
50 struct Task *ncp_ReadySigTask; /* Task to send ready signal to */
51 LONG ncp_ReadySignal; /* Signal to send when ready */
52 LONG ncp_AbortSignal; /* Signal to abort write on */
53 struct Task *ncp_Task; /* Subtask */
54 struct MsgPort *ncp_TaskMsgPort; /* Message Port of Subtask */
56 struct PsdInterface *ncp_DataIf; /* CDC Data Interface */
58 struct PsdPipe *ncp_EP0Pipe; /* Endpoint 0 pipe */
59 struct PsdEndpoint *ncp_EPOut; /* OUT Endpoint */
60 struct PsdPipeStream *ncp_EPOutStream; /* OUT Endpoint stream */
61 struct PsdEndpoint *ncp_EPIn; /* IN Endpoint */
62 struct PsdPipeStream *ncp_EPInStream; /* IN Endpoint stream */
63 struct PsdEndpoint *ncp_EPInt; /* NOTIFY Endpoint */
64 struct PsdPipe *ncp_EPIntPipe; /* NOTIFY Endpoint pipe */
65 struct MsgPort *ncp_DevMsgPort; /* Message Port for IOParReq */
66 UWORD ncp_UnitProdID; /* ProductID of unit */
67 UWORD ncp_UnitVendorID; /* VendorID of unit */
68 UWORD ncp_UnitIfNum; /* Interface number */
69 UWORD ncp_UnitAltIfNum; /* Alternate interface number */
70 BOOL ncp_DenyRequests; /* Do not accept further IO requests */
71 BOOL ncp_DevSuspend; /* suspend things */
73 struct UsbCDCSerialState ncp_SerialStateReq; /* Serial State stuff */
75 struct IOExtSer *ncp_WritePending; /* write IORequest pending */
76 struct List ncp_ReadQueue; /* List of read requests */
77 struct List ncp_WriteQueue; /* List of write requests */
80 #endif /* CDCACM_H */