Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
staging
rtl8712
drv_types.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
4
*
5
* This program is free software; you can redistribute it and/or modify it
6
* under the terms of version 2 of the GNU General Public License as
7
* published by the Free Software Foundation.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along with
15
* this program; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17
*
18
* Modifications for inclusion into the Linux staging tree are
19
* Copyright(c) 2010 Larry Finger. All rights reserved.
20
*
21
* Contact information:
22
* WLAN FAE <
[email protected]
>
23
* Larry Finger <
[email protected]
>
24
*
25
******************************************************************************/
26
/*---------------------------------------------------------------------
27
28
For type defines and data structure defines
29
30
-----------------------------------------------------------------------*/
31
#ifndef __DRV_TYPES_H__
32
#define __DRV_TYPES_H__
33
34
struct
_adapter
;
35
36
#include "
osdep_service.h
"
37
#include "
wlan_bssdef.h
"
38
#include "
rtl8712_spec.h
"
39
#include "
rtl8712_hal.h
"
40
#include <
linux/mutex.h
>
41
#include <
linux/completion.h
>
42
43
enum
_NIC_VERSION
{
44
RTL8711_NIC
,
45
RTL8712_NIC
,
46
RTL8713_NIC
,
47
RTL8716_NIC
48
};
49
50
struct
_adapter
;
51
52
struct
qos_priv
{
53
/* bit mask option: u-apsd, s-apsd, ts, block ack... */
54
unsigned
int
qos_option
;
55
};
56
57
#include "
rtl871x_ht.h
"
58
#include "
rtl871x_cmd.h
"
59
#include "
rtl871x_xmit.h
"
60
#include "
rtl871x_recv.h
"
61
#include "
rtl871x_security.h
"
62
#include "
rtl871x_pwrctrl.h
"
63
#include "
rtl871x_io.h
"
64
#include "
rtl871x_eeprom.h
"
65
#include "
sta_info.h
"
66
#include "
rtl871x_mlme.h
"
67
#include "
rtl871x_mp.h
"
68
#include "
rtl871x_debug.h
"
69
#include "
rtl871x_rf.h
"
70
#include "
rtl871x_event.h
"
71
#include "
rtl871x_led.h
"
72
73
#define SPEC_DEV_ID_DISABLE_HT BIT(1)
74
75
struct
specific_device_id
{
76
u32
flags
;
77
u16
idVendor
;
78
u16
idProduct
;
79
80
};
81
82
struct
registry_priv
{
83
u8
chip_version
;
84
u8
rfintfs
;
85
u8
lbkmode
;
86
u8
hci
;
87
u8
network_mode
;
/*infra, ad-hoc, auto*/
88
struct
ndis_802_11_ssid
ssid
;
89
u8
channel
;
/* ad-hoc support requirement */
90
u8
wireless_mode
;
/* A, B, G, auto */
91
u8
vrtl_carrier_sense
;
/*Enable, Disable, Auto*/
92
u8
vcs_type
;
/*RTS/CTS, CTS-to-self*/
93
u16
rts_thresh
;
94
u16
frag_thresh
;
95
u8
preamble
;
/*long, short, auto*/
96
u8
scan_mode
;
/*active, passive*/
97
u8
adhoc_tx_pwr
;
98
u8
soft_ap
;
99
u8
smart_ps
;
100
u8
power_mgnt
;
101
u8
radio_enable
;
102
u8
long_retry_lmt
;
103
u8
short_retry_lmt
;
104
u16
busy_thresh
;
105
u8
ack_policy
;
106
u8
mp_mode
;
107
u8
software_encrypt
;
108
u8
software_decrypt
;
109
/* UAPSD */
110
u8
wmm_enable
;
111
u8
uapsd_enable
;
112
u8
uapsd_max_sp
;
113
u8
uapsd_acbk_en
;
114
u8
uapsd_acbe_en
;
115
u8
uapsd_acvi_en
;
116
u8
uapsd_acvo_en
;
117
118
struct
wlan_bssid_ex
dev_network
;
119
120
u8
ht_enable
;
121
u8
cbw40_enable
;
122
u8
ampdu_enable
;
/*for tx*/
123
u8
rf_config
;
124
u8
low_power
;
125
u8
wifi_test
;
126
};
127
128
struct
dvobj_priv
{
129
struct
_adapter
*
padapter
;
130
u32
nr_endpoint
;
131
u8
ishighspeed
;
132
uint
(*
inirp_init
)(
struct
_adapter
*
adapter
);
133
uint
(*
inirp_deinit
)(
struct
_adapter
*
adapter
);
134
struct
usb_device *
pusbdev
;
135
};
136
142
struct
_adapter
{
143
struct
dvobj_priv
dvobjpriv
;
144
struct
mlme_priv
mlmepriv
;
145
struct
cmd_priv
cmdpriv
;
146
struct
evt_priv
evtpriv
;
147
struct
io_queue
*
pio_queue
;
148
struct
xmit_priv
xmitpriv
;
149
struct
recv_priv
recvpriv
;
150
struct
sta_priv
stapriv
;
151
struct
security_priv
securitypriv
;
152
struct
registry_priv
registrypriv
;
153
struct
wlan_acl_pool
acl_list
;
154
struct
pwrctrl_priv
pwrctrlpriv
;
155
struct
eeprom_priv
eeprompriv
;
156
struct
hal_priv
halpriv
;
157
struct
led_priv
ledpriv
;
158
struct
mp_priv
mppriv
;
159
s32
bDriverStopped
;
160
s32
bSurpriseRemoved
;
161
u32
IsrContent
;
162
u32
ImrContent
;
163
bool
fw_found
;
164
u8
EepromAddressSize
;
165
u8
hw_init_completed
;
166
struct
task_struct
*
cmdThread
;
167
pid_t
evtThread
;
168
struct
task_struct
*
xmitThread
;
169
pid_t
recvThread
;
170
uint
(*
dvobj_init
)(
struct
_adapter
*
adapter
);
171
void
(*
dvobj_deinit
)(
struct
_adapter
*
adapter
);
172
struct
net_device
*
pnetdev
;
173
int
bup
;
174
struct
net_device_stats
stats
;
175
struct
iw_statistics
iwstats
;
176
int
pid
;
/*process id from UI*/
177
_workitem
wkFilterRxFF0
;
178
u8
blnEnableRxFF0Filter
;
179
spinlock_t
lockRxFF0Filter
;
180
const
struct
firmware
*
fw
;
181
struct
usb_interface
*
pusb_intf
;
182
struct
mutex
mutex_start
;
183
struct
completion
rtl8712_fw_ready
;
184
};
185
186
static
inline
u8
*myid(
struct
eeprom_priv
*peepriv)
187
{
188
return
peepriv->
mac_addr
;
189
}
190
191
u8
r8712_usb_hal_bus_init
(
struct
_adapter
*
adapter
);
192
193
#endif
/*__DRV_TYPES_H__*/
194
Generated on Thu Jan 10 2013 14:31:04 for Linux Kernel by
1.8.2