Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
 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