|
1 /* |
|
2 * osDot11.h |
|
3 * |
|
4 * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved. |
|
5 * All rights reserved. |
|
6 * |
|
7 * This program and the accompanying materials are made available under the |
|
8 * terms of the Eclipse Public License v1.0 or BSD License which accompanies |
|
9 * this distribution. The Eclipse Public License is available at |
|
10 * http://www.eclipse.org/legal/epl-v10.html and the BSD License is as below. |
|
11 * |
|
12 * Redistribution and use in source and binary forms, with or without |
|
13 * modification, are permitted provided that the following conditions |
|
14 * are met: |
|
15 * |
|
16 * * Redistributions of source code must retain the above copyright |
|
17 * notice, this list of conditions and the following disclaimer. |
|
18 * * Redistributions in binary form must reproduce the above copyright |
|
19 * notice, this list of conditions and the following disclaimer in |
|
20 * the documentation and/or other materials provided with the |
|
21 * distribution. |
|
22 * * Neither the name Texas Instruments nor the names of its |
|
23 * contributors may be used to endorse or promote products derived |
|
24 * from this software without specific prior written permission. |
|
25 * |
|
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
27 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
28 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
29 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
30 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
31 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
32 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
33 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
34 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
35 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
36 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
37 */ |
|
38 |
|
39 |
|
40 /*--------------------------------------------------------------------------*/ |
|
41 /* Module: osDot11.h */ |
|
42 /**/ |
|
43 /* Purpose: */ |
|
44 /**/ |
|
45 /*--------------------------------------------------------------------------*/ |
|
46 #ifndef __OSDOT11_H__ |
|
47 #define __OSDOT11_H__ |
|
48 |
|
49 #include "tidef.h" |
|
50 #include "tiQosTypes.h" |
|
51 |
|
52 |
|
53 #define OS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L) |
|
54 |
|
55 #define OS_802_11_REQUEST_REAUTH 0x01 |
|
56 #define OS_802_11_REQUEST_KEYUPDATE 0x02 |
|
57 #define OS_802_11_REQUEST_PAIRWISE_ERROR 0x06 |
|
58 #define OS_802_11_REQUEST_GROUP_ERROR 0x0E |
|
59 |
|
60 #define OS_802_11_SSID_FIRST_VALID_CHAR 32 |
|
61 |
|
62 #define OS_802_11_SSID_JUNK(str,len) \ |
|
63 ((len) > 2 && \ |
|
64 (str)[0] < OS_802_11_SSID_FIRST_VALID_CHAR && \ |
|
65 (str)[1] < OS_802_11_SSID_FIRST_VALID_CHAR && \ |
|
66 (str)[2] < OS_802_11_SSID_FIRST_VALID_CHAR) |
|
67 |
|
68 |
|
69 /**/ |
|
70 /* Per-packet information for Ieee8021QInfo.*/ |
|
71 /**/ |
|
72 typedef struct _OS_PACKET_8021Q_INFO |
|
73 { |
|
74 union |
|
75 { |
|
76 struct |
|
77 { |
|
78 TI_UINT32 UserPriority:3; /* 802.1p priority */ |
|
79 TI_UINT32 CanonicalFormatId:1; /* always 0*/ |
|
80 TI_UINT32 VlanId:12; /* VLAN Identification*/ |
|
81 TI_UINT32 Reserved:16; /* set to 0*/ |
|
82 } TagHeader; |
|
83 |
|
84 void* Value; |
|
85 }u; |
|
86 } OS_PACKET_8021Q_INFO, *POS_PACKET_8021Q_INFO; |
|
87 |
|
88 |
|
89 typedef TI_UINT64 OS_802_11_KEY_RSC; |
|
90 |
|
91 typedef struct _OS_802_11_SSID |
|
92 { |
|
93 TI_UINT32 SsidLength; |
|
94 TI_UINT8 Ssid[32]; |
|
95 } OS_802_11_SSID, *POS_802_11_SSID; |
|
96 |
|
97 typedef enum _OS_802_11_NETWORK_TYPE |
|
98 { |
|
99 os802_11FH, |
|
100 os802_11DS, |
|
101 os802_11OFDM5, |
|
102 os802_11OFDM24, |
|
103 os802_11Automode, |
|
104 os802_11NetworkTypeMax |
|
105 } OS_802_11_NETWORK_TYPE; |
|
106 |
|
107 typedef struct _OS_802_11_NETWORK_TYPE_LIST |
|
108 { |
|
109 TI_UINT32 NumberOfItems; |
|
110 OS_802_11_NETWORK_TYPE NetworkType [1]; |
|
111 } OS_802_11_NETWORK_TYPE_LIST, *POS_802_11_NETWORK_TYPE_LIST; |
|
112 |
|
113 typedef enum _OS_802_11_POWER_MODE |
|
114 { |
|
115 /*Continuous access mode (CAM). */ |
|
116 /*When the power mode is set to CAM, the device is always on. */ |
|
117 os802_11PowerModeCAM, |
|
118 |
|
119 /*Specifies maximum (MAX) power saving. A power mode of MAX */ |
|
120 /*results in the greatest power savings for the 802.11 NIC radio. */ |
|
121 os802_11PowerModeMAX_PSP, |
|
122 |
|
123 /*Specifies fast power-saving mode. This power mode provides */ |
|
124 /*the best combination of network performance and power usage. */ |
|
125 os802_11PowerModeFast_PSP, |
|
126 os802_11PowerModeMax |
|
127 } OS_802_11_POWER_MODE; |
|
128 |
|
129 /*specified in milliwatts (mW).*/ |
|
130 typedef TI_UINT32 OS_802_11_TX_POWER_LEVEL; |
|
131 /*Normal value from -10 and -200*/ |
|
132 typedef TI_INT32 OS_802_11_RSSI; |
|
133 |
|
134 /*Length */ |
|
135 |
|
136 /* Specifies the length of the OS_802_11_CONFIGURATION_FH structure in bytes. */ |
|
137 /*HopPattern*/ |
|
138 /* Specifies the hop pattern used to determine the hop sequence. */ |
|
139 /* As defined by the 802.11 standard, the layer management entity (LME) of */ |
|
140 /* the physical layer uses a hop pattern to determine the hop sequence. */ |
|
141 /*HopSet*/ |
|
142 /* Specifies a set of patterns. The LME of the physical layer uses these */ |
|
143 /* patterns to determine the hop sequence. */ |
|
144 /*DwellTime*/ |
|
145 /* Specifies the maximum period of time during which the transmitter */ |
|
146 /* should remain fixed on a channel. This interval is described in Kµsec (1024 µsec). */ |
|
147 typedef struct _OS_802_11_CONFIGURATION_FH |
|
148 { |
|
149 TI_UINT32 Length; |
|
150 TI_UINT32 HopPattern; |
|
151 TI_UINT32 HopSet; |
|
152 TI_UINT32 DwellTime; |
|
153 } OS_802_11_CONFIGURATION_FH, *POS_802_11_CONFIGURATION_FH; |
|
154 |
|
155 /*Length */ |
|
156 |
|
157 /* Specifies the length of the NDIS_802_11_CONFIGURATION structure in bytes. */ |
|
158 /*BeaconPeriod */ |
|
159 /* Specifies the interval between beacon message transmissions. */ |
|
160 /* This value is specified in Kµsec (1024 µsec). */ |
|
161 /*ATIMWindow */ |
|
162 /* Specifies the announcement traffic information message (ATIM) window in */ |
|
163 /* Kµsec (1024 µsec). The ATIM window is a short time period immediately */ |
|
164 /* after the transmission of each beacon in an IBSS configuration. */ |
|
165 /* During the ATIM window, any station can indicate the need to transfer data */ |
|
166 /* to another station during the following data-transmission window. */ |
|
167 /*DSConfig */ |
|
168 /* Specifies the frequency of the selected channel in kHz. */ |
|
169 /*FHConfig */ |
|
170 /* Specifies the frequency hopping configuration in an OS_802_11_CONFIGURATION_FH structure. */ |
|
171 typedef struct _OS_802_11_CONFIGURATION |
|
172 { |
|
173 TI_UINT32 Length; |
|
174 TI_UINT32 BeaconPeriod; |
|
175 TI_UINT32 ATIMWindow; |
|
176 union |
|
177 { |
|
178 TI_UINT32 DSConfig; |
|
179 TI_UINT32 channel; |
|
180 } Union; |
|
181 OS_802_11_CONFIGURATION_FH FHConfig; |
|
182 } OS_802_11_CONFIGURATION, *POS_802_11_CONFIGURATION; |
|
183 |
|
184 /*Ndis802_11IBSS */ |
|
185 /* Specifies the independent basic service set (IBSS) mode. */ |
|
186 /* This mode is also known as ad hoc mode. */ |
|
187 /*Ndis802_11Infrastructure */ |
|
188 /* Specifies the infrastructure mode. */ |
|
189 /*Ndis802_11AutoUnknown */ |
|
190 /* Specifies an automatic mode. In this mode, the 802.11 NIC can switch */ |
|
191 /* between ad hoc and infrastructure modes as required. */ |
|
192 /*Ndis802_11HighSpeedIBSS*/ |
|
193 /* Specifies proprietary ad hoc mode that works only PBCC.*/ |
|
194 typedef enum _OS_802_11_NETWORK_MODE |
|
195 { |
|
196 os802_11IBSS, |
|
197 os802_11Infrastructure, |
|
198 os802_11AutoUnknown, |
|
199 os802_11HighSpeedIBSS, |
|
200 os802_11InfrastructureMax |
|
201 } OS_802_11_NETWORK_MODE, OS_802_11_NETWORK_INFRASTRUCTURE,*POS_802_11_NETWORK_INFRASTRUCTURE; |
|
202 |
|
203 /**/ |
|
204 /*The rates array contains a set of eight octets. */ |
|
205 /*Each octet contains a desired data rate in units of .5 Mbps.*/ |
|
206 /**/ |
|
207 typedef TI_UINT8 OS_802_11_RATES[8]; |
|
208 |
|
209 typedef TI_UINT8 OS_802_11_RATES_EX[16]; |
|
210 |
|
211 typedef struct _OS_802_11_FIXED_IEs |
|
212 { |
|
213 TI_UINT8 TimeStamp[8]; |
|
214 TI_UINT16 BeaconInterval; |
|
215 TI_UINT16 Capabilities; |
|
216 } OS_802_11_FIXED_IEs, *POS_802_11_FIXED_IEs; |
|
217 |
|
218 typedef struct _OS_802_11_VARIABLE_IEs |
|
219 { |
|
220 TI_UINT8 ElementID; |
|
221 TI_UINT8 Length; /* Number of bytes in data field*/ |
|
222 TI_UINT8 data[1]; |
|
223 } OS_802_11_VARIABLE_IEs, *POS_802_11_VARIABLE_IEs; |
|
224 |
|
225 typedef struct _OS_802_11_BSSID |
|
226 { |
|
227 TI_UINT32 Length; |
|
228 TMacAddr MacAddress; |
|
229 TI_UINT16 Capabilities; |
|
230 OS_802_11_SSID Ssid; |
|
231 TI_UINT32 Privacy; |
|
232 OS_802_11_RSSI Rssi; |
|
233 OS_802_11_NETWORK_TYPE NetworkTypeInUse; |
|
234 OS_802_11_CONFIGURATION Configuration; |
|
235 OS_802_11_NETWORK_MODE InfrastructureMode; |
|
236 OS_802_11_RATES SupportedRates; |
|
237 } OS_802_11_BSSID, *POS_802_11_BSSID; |
|
238 |
|
239 typedef struct _OS_802_11_BSSID_LIST |
|
240 { |
|
241 TI_UINT32 NumberOfItems; |
|
242 OS_802_11_BSSID Bssid[1]; |
|
243 } OS_802_11_BSSID_LIST, *POS_802_11_BSSID_LIST; |
|
244 |
|
245 |
|
246 typedef struct _OS_802_11_BSSID_EX |
|
247 { |
|
248 TI_UINT32 Length; |
|
249 TMacAddr MacAddress; |
|
250 TI_UINT16 Capabilities; |
|
251 OS_802_11_SSID Ssid; |
|
252 TI_UINT32 Privacy; |
|
253 OS_802_11_RSSI Rssi; |
|
254 OS_802_11_NETWORK_TYPE NetworkTypeInUse; |
|
255 OS_802_11_CONFIGURATION Configuration; |
|
256 OS_802_11_NETWORK_MODE InfrastructureMode; |
|
257 OS_802_11_RATES_EX SupportedRates; |
|
258 TI_UINT32 IELength; |
|
259 TI_UINT8 IEs[1]; |
|
260 } OS_802_11_BSSID_EX, *POS_802_11_BSSID_EX, OS_WLAN_BSSID_EX, *POS_WLAN_BSSID_EX; |
|
261 |
|
262 typedef struct _OS_802_11_BSSID_LIST_EX |
|
263 { |
|
264 TI_UINT32 NumberOfItems; |
|
265 OS_802_11_BSSID_EX Bssid[1]; |
|
266 } OS_802_11_BSSID_LIST_EX, *POS_802_11_BSSID_LIST_EX; |
|
267 |
|
268 |
|
269 typedef TI_UINT32 OS_802_11_FRAGMENTATION_THRESHOLD; |
|
270 typedef TI_UINT32 OS_802_11_RTS_THRESHOLD; |
|
271 typedef TI_UINT32 OS_802_11_ANTENNA; |
|
272 |
|
273 |
|
274 /*Length */ |
|
275 /* Specifies the length of the NDIS_802_11_WEP structure in bytes. */ |
|
276 /*KeyIndex */ |
|
277 /* Specifies which key to add or remove. The global keys are represented */ |
|
278 /* by values of zero to n. When the most significant bit is set to 1, */ |
|
279 /* it indicates the key used to transmit to the access point. */ |
|
280 /*KeyLength */ |
|
281 /* Specifies the length of the KeyMaterial character array in bytes. */ |
|
282 /*KeyMaterial */ |
|
283 /* Specifies an arraythat identifies the WEP key. The length of this array is */ |
|
284 /* variable and depends upon the value of the KeyLength member. */ |
|
285 |
|
286 typedef TI_UINT32 OS_802_11_KEY_INDEX; |
|
287 typedef struct _OS_802_11_WEP |
|
288 { |
|
289 TI_UINT32 Length; |
|
290 TI_UINT32 KeyIndex; |
|
291 TI_UINT32 KeyLength; |
|
292 TI_UINT8 KeyMaterial [32]; |
|
293 } OS_802_11_WEP, *POS_802_11_WEP; |
|
294 |
|
295 /* Key mapping keys require a BSSID*/ |
|
296 /*typedef tiUINT64 OS_802_11_KEY_RSC;*/ |
|
297 |
|
298 typedef struct _OS_802_11_KEY |
|
299 { |
|
300 TI_UINT32 Length; /* Length of this structure*/ |
|
301 TI_UINT32 KeyIndex; |
|
302 TI_UINT32 KeyLength; /* length of key in bytes*/ |
|
303 TMacAddr BSSID; |
|
304 OS_802_11_KEY_RSC KeyRSC; |
|
305 TI_UINT8 KeyMaterial[32]; /* variable length depending on above field*/ |
|
306 } OS_802_11_KEY, *POS_802_11_KEY; |
|
307 |
|
308 typedef struct _OS_802_11_REMOVE_KEY |
|
309 { |
|
310 TI_UINT32 Length; /* Length of this structure*/ |
|
311 TI_UINT32 KeyIndex; |
|
312 TMacAddr BSSID; |
|
313 } OS_802_11_REMOVE_KEY, *POS_802_11_REMOVE_KEY; |
|
314 |
|
315 #define OS_802_11_AI_REQFI_CAPABILITIES 1 |
|
316 #define OS_802_11_AI_REQFI_LISTENINTERVAL 2 |
|
317 #define OS_802_11_AI_REQFI_CURRENTAPADDRESS 4 |
|
318 |
|
319 |
|
320 #define OS_802_11_AI_RESFI_CAPABILITIES 1 |
|
321 #define OS_802_11_AI_RESFI_STATUSCODE 2 |
|
322 #define OS_802_11_AI_RESFI_ASSOCIATIONID 4 |
|
323 |
|
324 typedef struct _OS_802_11_AI_REQFI |
|
325 { |
|
326 TI_UINT16 Capabilities; |
|
327 TI_UINT16 ListenInterval; |
|
328 TMacAddr CurrentAPAddress; |
|
329 TI_UINT16 reserved; /* added for packing */ |
|
330 |
|
331 } OS_802_11_AI_REQFI; |
|
332 |
|
333 typedef struct _OS_802_11_AI_RESFI |
|
334 { |
|
335 TI_UINT16 Capabilities; |
|
336 TI_UINT16 StatusCode; |
|
337 TI_UINT16 AssociationId; |
|
338 #ifndef _WINDOWS |
|
339 TI_UINT16 reserved; /* added for packing */ |
|
340 #endif |
|
341 } OS_802_11_AI_RESFI; |
|
342 |
|
343 typedef struct _OS_802_11_ASSOCIATION_INFORMATION |
|
344 { |
|
345 TI_UINT32 Length; |
|
346 TI_UINT16 AvailableRequestFixedIEs; |
|
347 OS_802_11_AI_REQFI RequestFixedIEs; |
|
348 TI_UINT32 RequestIELength; |
|
349 TI_UINT32 OffsetRequestIEs; |
|
350 TI_UINT16 AvailableResponseFixedIEs; |
|
351 OS_802_11_AI_RESFI ResponseFixedIEs; |
|
352 TI_UINT32 ResponseIELength; |
|
353 TI_UINT32 OffsetResponseIEs; |
|
354 |
|
355 } OS_802_11_ASSOCIATION_INFORMATION, *POS_802_11_ASSOCIATION_INFORMATION; |
|
356 |
|
357 |
|
358 /* supported EAP types*/ |
|
359 typedef enum _OS_802_11_EAP_TYPES |
|
360 { |
|
361 OS_EAP_TYPE_NONE = -1, |
|
362 OS_EAP_TYPE_MD5_CHALLENGE = 4, |
|
363 OS_EAP_TYPE_GENERIC_TOKEN_CARD = 6, |
|
364 OS_EAP_TYPE_TLS = 13, |
|
365 OS_EAP_TYPE_LEAP = 17, |
|
366 OS_EAP_TYPE_TTLS = 21, |
|
367 OS_EAP_TYPE_PEAP = 25, |
|
368 OS_EAP_TYPE_MS_CHAP_V2 = 26, |
|
369 OS_EAP_TYPE_FAST = 43 |
|
370 } OS_802_11_EAP_TYPES; |
|
371 |
|
372 /* encryption type*/ |
|
373 typedef enum _OS_802_11_ENCRYPTION_TYPES |
|
374 { |
|
375 OS_ENCRYPTION_TYPE_NONE = 0, |
|
376 OS_ENCRYPTION_TYPE_WEP, |
|
377 OS_ENCRYPTION_TYPE_TKIP, |
|
378 OS_ENCRYPTION_TYPE_AES |
|
379 } OS_802_11_ENCRYPTION_TYPES; |
|
380 |
|
381 /* Key type*/ |
|
382 typedef enum _OS_802_11_KEY_TYPES |
|
383 { |
|
384 OS_KEY_TYPE_STATIC = 0, |
|
385 OS_KEY_TYPE_DYNAMIC |
|
386 } OS_802_11_KEY_TYPES; |
|
387 |
|
388 /* ELP mode*/ |
|
389 typedef enum _OS_802_11_ELP_MODES |
|
390 { |
|
391 OS_ELP_MODE_DISABLE, |
|
392 OS_ELP_MODE_SYNC, |
|
393 OS_ELP_MODE_NON_SYNC |
|
394 } OS_802_11_ELP_MODES; |
|
395 |
|
396 /* Roaming mode*/ |
|
397 typedef enum _OS_802_11_ROAMING_MODES |
|
398 { |
|
399 OS_ROAMING_MODE_DISABLE, |
|
400 OS_ROAMING_MODE_ENABLE |
|
401 } OS_802_11_ROAMING_MODES; |
|
402 |
|
403 typedef enum _OS_802_11_POWER_PROFILE |
|
404 { |
|
405 OS_POWER_MODE_AUTO, |
|
406 OS_POWER_MODE_ACTIVE, |
|
407 OS_POWER_MODE_SHORT_DOZE, |
|
408 OS_POWER_MODE_LONG_DOZE |
|
409 } OS_802_11_POWER_PROFILE; |
|
410 |
|
411 typedef enum _OS_802_11_POWER_LEVELS |
|
412 { |
|
413 OS_POWER_LEVEL_ELP, |
|
414 OS_POWER_LEVEL_PD, |
|
415 OS_POWER_LEVEL_AWAKE |
|
416 } OS_802_11_POWER_LEVELS; |
|
417 |
|
418 |
|
419 typedef enum _OS_802_11_BEACON_FILTER_MODE |
|
420 { |
|
421 OS_BEACON_FILTER_MODE_INACTIVE, |
|
422 OS_BEACON_FILTER_MODE_ACTIVE |
|
423 } OS_802_11_BEACON_FILTER_MODE; |
|
424 |
|
425 |
|
426 typedef enum _OS_802_11_SCAN_TYPES |
|
427 { |
|
428 OS_SCAN_TYPE_PASSIVE, |
|
429 OS_SCAN_TYPE_BROADCAST, |
|
430 OS_SCAN_TYPE_UNICAST |
|
431 } OS_802_11_SCAN_TYPES; |
|
432 |
|
433 typedef enum _OS_802_11_VOICE_DELIVERY_PROTOCOL |
|
434 { |
|
435 OS_VOICE_DELIVERY_PROTOCOL_DISABLED, |
|
436 OS_VOICE_DELIVERY_PROTOCOL_PS_POLL |
|
437 } OS_802_11_VOICE_DELIVERY_PROTOCOL; |
|
438 |
|
439 typedef struct _OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS |
|
440 { |
|
441 TI_UINT32 uHighThreshold; |
|
442 TI_UINT32 uLowThreshold; |
|
443 TI_UINT32 TestInterval; |
|
444 } OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS; |
|
445 |
|
446 typedef struct{ |
|
447 TI_UINT32 uHighOrLowThresholdFlag; /* high or low */ |
|
448 TI_UINT32 uAboveOrBelowFlag; /* direction of crossing */ |
|
449 } OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_CROSS_INDICATION_PARAMS; |
|
450 |
|
451 typedef TI_UINT8 OS_802_11_PMKID_VALUE[16]; |
|
452 |
|
453 typedef struct _OS_BSSIDInfo |
|
454 { |
|
455 TMacAddr BSSID; |
|
456 OS_802_11_PMKID_VALUE PMKID; |
|
457 } OS_BSSIDInfo, *POS_BSSIDInfo; |
|
458 |
|
459 typedef struct _OS_802_11_PMKID |
|
460 { |
|
461 TI_UINT32 Length; |
|
462 TI_UINT32 BSSIDInfoCount; |
|
463 OS_BSSIDInfo osBSSIDInfo[1]; |
|
464 } OS_802_11_PMKID, *POS_802_11_PMKID; |
|
465 |
|
466 typedef enum _OS_802_11_WEP_STATUS |
|
467 { |
|
468 os802_11WEPEnabled = 0, |
|
469 os802_11Encryption1Enabled = os802_11WEPEnabled, |
|
470 os802_11WEPDisabled, |
|
471 os802_11EncryptionDisabled = os802_11WEPDisabled, |
|
472 os802_11WEPKeyAbsent, |
|
473 os802_11Encryption1KeyAbsent = os802_11WEPKeyAbsent, |
|
474 os802_11WEPNotSupported, |
|
475 os802_11EncryptionNotSupported = os802_11WEPNotSupported, |
|
476 os802_11Encryption2Enabled, |
|
477 os802_11Encryption2KeyAbsent, |
|
478 os802_11Encryption3Enabled, |
|
479 os802_11Encryption3KeyAbsent |
|
480 } OS_802_11_WEP_STATUS, OS_802_11_ENCRYPTION_STATUS; |
|
481 |
|
482 /*os802_11AuthModeOpen */ |
|
483 /* Specifies 802.11 open authentication mode. There are no checks when accepting */ |
|
484 /* clients in this mode. */ |
|
485 /*os802_11AuthModeShared */ |
|
486 /* Specifies 802.11 shared authentication that uses a pre-shared wired equivalent */ |
|
487 /* privacy (WEP) key. */ |
|
488 /*os802_11AuthModeAutoSwitch */ |
|
489 /* Specifies auto-switch mode. When using auto-switch mode, the NIC tries 802.11 shared */ |
|
490 /* authentication mode first. If shared mode fails, the NIC attempts to use 802.11 open */ |
|
491 /* authentication mode. */ |
|
492 |
|
493 typedef enum _OS_802_11_AUTHENTICATION_MODE |
|
494 { |
|
495 os802_11AuthModeOpen, |
|
496 os802_11AuthModeShared, |
|
497 os802_11AuthModeAutoSwitch, |
|
498 os802_11AuthModeWPA, |
|
499 os802_11AuthModeWPAPSK, |
|
500 os802_11AuthModeWPANone, |
|
501 os802_11AuthModeWPA2, |
|
502 os802_11AuthModeWPA2PSK, |
|
503 os802_11AuthModeMax |
|
504 } OS_802_11_AUTHENTICATION_MODE; |
|
505 |
|
506 |
|
507 /*os802_11PrivFilterAcceptAll */ |
|
508 /* Specifies an open mode. In this mode, the NIC accepts any packet if the packet */ |
|
509 /* is not encrypted or if the NIC successfully decrypts it. */ |
|
510 /*os802_11PrivFilter8021xWEP */ |
|
511 /* Specifies a filtering mode. In the 802.1X filtering mode, 802.1X packets are */ |
|
512 /* accepted even if they are not encrypted. However, the NIC accepts nothing else */ |
|
513 /* unless it is encrypted using WEP. */ |
|
514 typedef enum _OS_802_11_PRIVACY_FILTER |
|
515 { |
|
516 os802_11PrivFilterAcceptAll, |
|
517 os802_11PrivFilter8021xWEP |
|
518 } OS_802_11_PRIVACY_FILTER; |
|
519 |
|
520 typedef enum _OS_802_11_RELOAD_DEFAULTS |
|
521 { |
|
522 os802_11ReloadWEPKeys |
|
523 } OS_802_11_RELOAD_DEFAULTS, *POS_802_11_RELOAD_DEFAULTS; |
|
524 |
|
525 typedef enum _OS_802_11_STATUS_TYPE |
|
526 { |
|
527 os802_11StatusType_Authentication, |
|
528 os802_11StatusType_PMKID_CandidateList = 2, |
|
529 os802_11StatusTypeMax /* not a real type, defined as an upper bound */ |
|
530 } OS_802_11_STATUS_TYPE, *POS_802_11_STATUS_TYPE; |
|
531 |
|
532 typedef struct _OS_802_11_STATUS_INDICATION |
|
533 { |
|
534 OS_802_11_STATUS_TYPE StatusType; |
|
535 } OS_802_11_STATUS_INDICATION, *POS_802_11_STATUS_INDICATION; |
|
536 |
|
537 |
|
538 typedef struct _OS_802_11_AUTHENTICATION_REQUEST |
|
539 { |
|
540 TI_UINT32 Length; /* Length of this structure*/ |
|
541 TMacAddr BSSID; |
|
542 TI_UINT32 Flags; |
|
543 } OS_802_11_AUTHENTICATION_REQUEST, *POS_802_11_AUTHENTICATION_REQUEST; |
|
544 |
|
545 typedef enum |
|
546 { |
|
547 OS_DISASSOC_STATUS_UNSPECIFIED = 0, |
|
548 OS_DISASSOC_STATUS_AUTH_REJECT = 1, |
|
549 OS_DISASSOC_STATUS_ASSOC_REJECT = 2, |
|
550 OS_DISASSOC_STATUS_SECURITY_FAILURE = 3, |
|
551 OS_DISASSOC_STATUS_AP_DEAUTHENTICATE = 4, |
|
552 OS_DISASSOC_STATUS_AP_DISASSOCIATE = 5, |
|
553 OS_DISASSOC_STATUS_ROAMING_TRIGGER = 6 |
|
554 |
|
555 } OS_802_11_DISASSOCIATE_REASON_E; |
|
556 |
|
557 typedef struct |
|
558 { |
|
559 OS_802_11_DISASSOCIATE_REASON_E eDisAssocType; |
|
560 TI_UINT32 uStatusCode; |
|
561 } OS_802_11_DISASSOCIATE_REASON_T; |
|
562 |
|
563 |
|
564 |
|
565 #define OS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLE 0x01 |
|
566 |
|
567 typedef struct _OS_802_11_PMKID_CANDIDATE |
|
568 { |
|
569 TMacAddr BSSID; |
|
570 TI_UINT32 Flags; |
|
571 } OS_802_11_PMKID_CANDIDATE, *POS_802_11_PMKID_CANDIDATE; |
|
572 |
|
573 typedef struct _OS_802_11_PMKID_CANDIDATELIST |
|
574 { |
|
575 TI_UINT32 Version; /* Version of the structure*/ |
|
576 TI_UINT32 NumCandidates; /* No. of pmkid candidates*/ |
|
577 OS_802_11_PMKID_CANDIDATE CandidateList[1]; |
|
578 } OS_802_11_PMKID_CANDIDATELIST, *POS_802_11_PMKID_CANDIDATELIST; |
|
579 |
|
580 |
|
581 typedef TI_UINT8 OS_802_11_MAC_PMKID_VALUE[16]; |
|
582 |
|
583 typedef struct _OS_802_11_BSSIDInfo |
|
584 { |
|
585 TMacAddr BSSID; |
|
586 OS_802_11_MAC_PMKID_VALUE PMKID; |
|
587 } OS_802_11_BSSIDInfo, *POS_802_11_BSSIDInfo; |
|
588 |
|
589 |
|
590 typedef struct _OS_802_11_AUTH_ENCRYPTION |
|
591 { |
|
592 OS_802_11_AUTHENTICATION_MODE AuthModeSupported; |
|
593 OS_802_11_ENCRYPTION_STATUS EncryptionStatusSupported; |
|
594 } OS_802_11_AUTH_ENCRYPTION, *POS_802_11_AUTH_ENCRYPTION; |
|
595 |
|
596 |
|
597 typedef struct _OS_802_11_CAPABILITY |
|
598 { |
|
599 TI_UINT32 Length; |
|
600 TI_UINT32 Version; |
|
601 TI_UINT32 NoOfPmKIDs; |
|
602 TI_UINT32 NoOfAuthEncryptPairsSupported; |
|
603 OS_802_11_AUTH_ENCRYPTION AuthEncryptionSupported[1]; |
|
604 |
|
605 } OS_802_11_CAPABILITY, *POS_802_11_CAPABILITY; |
|
606 |
|
607 #define OID_CAPABILITY_VERSION 2 |
|
608 |
|
609 |
|
610 |
|
611 typedef enum _OS_802_11_REG_DOMAIN |
|
612 { |
|
613 os802_11_Domain_FCC = 0x10, |
|
614 os802_11_Domain_IC = 0x20, |
|
615 os802_11_Domain_ETSI = 0x30, |
|
616 os802_11_Domain_Spain = 0x31, |
|
617 os802_11_Domain_France = 0x32, |
|
618 os802_11_Domain_MKK = 0x40, |
|
619 os802_11_Domain_MKK1 = 0x41, |
|
620 os802_11_Domain_US = 0x50, |
|
621 os802_11_Domain_WB = 0x51, |
|
622 os802_11_Domain_EXWB = 0x52 |
|
623 } OS_802_11_REG_DOMAIN; |
|
624 |
|
625 |
|
626 |
|
627 #define OID_TI_VERSION 0xFF080001 |
|
628 |
|
629 |
|
630 /* propritary OIDs used by FUNK supplicant for WPA Mixed mode support*/ |
|
631 /* WPA2 MIxed mode OIDs */ |
|
632 #define CGUID_FSW_802_11_AVAILABLE_OPTIONS {0x1a905534, 0xe71f, 0x46d1, {0xa2, 0xcb, 0xa5, 0x57, 0x01, 0x76, 0x38, 0xfd}} |
|
633 #define CGUID_FSW_802_11_OPTIONS {0xdc7a51b7, 0x2236, 0x467d, {0xb1, 0x55, 0x03, 0x50, 0x42, 0x04, 0xcf, 0x30}} |
|
634 |
|
635 #define OID_FSW_802_11_AVAILABLE_OPTIONS 0xFF010237 |
|
636 #define OID_FSW_802_11_OPTIONS 0xFF010238 |
|
637 |
|
638 |
|
639 |
|
640 /**/ |
|
641 /* IEEE 802.11 OIDs*/ |
|
642 /**/ |
|
643 #define OID_802_11_BSSID 0x0D010101 |
|
644 #define OID_802_11_SSID 0x0D010102 |
|
645 #define OID_802_11_INFRASTRUCTURE_MODE 0x0D010108 |
|
646 #define OID_802_11_ADD_WEP 0x0D010113 |
|
647 #define OID_802_11_REMOVE_WEP 0x0D010114 |
|
648 #define OID_802_11_DISASSOCIATE 0x0D010115 |
|
649 #define OID_802_11_AUTHENTICATION_MODE 0x0D010118 |
|
650 #define OID_802_11_PRIVACY_FILTER 0x0D010119 |
|
651 #define OID_802_11_BSSID_LIST_SCAN 0x0D01011A |
|
652 #define OID_802_11_WEP_STATUS 0x0D01011B |
|
653 #define OID_802_11_RELOAD_DEFAULTS 0x0D01011C |
|
654 #define OID_802_11_ADD_KEY 0x0D01011D |
|
655 #define OID_802_11_REMOVE_KEY 0x0D01011E |
|
656 #define OID_802_11_ASSOCIATION_INFORMATION 0x0D01011F |
|
657 #define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0D010203 |
|
658 #define OID_802_11_NETWORK_TYPE_IN_USE 0x0D010204 |
|
659 #define OID_802_11_TX_POWER_LEVEL 0x0D010205 |
|
660 #define OID_802_11_RSSI 0x0D010206 |
|
661 #define OID_802_11_RSSI_TRIGGER 0x0D010207 |
|
662 #define OID_802_11_FRAGMENTATION_THRESHOLD 0x0D010209 |
|
663 #define OID_802_11_RTS_THRESHOLD 0x0D01020A |
|
664 #define OID_802_11_NUMBER_OF_ANTENNAS 0x0D01020B |
|
665 #define OID_802_11_RX_ANTENNA_SELECTED 0x0D01020C |
|
666 #define OID_802_11_TX_ANTENNA_SELECTED 0x0D01020D |
|
667 #define OID_802_11_SUPPORTED_RATES 0x0D01020E |
|
668 #define OID_802_11_DESIRED_RATES 0x0D010210 |
|
669 #define OID_802_11_CONFIGURATION 0x0D010211 |
|
670 #define OID_802_11_STATISTICS 0x0D020212 |
|
671 #define OID_802_11_POWER_MODE 0x0D010216 |
|
672 #define OID_802_11_BSSID_LIST 0x0D010217 |
|
673 |
|
674 |
|
675 #ifndef _USER_MODE |
|
676 #include "osdot11nousermode.h" |
|
677 #endif |
|
678 |
|
679 |
|
680 |
|
681 |
|
682 /* AnyWPA mode flags used in propritary FUNK suplicant OIDs*/ |
|
683 |
|
684 #define OS_802_11_OPTION_ENABLE_PROMOTE_MODE 0x00000001 /*bit 0*/ |
|
685 #define OS_802_11_OPTION_ENABLE_PROMOTE_CIPHER 0x00000002 /*bit 1*/ |
|
686 #define OS_802_11_OPTION_DISABLE_PROMOTE_MODE 0 |
|
687 #define OS_802_11_OPTION_ENABLE_ALL 0x00000003 |
|
688 |
|
689 #endif |
|
690 |