4 #include <devices/serial.h>
6 #include <devices/usb.h>
7 #include <devices/usb_cdc.h>
8 #include <exec/devices.h>
12 #define DEFREADBUFLEN 2048
13 #define NUMREADPIPES 16
15 struct UsbCDCSerialState
17 struct UsbSetupData uss_Req
;
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 */
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 */
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 */