Merge branch 'topic/usb' into for-linus
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / staging / vt6655 / vntwifi.h
1 /*
2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3 * All rights reserved.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 *
20 * File: vntwifi.h
21 *
22 * Purpose: export VNT Host WiFi library function
23 *
24 * Author: Yiching Chen
25 *
26 * Date: Jan 7, 2004
27 *
28 */
29
30 #ifndef __VNTWIFI_H__
31 #define __VNTWIFI_H__
32
33 #include "ttype.h"
34 #include "80211mgr.h"
35 #include "card.h"
36 #include "wpa2.h"
37
38 /*--------------------- Export Definitions -------------------------*/
39 #define RATE_1M 0
40 #define RATE_2M 1
41 #define RATE_5M 2
42 #define RATE_11M 3
43 #define RATE_6M 4
44 #define RATE_9M 5
45 #define RATE_12M 6
46 #define RATE_18M 7
47 #define RATE_24M 8
48 #define RATE_36M 9
49 #define RATE_48M 10
50 #define RATE_54M 11
51 #define RATE_AUTO 12
52 #define MAX_RATE 12
53
54 // key CipherSuite
55 #define KEY_CTL_WEP 0x00
56 #define KEY_CTL_NONE 0x01
57 #define KEY_CTL_TKIP 0x02
58 #define KEY_CTL_CCMP 0x03
59 #define KEY_CTL_INVALID 0xFF
60
61 #define CHANNEL_MAX_24G 14
62
63 #define MAX_BSS_NUM 42
64
65 // Pre-configured Authenticaiton Mode (from XP)
66 typedef enum tagWMAC_AUTHENTICATION_MODE {
67
68 WMAC_AUTH_OPEN,
69 WMAC_AUTH_SHAREKEY,
70 WMAC_AUTH_AUTO,
71 WMAC_AUTH_WPA,
72 WMAC_AUTH_WPAPSK,
73 WMAC_AUTH_WPANONE,
74 WMAC_AUTH_WPA2,
75 WMAC_AUTH_WPA2PSK,
76 WMAC_AUTH_MAX // Not a real mode, defined as upper bound
77
78 } WMAC_AUTHENTICATION_MODE, *PWMAC_AUTHENTICATION_MODE;
79
80 typedef enum tagWMAC_ENCRYPTION_MODE {
81
82 WMAC_ENCRYPTION_WEPEnabled,
83 WMAC_ENCRYPTION_WEPDisabled,
84 WMAC_ENCRYPTION_WEPKeyAbsent,
85 WMAC_ENCRYPTION_WEPNotSupported,
86 WMAC_ENCRYPTION_TKIPEnabled,
87 WMAC_ENCRYPTION_TKIPKeyAbsent,
88 WMAC_ENCRYPTION_AESEnabled,
89 WMAC_ENCRYPTION_AESKeyAbsent
90
91 } WMAC_ENCRYPTION_MODE, *PWMAC_ENCRYPTION_MODE;
92
93 // Pre-configured Mode (from XP)
94
95 typedef enum tagWMAC_CONFIG_MODE {
96
97 WMAC_CONFIG_ESS_STA = 0,
98 WMAC_CONFIG_IBSS_STA,
99 WMAC_CONFIG_AUTO,
100 WMAC_CONFIG_AP
101
102 } WMAC_CONFIG_MODE, *PWMAC_CONFIG_MODE;
103
104
105
106 typedef enum tagWMAC_POWER_MODE {
107
108 WMAC_POWER_CAM,
109 WMAC_POWER_FAST,
110 WMAC_POWER_MAX
111
112 } WMAC_POWER_MODE, *PWMAC_POWER_MODE;
113
114 #define VNTWIFIbIsShortSlotTime(wCapInfo) \
115 WLAN_GET_CAP_INFO_SHORTSLOTTIME(wCapInfo) \
116
117 #define VNTWIFIbIsProtectMode(byERP) \
118 ((byERP & WLAN_EID_ERP_USE_PROTECTION) != 0) \
119
120 #define VNTWIFIbIsBarkerMode(byERP) \
121 ((byERP & WLAN_EID_ERP_BARKER_MODE) != 0) \
122
123 #define VNTWIFIbIsShortPreamble(wCapInfo) \
124 WLAN_GET_CAP_INFO_SHORTPREAMBLE(wCapInfo) \
125
126 #define VNTWIFIbIsEncryption(wCapInfo) \
127 WLAN_GET_CAP_INFO_PRIVACY(wCapInfo) \
128
129 #define VNTWIFIbIsESS(wCapInfo) \
130 WLAN_GET_CAP_INFO_ESS(wCapInfo) \
131
132
133 /*--------------------- Export Classes ----------------------------*/
134
135 /*--------------------- Export Variables --------------------------*/
136
137
138 /*--------------------- Export Types ------------------------------*/
139
140
141 /*--------------------- Export Functions --------------------------*/
142
143 VOID
144 VNTWIFIvSetIBSSParameter (
145 IN PVOID pMgmtHandle,
146 IN WORD wBeaconPeriod,
147 IN WORD wATIMWindow,
148 IN UINT uChannel
149 );
150
151 VOID
152 VNTWIFIvSetOPMode (
153 IN PVOID pMgmtHandle,
154 IN WMAC_CONFIG_MODE eOPMode
155 );
156
157 PWLAN_IE_SSID
158 VNTWIFIpGetCurrentSSID(
159 IN PVOID pMgmtHandle
160 );
161
162 UINT
163 VNTWIFIpGetCurrentChannel(
164 IN PVOID pMgmtHandle
165 );
166
167 WORD
168 VNTWIFIwGetAssocID (
169 IN PVOID pMgmtHandle
170 );
171
172 BYTE
173 VNTWIFIbyGetMaxSupportRate (
174 IN PWLAN_IE_SUPP_RATES pSupportRateIEs,
175 IN PWLAN_IE_SUPP_RATES pExtSupportRateIEs
176 );
177
178 BYTE
179 VNTWIFIbyGetACKTxRate (
180 IN BYTE byRxDataRate,
181 IN PWLAN_IE_SUPP_RATES pSupportRateIEs,
182 IN PWLAN_IE_SUPP_RATES pExtSupportRateIEs
183 );
184
185 VOID
186 VNTWIFIvSetAuthenticationMode (
187 IN PVOID pMgmtHandle,
188 IN WMAC_AUTHENTICATION_MODE eAuthMode
189 );
190
191 VOID
192 VNTWIFIvSetEncryptionMode (
193 IN PVOID pMgmtHandle,
194 IN WMAC_ENCRYPTION_MODE eEncryptionMode
195 );
196
197
198 BOOL
199 VNTWIFIbConfigPhyMode(
200 IN PVOID pMgmtHandle,
201 IN CARD_PHY_TYPE ePhyType
202 );
203
204 VOID
205 VNTWIFIbGetConfigPhyMode(
206 IN PVOID pMgmtHandle,
207 OUT PVOID pePhyType
208 );
209
210 VOID
211 VNTWIFIvQueryBSSList(
212 IN PVOID pMgmtHandle,
213 OUT PUINT puBSSCount,
214 OUT PVOID *pvFirstBSS
215 );
216
217
218
219
220 VOID
221 VNTWIFIvGetNextBSS (
222 IN PVOID pMgmtHandle,
223 IN PVOID pvCurrentBSS,
224 OUT PVOID *pvNextBSS
225 );
226
227
228
229 VOID
230 VNTWIFIvUpdateNodeTxCounter(
231 IN PVOID pMgmtHandle,
232 IN PBYTE pbyDestAddress,
233 IN BOOL bTxOk,
234 IN WORD wRate,
235 IN PBYTE pbyTxFailCount
236 );
237
238
239 VOID
240 VNTWIFIvGetTxRate(
241 IN PVOID pMgmtHandle,
242 IN PBYTE pbyDestAddress,
243 OUT PWORD pwTxDataRate,
244 OUT PBYTE pbyACKRate,
245 OUT PBYTE pbyCCKBasicRate,
246 OUT PBYTE pbyOFDMBasicRate
247 );
248 /*
249 BOOL
250 VNTWIFIbInit(
251 IN PVOID pAdapterHandler,
252 OUT PVOID *pMgmtHandler
253 );
254 */
255
256 BYTE
257 VNTWIFIbyGetKeyCypher(
258 IN PVOID pMgmtHandle,
259 IN BOOL bGroupKey
260 );
261
262
263
264
265 BOOL
266 VNTWIFIbSetPMKIDCache (
267 IN PVOID pMgmtObject,
268 IN ULONG ulCount,
269 IN PVOID pPMKIDInfo
270 );
271
272 BOOL
273 VNTWIFIbCommandRunning (
274 IN PVOID pMgmtObject
275 );
276
277 WORD
278 VNTWIFIwGetMaxSupportRate(
279 IN PVOID pMgmtObject
280 );
281
282 // for 802.11h
283 VOID
284 VNTWIFIvSet11h (
285 IN PVOID pMgmtObject,
286 IN BOOL b11hEnable
287 );
288
289 BOOL
290 VNTWIFIbMeasureReport(
291 IN PVOID pMgmtObject,
292 IN BOOL bEndOfReport,
293 IN PVOID pvMeasureEID,
294 IN BYTE byReportMode,
295 IN BYTE byBasicMap,
296 IN BYTE byCCAFraction,
297 IN PBYTE pbyRPIs
298 );
299
300 BOOL
301 VNTWIFIbChannelSwitch(
302 IN PVOID pMgmtObject,
303 IN BYTE byNewChannel
304 );
305 /*
306 BOOL
307 VNTWIFIbRadarPresent(
308 IN PVOID pMgmtObject,
309 IN BYTE byChannel
310 );
311 */
312
313 #endif //__VNTWIFI_H__