1
#ifndef _INTERFACE_ADAPTER_H
2
#define _INTERFACE_ADAPTER_H
4
typedef struct _BULK_ENDP_IN
8
UCHAR bulk_in_endpointAddr;
10
}BULK_ENDP_IN, *PBULK_ENDP_IN;
13
typedef struct _BULK_ENDP_OUT
15
UCHAR bulk_out_buffer;
17
UCHAR bulk_out_endpointAddr;
19
//this is used when int out endpoint is used as bulk out end point
20
UCHAR int_out_interval;
21
}BULK_ENDP_OUT, *PBULK_ENDP_OUT;
23
typedef struct _INTR_ENDP_IN
27
UCHAR int_in_endpointAddr;
28
UCHAR int_in_interval;
30
}INTR_ENDP_IN, *PINTR_ENDP_IN;
32
typedef struct _INTR_ENDP_OUT
36
UCHAR int_out_endpointAddr;
37
UCHAR int_out_interval;
39
}INTR_ENDP_OUT, *PINTR_ENDP_OUT;
42
typedef struct _USB_TCB
50
typedef struct _USB_RCB
58
//This is the interface specific Sub-Adapter
61
typedef struct _S_INTERFACE_ADAPTER
63
struct usb_device * udev;
64
struct usb_interface * interface;
66
/* Bulk endpoint in info */
68
/* Bulk endpoint out info */
69
BULK_ENDP_OUT sBulkOut;
70
/* Interrupt endpoint in info */
72
/* Interrupt endpoint out info */
73
INTR_ENDP_OUT sIntrOut;
77
ULONG ulInterruptData[2];
79
struct urb *psInterruptUrb;
81
USB_TCB asUsbTcb[MAXIMUM_USB_TCB];
82
USB_RCB asUsbRcb[MAXIMUM_USB_RCB];
88
PMINI_ADAPTER psAdapter;
90
BOOLEAN bHighSpeedDevice ;
93
BOOLEAN bPreparingForBusSuspend;
94
struct work_struct usbSuspendWork;
95
}S_INTERFACE_ADAPTER,*PS_INTERFACE_ADAPTER;