2010-09-08 21:46:36 +00:00
|
|
|
#ifndef _INTERFACE_ADAPTER_H
|
|
|
|
#define _INTERFACE_ADAPTER_H
|
|
|
|
|
|
|
|
typedef struct _BULK_ENDP_IN
|
|
|
|
{
|
|
|
|
PCHAR bulk_in_buffer;
|
|
|
|
size_t bulk_in_size;
|
|
|
|
UCHAR bulk_in_endpointAddr;
|
|
|
|
UINT bulk_in_pipe;
|
|
|
|
}BULK_ENDP_IN, *PBULK_ENDP_IN;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _BULK_ENDP_OUT
|
|
|
|
{
|
|
|
|
UCHAR bulk_out_buffer;
|
|
|
|
size_t bulk_out_size;
|
|
|
|
UCHAR bulk_out_endpointAddr;
|
|
|
|
UINT bulk_out_pipe;
|
|
|
|
//this is used when int out endpoint is used as bulk out end point
|
|
|
|
UCHAR int_out_interval;
|
|
|
|
}BULK_ENDP_OUT, *PBULK_ENDP_OUT;
|
|
|
|
|
|
|
|
typedef struct _INTR_ENDP_IN
|
|
|
|
{
|
|
|
|
PCHAR int_in_buffer;
|
|
|
|
size_t int_in_size;
|
|
|
|
UCHAR int_in_endpointAddr;
|
|
|
|
UCHAR int_in_interval;
|
|
|
|
UINT int_in_pipe;
|
|
|
|
}INTR_ENDP_IN, *PINTR_ENDP_IN;
|
|
|
|
|
|
|
|
typedef struct _INTR_ENDP_OUT
|
|
|
|
{
|
|
|
|
PCHAR int_out_buffer;
|
|
|
|
size_t int_out_size;
|
|
|
|
UCHAR int_out_endpointAddr;
|
|
|
|
UCHAR int_out_interval;
|
|
|
|
UINT int_out_pipe;
|
|
|
|
}INTR_ENDP_OUT, *PINTR_ENDP_OUT;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _USB_TCB
|
|
|
|
{
|
|
|
|
struct urb *urb;
|
|
|
|
PVOID psIntfAdapter;
|
|
|
|
BOOLEAN bUsed;
|
|
|
|
}USB_TCB, *PUSB_TCB;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _USB_RCB
|
|
|
|
{
|
|
|
|
struct urb *urb;
|
|
|
|
PVOID psIntfAdapter;
|
|
|
|
BOOLEAN bUsed;
|
|
|
|
}USB_RCB, *PUSB_RCB;
|
|
|
|
|
|
|
|
/*
|
|
|
|
//This is the interface specific Sub-Adapter
|
|
|
|
//Structure.
|
|
|
|
*/
|
|
|
|
typedef struct _S_INTERFACE_ADAPTER
|
|
|
|
{
|
|
|
|
struct usb_device * udev;
|
|
|
|
struct usb_interface * interface;
|
|
|
|
|
|
|
|
/* Bulk endpoint in info */
|
|
|
|
BULK_ENDP_IN sBulkIn;
|
|
|
|
/* Bulk endpoint out info */
|
|
|
|
BULK_ENDP_OUT sBulkOut;
|
|
|
|
/* Interrupt endpoint in info */
|
|
|
|
INTR_ENDP_IN sIntrIn;
|
|
|
|
/* Interrupt endpoint out info */
|
|
|
|
INTR_ENDP_OUT sIntrOut;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ULONG ulInterruptData[2];
|
|
|
|
|
|
|
|
struct urb *psInterruptUrb;
|
|
|
|
|
|
|
|
USB_TCB asUsbTcb[MAXIMUM_USB_TCB];
|
|
|
|
USB_RCB asUsbRcb[MAXIMUM_USB_RCB];
|
|
|
|
atomic_t uNumTcbUsed;
|
|
|
|
atomic_t uCurrTcb;
|
|
|
|
atomic_t uNumRcbUsed;
|
|
|
|
atomic_t uCurrRcb;
|
|
|
|
|
2012-05-26 16:05:12 +00:00
|
|
|
struct bcm_mini_adapter *psAdapter;
|
2010-09-08 21:46:36 +00:00
|
|
|
BOOLEAN bFlashBoot;
|
|
|
|
BOOLEAN bHighSpeedDevice ;
|
|
|
|
|
|
|
|
BOOLEAN bSuspended;
|
|
|
|
BOOLEAN bPreparingForBusSuspend;
|
|
|
|
struct work_struct usbSuspendWork;
|
|
|
|
}S_INTERFACE_ADAPTER,*PS_INTERFACE_ADAPTER;
|
|
|
|
|
|
|
|
#endif
|