~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to drivers/staging/bcm/InterfaceAdapter.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _INTERFACE_ADAPTER_H
 
2
#define _INTERFACE_ADAPTER_H
 
3
 
 
4
typedef 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
 
 
13
typedef 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
 
 
23
typedef 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
 
 
32
typedef 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
 
 
42
typedef struct _USB_TCB
 
43
{
 
44
        struct urb *urb;
 
45
        PVOID psIntfAdapter;
 
46
        BOOLEAN bUsed;
 
47
}USB_TCB, *PUSB_TCB;
 
48
 
 
49
 
 
50
typedef 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
*/
 
61
typedef 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