at v3.1 97 lines 2.0 kB view raw
1#ifndef _INTERFACE_ADAPTER_H 2#define _INTERFACE_ADAPTER_H 3 4typedef struct _BULK_ENDP_IN 5{ 6 PCHAR bulk_in_buffer; 7 size_t bulk_in_size; 8 UCHAR bulk_in_endpointAddr; 9 UINT bulk_in_pipe; 10}BULK_ENDP_IN, *PBULK_ENDP_IN; 11 12 13typedef struct _BULK_ENDP_OUT 14{ 15 UCHAR bulk_out_buffer; 16 size_t bulk_out_size; 17 UCHAR bulk_out_endpointAddr; 18 UINT bulk_out_pipe; 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; 22 23typedef struct _INTR_ENDP_IN 24{ 25 PCHAR int_in_buffer; 26 size_t int_in_size; 27 UCHAR int_in_endpointAddr; 28 UCHAR int_in_interval; 29 UINT int_in_pipe; 30}INTR_ENDP_IN, *PINTR_ENDP_IN; 31 32typedef struct _INTR_ENDP_OUT 33{ 34 PCHAR int_out_buffer; 35 size_t int_out_size; 36 UCHAR int_out_endpointAddr; 37 UCHAR int_out_interval; 38 UINT int_out_pipe; 39}INTR_ENDP_OUT, *PINTR_ENDP_OUT; 40 41 42typedef struct _USB_TCB 43{ 44 struct urb *urb; 45 PVOID psIntfAdapter; 46 BOOLEAN bUsed; 47}USB_TCB, *PUSB_TCB; 48 49 50typedef struct _USB_RCB 51{ 52 struct urb *urb; 53 PVOID psIntfAdapter; 54 BOOLEAN bUsed; 55}USB_RCB, *PUSB_RCB; 56 57/* 58//This is the interface specific Sub-Adapter 59//Structure. 60*/ 61typedef struct _S_INTERFACE_ADAPTER 62{ 63 struct usb_device * udev; 64 struct usb_interface * interface; 65 66 /* Bulk endpoint in info */ 67 BULK_ENDP_IN sBulkIn; 68 /* Bulk endpoint out info */ 69 BULK_ENDP_OUT sBulkOut; 70 /* Interrupt endpoint in info */ 71 INTR_ENDP_IN sIntrIn; 72 /* Interrupt endpoint out info */ 73 INTR_ENDP_OUT sIntrOut; 74 75 76 77 ULONG ulInterruptData[2]; 78 79 struct urb *psInterruptUrb; 80 81 USB_TCB asUsbTcb[MAXIMUM_USB_TCB]; 82 USB_RCB asUsbRcb[MAXIMUM_USB_RCB]; 83 atomic_t uNumTcbUsed; 84 atomic_t uCurrTcb; 85 atomic_t uNumRcbUsed; 86 atomic_t uCurrRcb; 87 88 PMINI_ADAPTER psAdapter; 89 BOOLEAN bFlashBoot; 90 BOOLEAN bHighSpeedDevice ; 91 92 BOOLEAN bSuspended; 93 BOOLEAN bPreparingForBusSuspend; 94 struct work_struct usbSuspendWork; 95}S_INTERFACE_ADAPTER,*PS_INTERFACE_ADAPTER; 96 97#endif