blob: 28c775adda741896dae673e28e776154c4e1c93f [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
Kiet Lam0fb93dd2014-02-19 00:32:59 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080020 */
Kiet Lam0fb93dd2014-02-19 00:32:59 -080021
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028/** ------------------------------------------------------------------------- *
Jeff Johnson295189b2012-06-20 16:38:30 -070029
Jeff Johnson295189b2012-06-20 16:38:30 -070030 \file csrSupport.h
Chet Lanctot186b5732013-03-18 10:26:30 -070031
Jeff Johnson295189b2012-06-20 16:38:30 -070032 Exports and types for the Common Scan and Roaming supporting interfaces.
Chet Lanctot186b5732013-03-18 10:26:30 -070033
Jeff Johnson295189b2012-06-20 16:38:30 -070034 ========================================================================== */
35#ifndef CSR_SUPPORT_H__
36#define CSR_SUPPORT_H__
37
38#include "csrLinkList.h"
39#include "csrApi.h"
40#include "vos_nvitem.h"
41
42#ifdef FEATURE_WLAN_WAPI
Kaushik, Sushantfe230152014-04-08 14:37:47 +053043#define CSR_WAPI_OUI_ROW_SIZE ( 3 )
Jeff Johnson295189b2012-06-20 16:38:30 -070044#define CSR_WAPI_OUI_SIZE ( 4 )
45#define CSR_WAPI_VERSION_SUPPORTED ( 1 )
46#define CSR_WAPI_MAX_AUTH_SUITES ( 2 )
47#define CSR_WAPI_MAX_CYPHERS ( 5 )
48#define CSR_WAPI_MAX_UNICAST_CYPHERS ( 5 )
49#define CSR_WAPI_MAX_MULTICAST_CYPHERS ( 1 )
50#endif /* FEATURE_WLAN_WAPI */
51
52#define CSR_RSN_OUI_SIZE ( 4 )
53#define CSR_RSN_VERSION_SUPPORTED ( 1 )
Krunal Sonia75019a2013-05-01 01:08:22 -070054#define CSR_RSN_MAX_AUTH_SUITES ( 4 )
Jeff Johnson295189b2012-06-20 16:38:30 -070055#define CSR_RSN_MAX_CYPHERS ( 5 )
56#define CSR_RSN_MAX_UNICAST_CYPHERS ( 5 )
57#define CSR_RSN_MAX_MULTICAST_CYPHERS ( 1 )
58
59#define CSR_WPA_OUI_SIZE ( 4 )
60#define CSR_WPA_VERSION_SUPPORTED ( 1 )
61#define CSR_WME_OUI_SIZE ( 4 )
62#define CSR_WPA_MAX_AUTH_SUITES ( 2 )
63#define CSR_WPA_MAX_CYPHERS ( 5 )
64#define CSR_WPA_MAX_UNICAST_CYPHERS ( 5 )
65#define CSR_WPA_MAX_MULTICAST_CYPHERS ( 1 )
66#define CSR_WPA_IE_MIN_SIZE ( 6 ) // minimum size of the IE->length is the size of the Oui + Version.
67#define CSR_WPA_IE_MIN_SIZE_W_MULTICAST ( HDD_WPA_IE_MIN_SIZE + HDD_WPA_OUI_SIZE )
68#define CSR_WPA_IE_MIN_SIZE_W_UNICAST ( HDD_WPA_IE_MIN_SIZE + HDD_WPA_OUI_SIZE + sizeof( pWpaIe->cUnicastCyphers ) )
69
70#define CSR_DOT11_SUPPORTED_RATES_MAX ( 12 )
71#define CSR_DOT11_EXTENDED_SUPPORTED_RATES_MAX ( 8 )
72
73#define CSR_DOT11_MAX_NUM_SUPPORTED_11B_RATES ( 4 )
74#define CSR_DOT11_MAX_NUM_SUPPORTED_11A_RATES ( 8 )
75#define CSR_DOT11_BASIC_RATE_MASK ( 0x80 )
76
77#define CSR_WME_INFO_IE_VERSION_SUPPORTED ( 1 )
78#define CSR_WME_PARM_IE_VERSION_SUPPORTED ( 1 )
79
80#define CSR_PASSIVE_SCAN_STARTING_CHANNEL ( 52)
81#define CSR_PASSIVE_SCAN_ENDING_CHANNEL ( 140)
82
83#define CSR_DOT11_MAX_11A_RATE ( 54 * 2 )
84#define CSR_DOT11_MIN_11A_RATE ( 6 * 2 )
85#define CSR_DOT11_MAX_11B_RATE ( 11 * 2 )
86#define CSR_DOT11_MIN_11B_RATE ( 1 * 2 )
87#define CSR_DOT11_MAX_11G_RATE ( 54 * 2 )
88#define CSR_DOT11_MIN_11G_RATE ( 6 * 2 )
89
90//Define the frequency ranges that need to be passive scan, MHz
91#define CSR_PASSIVE_SCAN_CAT1_LOW 5250
92#define CSR_PASSIVE_SCAN_CAT1_HIGH 5350
93#define CSR_PASSIVE_SCAN_CAT2_LOW 5470
94#define CSR_PASSIVE_SCAN_CAT2_HIGH 5725
95#define CSR_PASSIVE_SCAN_CAT3_LOW 5500
96#define CSR_PASSIVE_SCAN_CAT3_HIGH 5560
97
98#define CSR_OUI_USE_GROUP_CIPHER_INDEX 0x00
99#define CSR_OUI_WEP40_OR_1X_INDEX 0x01
100#define CSR_OUI_TKIP_OR_PSK_INDEX 0x02
101#define CSR_OUI_RESERVED_INDEX 0x03
102#define CSR_OUI_AES_INDEX 0x04
103#define CSR_OUI_WEP104_INDEX 0x05
104
105#ifdef FEATURE_WLAN_WAPI
106#define CSR_OUI_WAPI_RESERVED_INDEX 0x00
107#define CSR_OUI_WAPI_WAI_CERT_OR_SMS4_INDEX 0x01
108#define CSR_OUI_WAPI_WAI_PSK_INDEX 0x02
109#endif /* FEATURE_WLAN_WAPI */
110
111
112typedef enum
113{
114 // 11b rates
115 eCsrSuppRate_1Mbps = 1 * 2,
116 eCsrSuppRate_2Mbps = 2 * 2,
117 eCsrSuppRate_5_5Mbps = 11, // 5.5 * 2
118 eCsrSuppRate_11Mbps = 11 * 2,
119
120 // 11a / 11g rates
121 eCsrSuppRate_6Mbps = 6 * 2,
122 eCsrSuppRate_9Mbps = 9 * 2,
123 eCsrSuppRate_12Mbps = 12 * 2,
124 eCsrSuppRate_18Mbps = 18 * 2,
125 eCsrSuppRate_24Mbps = 24 * 2,
126 eCsrSuppRate_36Mbps = 36 * 2,
127 eCsrSuppRate_48Mbps = 48 * 2,
128 eCsrSuppRate_54Mbps = 54 * 2,
129
130 // airgo proprietary rates
131 eCsrSuppRate_10Mbps = 10 * 2,
132 eCsrSuppRate_10_5Mbps= 21, // 10.5 * 2
133 eCsrSuppRate_20Mbps = 20 * 2,
134 eCsrSuppRate_21Mbps = 21 * 2,
135 eCsrSuppRate_40Mbps = 40 * 2,
136 eCsrSuppRate_42Mbps = 42 * 2,
137 eCsrSuppRate_60Mbps = 60 * 2,
138 eCsrSuppRate_63Mbps = 63 * 2,
139 eCsrSuppRate_72Mbps = 72 * 2,
140 eCsrSuppRate_80Mbps = 80 * 2,
141 eCsrSuppRate_84Mbps = 84 * 2,
142 eCsrSuppRate_96Mbps = 96 * 2,
143 eCsrSuppRate_108Mbps = 108 * 2,
144 eCsrSuppRate_120Mbps = 120 * 2,
145 eCsrSuppRate_126Mbps = 126 * 2,
146 eCsrSuppRate_144Mbps = 144 * 2,
147 eCsrSuppRate_160Mbps = 160 * 2,
148 eCsrSuppRate_168Mbps = 168 * 2,
149 eCsrSuppRate_192Mbps = 192 * 2,
150 eCsrSuppRate_216Mbps = 216 * 2,
151 eCsrSuppRate_240Mbps = 240 * 2
152}eCsrSupportedRates;
153
154typedef enum
155{
156 eCsrPassiveScanNot, //can be scanned actively on the whole 5GHz band
157 eCsrPassiveScanCat1, //always passive scan from 5250 to 5350MHz
158 eCsrPassiveScanCat2, //always passive scan from 5250 to 5350MHz, and from 5470 to 5725MHz
159 eCsrPassiveScanCat3, //always passive scan from 5250 to 5350MHz, from 5470 to 5725MHz, and from 5500 to 5560MHz
160}eCsrPassiveScanCat;
161
162
163//Please donot insert in the middle of the enum here because they tie to the indiex
164typedef enum
165{
166 eCSR_COUNTRY_INDEX_US = 0, //Always set US as index 0
167 eCSR_COUNTRY_INDEX_ANDORRA,
168 eCSR_COUNTRY_INDEX_UAE, //United Arab Emirates
169 eCSR_COUNTRY_INDEX_AFGHANISTAN,
170 eCSR_COUNTRY_INDEX_ANTIGUA_AND_BARBUDA,
171 eCSR_COUNTRY_INDEX_ANGUILLA,
172 eCSR_COUNTRY_INDEX_ALBANIA,
173 eCSR_COUNTRY_INDEX_ARMENIA,
174 eCSR_COUNTRY_INDEX_NETHERLANDS_ANTILLES,
175 eCSR_COUNTRY_INDEX_ANGOLA,
176 eCSR_COUNTRY_INDEX_ANTARCTICA,
177 eCSR_COUNTRY_INDEX_ARGENTINA,
178 eCSR_COUNTRY_INDEX_AMERICAN_SAMOA,
179 eCSR_COUNTRY_INDEX_AUSTRIA,
180 eCSR_COUNTRY_INDEX_AUSTRALIA,
181 eCSR_COUNTRY_INDEX_ARUBA,
182 eCSR_COUNTRY_INDEX_ALAND_ISLANDS,
183 eCSR_COUNTRY_INDEX_AZERBAIJAN,
184 eCSR_COUNTRY_INDEX_BOSNIA_AND_HERZEGOVINA,
185 eCSR_COUNTRY_INDEX_BARBADOS,
186 eCSR_COUNTRY_INDEX_BANGLADESH,
187 eCSR_COUNTRY_INDEX_BELGIUM,
188 eCSR_COUNTRY_INDEX_BURKINA_FASO,
189 eCSR_COUNTRY_INDEX_BULGARIA,
190 eCSR_COUNTRY_INDEX_BAHRAIN,
191 eCSR_COUNTRY_INDEX_BURUNDI,
192 eCSR_COUNTRY_INDEX_BENIN,
193 eCSR_COUNTRY_INDEX_SAINT_BARTHELEMY,
194 eCSR_COUNTRY_INDEX_BERMUDA,
195 eCSR_COUNTRY_INDEX_BRUNEI_DARUSSALAM,
196 eCSR_COUNTRY_INDEX_BOLVIA,
197 eCSR_COUNTRY_INDEX_BRAZIL,
198 eCSR_COUNTRY_INDEX_BAHAMAS,
199 eCSR_COUNTRY_INDEX_BHUTAN,
200 eCSR_COUNTRY_INDEX_BOUVET_ISLAND,
201 eCSR_COUNTRY_INDEX_BOTSWANA,
202 eCSR_COUNTRY_INDEX_BELARUS,
203 eCSR_COUNTRY_INDEX_BELIZE,
204 eCSR_COUNTRY_INDEX_CANADA,
205 eCSR_COUNTRY_INDEX_COCOS_KEELING_ISLANDS,
206 eCSR_COUNTRY_INDEX_CONGO_REP,
207 eCSR_COUNTRY_INDEX_CENTRAL_AFRICAN,
208 eCSR_COUNTRY_INDEX_CONGO,
209 eCSR_COUNTRY_INDEX_SWITZERLAND,
210 eCSR_COUNTRY_INDEX_COTE_DIVOIRE,
211 eCSR_COUNTRY_INDEX_COOK_ISLANDS,
212 eCSR_COUNTRY_INDEX_CHILE,
213 eCSR_COUNTRY_INDEX_CAMEROON,
214 eCSR_COUNTRY_INDEX_CHINA,
215 eCSR_COUNTRY_INDEX_COLUMBIA,
216 eCSR_COUNTRY_INDEX_COSTA_RICA,
217 eCSR_COUNTRY_INDEX_CUBA,
218 eCSR_COUNTRY_INDEX_CAPE_VERDE,
219 eCSR_COUNTRY_INDEX_CHRISTMAS_ISLAND,
220 eCSR_COUNTRY_INDEX_CYPRUS,
221 eCSR_COUNTRY_INDEX_CZECH,
222 eCSR_COUNTRY_INDEX_GERMANY,
223 eCSR_COUNTRY_INDEX_DJIBOUTI,
224 eCSR_COUNTRY_INDEX_DENMARK,
225 eCSR_COUNTRY_INDEX_DOMINICA,
226 eCSR_COUNTRY_INDEX_DOMINICAN_REP,
227 eCSR_COUNTRY_INDEX_ALGERIA,
228 eCSR_COUNTRY_INDEX_ECUADOR,
229 eCSR_COUNTRY_INDEX_ESTONIA,
230 eCSR_COUNTRY_INDEX_EGYPT,
231 eCSR_COUNTRY_INDEX_WESTERN_SAHARA,
232 eCSR_COUNTRY_INDEX_ERITREA,
233 eCSR_COUNTRY_INDEX_SPAIN,
234 eCSR_COUNTRY_INDEX_ETHIOPIA,
235 eCSR_COUNTRY_INDEX_FINLAND,
236 eCSR_COUNTRY_INDEX_FIJI,
237 eCSR_COUNTRY_INDEX_FALKLAND_ISLANDS,
238 eCSR_COUNTRY_INDEX_MICRONESIA,
239 eCSR_COUNTRY_INDEX_FAROE_ISLANDS,
240 eCSR_COUNTRY_INDEX_FRANCE,
241 eCSR_COUNTRY_INDEX_GABON,
242 eCSR_COUNTRY_INDEX_UNITED_KINGDOM,
243 eCSR_COUNTRY_INDEX_GRENADA,
244 eCSR_COUNTRY_INDEX_GEORGIA,
245 eCSR_COUNTRY_INDEX_FRENCH_GUIANA,
246 eCSR_COUNTRY_INDEX_GUERNSEY,
247 eCSR_COUNTRY_INDEX_GHANA,
248 eCSR_COUNTRY_INDEX_GIBRALTAR,
249 eCSR_COUNTRY_INDEX_GREENLAND,
250 eCSR_COUNTRY_INDEX_GAMBIA,
251 eCSR_COUNTRY_INDEX_GUINEA,
252 eCSR_COUNTRY_INDEX_GUADELOUPE,
253 eCSR_COUNTRY_INDEX_EQUATORIAL_GUINEA,
254 eCSR_COUNTRY_INDEX_GREECE,
255 eCSR_COUNTRY_INDEX_SOUTH_GEORGIA,
256 eCSR_COUNTRY_INDEX_GUATEMALA,
257 eCSR_COUNTRY_INDEX_GUAM,
258 eCSR_COUNTRY_INDEX_GUINEA_BISSAU,
259 eCSR_COUNTRY_INDEX_GUYANA,
260 eCSR_COUNTRY_INDEX_HONGKONG,
261 eCSR_COUNTRY_INDEX_HEARD_ISLAND,
262 eCSR_COUNTRY_INDEX_HONDURAS,
263 eCSR_COUNTRY_INDEX_CROATIA,
264 eCSR_COUNTRY_INDEX_HAITI,
265 eCSR_COUNTRY_INDEX_HUNGARY,
266 eCSR_COUNTRY_INDEX_INDONESIA,
267 eCSR_COUNTRY_INDEX_IRELAND,
268 eCSR_COUNTRY_INDEX_ISRAEL,
269 eCSR_COUNTRY_INDEX_ISLE_OF_MAN,
270 eCSR_COUNTRY_INDEX_INDIA,
271 eCSR_COUNTRY_INDEX_BRITISH_INDIAN,
272 eCSR_COUNTRY_INDEX_IRAQ,
273 eCSR_COUNTRY_INDEX_IRAN,
274 eCSR_COUNTRY_INDEX_ICELAND,
275 eCSR_COUNTRY_INDEX_ITALY,
276 eCSR_COUNTRY_INDEX_JERSEY,
277 eCSR_COUNTRY_INDEX_JAMAICA,
278 eCSR_COUNTRY_INDEX_JORDAN,
279 eCSR_COUNTRY_INDEX_JAPAN,
280 eCSR_COUNTRY_INDEX_KENYA,
281 eCSR_COUNTRY_INDEX_KYRGYZSTAN,
282 eCSR_COUNTRY_INDEX_CAMBODIA,
283 eCSR_COUNTRY_INDEX_KIRIBATI,
284 eCSR_COUNTRY_INDEX_COMOROS,
285 eCSR_COUNTRY_INDEX_SAINT_KITTS_AND_NEVIS,
286 eCSR_COUNTRY_INDEX_KOREA_NORTH,
287 eCSR_COUNTRY_INDEX_KOREA_SOUTH,
288 eCSR_COUNTRY_INDEX_KUWAIT,
289 eCSR_COUNTRY_INDEX_CAYMAN_ISLANDS,
290 eCSR_COUNTRY_INDEX_KAZAKHSTAN,
291 eCSR_COUNTRY_INDEX_LAO,
292 eCSR_COUNTRY_INDEX_LEBANON,
293 eCSR_COUNTRY_INDEX_SAINT_LUCIA,
294 eCSR_COUNTRY_INDEX_LIECHTENSTEIN,
295 eCSR_COUNTRY_INDEX_SRI_LANKA,
296 eCSR_COUNTRY_INDEX_LIBERIA,
297 eCSR_COUNTRY_INDEX_LESOTHO,
298 eCSR_COUNTRY_INDEX_LITHUANIA,
299 eCSR_COUNTRY_INDEX_LUXEMBOURG,
300 eCSR_COUNTRY_INDEX_LATVIA,
301 eCSR_COUNTRY_INDEX_LIBYAN_ARAB_JAMAHIRIYA,
302 eCSR_COUNTRY_INDEX_MOROCCO,
303 eCSR_COUNTRY_INDEX_MONACO,
304 eCSR_COUNTRY_INDEX_MOLDOVA,
305 eCSR_COUNTRY_INDEX_MONTENEGRO,
306 eCSR_COUNTRY_INDEX_MADAGASCAR,
307 eCSR_COUNTRY_INDEX_MARSHALL_ISLANDS,
308 eCSR_COUNTRY_INDEX_MACEDONIA,
309 eCSR_COUNTRY_INDEX_MALI,
310 eCSR_COUNTRY_INDEX_MYANMAR,
311 eCSR_COUNTRY_INDEX_MONGOLIA,
312 eCSR_COUNTRY_INDEX_MACAO,
313 eCSR_COUNTRY_INDEX_NORTHERN_MARIANA_ISLANDS,
314 eCSR_COUNTRY_INDEX_MARTINIQUE,
315 eCSR_COUNTRY_INDEX_MAURITANIA,
316 eCSR_COUNTRY_INDEX_MONTSERRAT,
317 eCSR_COUNTRY_INDEX_MALTA,
318 eCSR_COUNTRY_INDEX_MAURITIUS,
319 eCSR_COUNTRY_INDEX_MALDIVES,
320 eCSR_COUNTRY_INDEX_MALAWI,
321 eCSR_COUNTRY_INDEX_MEXICO,
322 eCSR_COUNTRY_INDEX_MALAYSIA,
323 eCSR_COUNTRY_INDEX_MOZAMBIQUE,
324 eCSR_COUNTRY_INDEX_NAMIBIA,
325 eCSR_COUNTRY_INDEX_NEW_CALENDONIA,
326 eCSR_COUNTRY_INDEX_NIGER,
327 eCSR_COUNTRY_INDEX_NORFOLK_ISLAND,
328 eCSR_COUNTRY_INDEX_NIGERIA,
329 eCSR_COUNTRY_INDEX_NICARAGUA,
330 eCSR_COUNTRY_INDEX_NETHERLANDS,
331 eCSR_COUNTRY_INDEX_NORWAY,
332 eCSR_COUNTRY_INDEX_NEPAL,
333 eCSR_COUNTRY_INDEX_NAURU,
334 eCSR_COUNTRY_INDEX_NIUE,
335 eCSR_COUNTRY_INDEX_NEW_ZEALAND,
336 eCSR_COUNTRY_INDEX_OMAN,
337 eCSR_COUNTRY_INDEX_PANAMA,
338 eCSR_COUNTRY_INDEX_PERU,
339 eCSR_COUNTRY_INDEX_FRENCH_POLYNESIA,
340 eCSR_COUNTRY_INDEX_PAPUA_NEW_HUINEA,
341 eCSR_COUNTRY_INDEX_PHILIPPINES,
342 eCSR_COUNTRY_INDEX_PAKISTAN,
343 eCSR_COUNTRY_INDEX_POLAND,
344 eCSR_COUNTRY_INDEX_SAINT_PIERRE_AND_MIQUELON,
345 eCSR_COUNTRY_INDEX_PITCAIRN,
346 eCSR_COUNTRY_INDEX_PUERTO_RICO,
347 eCSR_COUNTRY_INDEX_PALESTINIAN_TERRITOTY_OCCUPIED,
348 eCSR_COUNTRY_INDEX_PORTUGAL,
349 eCSR_COUNTRY_INDEX_PALAU,
350 eCSR_COUNTRY_INDEX_PARAGUAY,
351 eCSR_COUNTRY_INDEX_QATAR,
352 eCSR_COUNTRY_INDEX_REUNION,
353 eCSR_COUNTRY_INDEX_ROMANIA,
354 eCSR_COUNTRY_INDEX_SERBIA,
355 eCSR_COUNTRY_INDEX_RUSSIAN,
356 eCSR_COUNTRY_INDEX_RWANDA,
357 eCSR_COUNTRY_INDEX_SAUDI_ARABIA,
358 eCSR_COUNTRY_INDEX_SOLOMON_ISLANDS,
359 eCSR_COUNTRY_INDEX_SEYCHELLES,
360 eCSR_COUNTRY_INDEX_SUDAN,
361 eCSR_COUNTRY_INDEX_SWEDEN,
362 eCSR_COUNTRY_INDEX_SINGAPORE,
363 eCSR_COUNTRY_INDEX_SAINT_HELENA,
364 eCSR_COUNTRY_INDEX_SLOVENIA,
365 eCSR_COUNTRY_INDEX_SVALBARD_AND_JAN_MAYEN,
366 eCSR_COUNTRY_INDEX_SLOVAKIA,
367 eCSR_COUNTRY_INDEX_SIERRA_LEONE,
368 eCSR_COUNTRY_INDEX_SAN_MARINO,
369 eCSR_COUNTRY_INDEX_SENEGAL,
370 eCSR_COUNTRY_INDEX_SOMOLIA,
371 eCSR_COUNTRY_INDEX_SURINAME,
372 eCSR_COUNTRY_INDEX_SAO_TOME_AND_PRINCIPE,
373 eCSR_COUNTRY_INDEX_EL_SALVADOR,
374 eCSR_COUNTRY_INDEX_SYRIAN_REP,
375 eCSR_COUNTRY_INDEX_SWAZILAND,
376 eCSR_COUNTRY_INDEX_TURKS_AND_CAICOS_ISLANDS,
377 eCSR_COUNTRY_INDEX_CHAD,
378 eCSR_COUNTRY_INDEX_FRENCH_SOUTHERN_TERRRTORY,
379 eCSR_COUNTRY_INDEX_TOGO,
380 eCSR_COUNTRY_INDEX_THAILAND,
381 eCSR_COUNTRY_INDEX_TAJIKSTAN,
382 eCSR_COUNTRY_INDEX_TOKELAU,
383 eCSR_COUNTRY_INDEX_TIMOR_LESTE,
384 eCSR_COUNTRY_INDEX_TURKMENISTAN,
385 eCSR_COUNTRY_INDEX_TUNISIA,
386 eCSR_COUNTRY_INDEX_TONGA,
387 eCSR_COUNTRY_INDEX_TURKEY,
388 eCSR_COUNTRY_INDEX_TRINIDAD_AND_TOBAGO,
389 eCSR_COUNTRY_INDEX_TUVALU,
390 eCSR_COUNTRY_INDEX_TAIWAN,
391 eCSR_COUNTRY_INDEX_TANZANIA,
392 eCSR_COUNTRY_INDEX_UKRAINE,
393 eCSR_COUNTRY_INDEX_UGANDA,
394 eCSR_COUNTRY_INDEX_US_MINOR_OUTLYING_ISLANDS,
395 eCSR_COUNTRY_INDEX_URUGUAY,
396 eCSR_COUNTRY_INDEX_UZBEKISTAN,
397 eCSR_COUNTRY_INDEX_HOLY_SEE,
398 eCSR_COUNTRY_INDEX_SAINT_VINCENT_AND_THE_GRENADINES,
399 eCSR_COUNTRY_INDEX_VENESUELA,
400 eCSR_COUNTRY_INDEX_VIRGIN_ISLANDS_BRITISH,
401 eCSR_COUNTRY_INDEX_VIRGIN_ISLANDS_US,
402 eCSR_COUNTRY_INDEX_VIET_NAM,
403 eCSR_COUNTRY_INDEX_VANUATU,
404 eCSR_COUNTRY_INDEX_WALLIS_AND_FUTUNA,
405 eCSR_COUNTRY_INDEX_SAMOA,
406 eCSR_COUNTRY_INDEX_YEMEN,
407 eCSR_COUNTRY_INDEX_MAYOTTE,
408 eCSR_COUNTRY_INDEX_SOTHER_AFRICA,
409 eCSR_COUNTRY_INDEX_ZAMBIA,
410 eCSR_COUNTRY_INDEX_ZIMBABWE,
411
412 eCSR_COUNTRY_INDEX_KOREA_1,
413 eCSR_COUNTRY_INDEX_KOREA_2,
414 eCSR_COUNTRY_INDEX_KOREA_3,
415 eCSR_COUNTRY_INDEX_KOREA_4,
416
417 eCSR_NUM_COUNTRY_INDEX,
418}eCsrCountryIndex;
419//Please donot insert in the middle of the enum above because they tie to the indiex
420
421
422typedef struct tagCsrSirMBMsgHdr
423{
424 tANI_U16 type;
425 tANI_U16 msgLen;
426
427}tCsrSirMBMsgHdr;
428
429typedef struct tagCsrCfgMsgTlvHdr
430{
431 tANI_U32 type;
432 tANI_U32 length;
433
434}tCsrCfgMsgTlvHdr;
435
436
437
438typedef struct tagCsrCfgMsgTlv
439{
440 tCsrCfgMsgTlvHdr Hdr;
441 tANI_U32 variable[ 1 ]; // placeholder for the data
442
443}tCsrCfgMsgTlv;
444
445typedef struct tagCsrCfgGetRsp
446{
447 tCsrSirMBMsgHdr hdr;
448 tANI_U32 respStatus;
449 tANI_U32 paramId;
450 tANI_U32 attribLen;
451 tANI_U32 attribVal[1];
452}tCsrCfgGetRsp;
453
454typedef struct tagCsrCfgSetRsp
455{
456
457 tCsrSirMBMsgHdr hdr;
458 tANI_U32 respStatus;
459 tANI_U32 paramId;
460}tCsrCfgSetRsp;
461
462
463typedef struct tagCsrDomainChnScanInfo
464{
465 tANI_U8 chnId;
466 tSirScanType scanType; //whether this channel must be scan passively
467}tCsrDomainChnScanInfo;
468
469
470#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK)
471#pragma pack( push )
472#pragma pack( 1 )
473#elif defined(__ANI_COMPILER_PRAGMA_PACK)
474#pragma pack( 1 )
475#endif
476
477// Generic Information Element Structure
478typedef __ani_attr_pre_packed struct sDot11IEHeader
479{
480 tANI_U8 ElementID;
481 tANI_U8 Length;
482}__ani_attr_packed tDot11IEHeader;
483
484typedef __ani_attr_pre_packed struct tagCsrWmeInfoIe
485{
486 tDot11IEHeader IeHeader;
487 tANI_U8 Oui[ CSR_WME_OUI_SIZE ]; // includes the 3 byte OUI + 1 byte Type
488 tANI_U8 Subtype;
489 tANI_U8 Version;
490 tANI_U8 QoSInfo;
491
492} __ani_attr_packed tCsrWmeInfoIe;
493
494typedef __ani_attr_pre_packed struct tagCsrWmeAcParms
495{
496 tANI_U8 AciAifsn;
497 tANI_U8 EcwMinEcwMax;
498 tANI_U16 TxOpLimit;
499
500} __ani_attr_packed tCsrWmeAcParms;
501
502typedef __ani_attr_pre_packed struct tagCsrWmeParmIe
503{
504 tDot11IEHeader IeHeader;
505 tANI_U8 Oui[ CSR_WME_OUI_SIZE ]; // includes the 3 byte OUI + 1 byte Type
506 tANI_U8 Subtype;
507 tANI_U8 Version;
508 tANI_U8 QoSInfo;
509 tANI_U8 Reserved;
510 tCsrWmeAcParms BestEffort;
511 tCsrWmeAcParms Background;
512 tCsrWmeAcParms Video;
513 tCsrWmeAcParms Voice;
514
515} __ani_attr_packed tCsrWmeParmIe;
516
517typedef __ani_attr_pre_packed struct tagCsrWpaIe
518{
519 tDot11IEHeader IeHeader;
520 tANI_U8 Oui[ CSR_WPA_OUI_SIZE ];
521 tANI_U16 Version;
522 tANI_U8 MulticastOui[ CSR_WPA_OUI_SIZE ];
523 tANI_U16 cUnicastCyphers;
524
525 __ani_attr_pre_packed struct {
526
527 tANI_U8 Oui[ CSR_WPA_OUI_SIZE ];
528
529 } __ani_attr_packed UnicastOui[ 1 ];
530
531} __ani_attr_packed tCsrWpaIe;
532
533typedef __ani_attr_pre_packed struct tagCsrWpaAuthIe
534{
535
536 tANI_U16 cAuthenticationSuites;
537
538 __ani_attr_pre_packed struct {
539
540 tANI_U8 Oui[ CSR_WPA_OUI_SIZE ];
541
542 } __ani_attr_packed AuthOui[ 1 ];
543
544} __ani_attr_packed tCsrWpaAuthIe;
545
546
547typedef __ani_attr_pre_packed struct tagCsrRSNIe
548{
549 tDot11IEHeader IeHeader;
550 tANI_U16 Version;
551 tANI_U8 MulticastOui[ CSR_RSN_OUI_SIZE ];
552 tANI_U16 cUnicastCyphers;
553
554 __ani_attr_pre_packed struct {
555
556 tANI_U8 Oui[ CSR_RSN_OUI_SIZE ];
557
558 } __ani_attr_packed UnicastOui[ 1 ];
559
560} __ani_attr_packed tCsrRSNIe;
561
562typedef __ani_attr_pre_packed struct tagCsrRSNAuthIe
563{
564 tANI_U16 cAuthenticationSuites;
565 __ani_attr_pre_packed struct {
566
567 tANI_U8 Oui[ CSR_RSN_OUI_SIZE ];
568
569 } __ani_attr_packed AuthOui[ 1 ];
570
571} __ani_attr_packed tCsrRSNAuthIe;
572
573typedef __ani_attr_pre_packed struct tagCsrRSNCapabilities
574{
575 tANI_U16 PreAuthSupported:1;
576 tANI_U16 NoPairwise:1;
577 tANI_U16 PTKSAReplayCounter:2;
578 tANI_U16 GTKSAReplayCounter:2;
Chet Lanctot186b5732013-03-18 10:26:30 -0700579 tANI_U16 MFPRequired:1;
580 tANI_U16 MFPCapable:1;
581 tANI_U16 Reserved:8;
Jeff Johnson295189b2012-06-20 16:38:30 -0700582} __ani_attr_packed tCsrRSNCapabilities;
583
584typedef __ani_attr_pre_packed struct tagCsrRSNPMKIe
585{
586 tANI_U16 cPMKIDs;
587
588 __ani_attr_pre_packed struct {
589
590 tANI_U8 PMKID[ CSR_RSN_PMKID_SIZE ];
591
592 } __ani_attr_packed PMKIDList[ 1 ];
593
594
595} __ani_attr_packed tCsrRSNPMKIe;
596
597typedef __ani_attr_pre_packed struct tCsrIELenInfo
598{
599 tANI_U8 min;
600 tANI_U8 max;
601} __ani_attr_packed tCsrIELenInfo;
602
603#ifdef FEATURE_WLAN_WAPI
604typedef __ani_attr_pre_packed struct tagCsrWapiIe
605{
606 tDot11IEHeader IeHeader;
607 tANI_U16 Version;
608
609 tANI_U16 cAuthenticationSuites;
610 __ani_attr_pre_packed struct {
611
612 tANI_U8 Oui[ CSR_WAPI_OUI_SIZE ];
613
614 } __ani_attr_packed AuthOui[ 1 ];
615
616 tANI_U16 cUnicastCyphers;
617 __ani_attr_pre_packed struct {
618
619 tANI_U8 Oui[ CSR_WAPI_OUI_SIZE ];
620
621 } __ani_attr_packed UnicastOui[ 1 ];
622
623 tANI_U8 MulticastOui[ CSR_WAPI_OUI_SIZE ];
624
625 __ani_attr_pre_packed struct {
626 tANI_U16 PreAuthSupported:1;
627 tANI_U16 Reserved:15;
628 } __ani_attr_packed tCsrWapiCapabilities;
629
630
631} __ani_attr_packed tCsrWapiIe;
632
633typedef __ani_attr_pre_packed struct tagCsrWAPIBKIe
634{
635 tANI_U16 cBKIDs;
636 __ani_attr_pre_packed struct {
637
638 tANI_U8 BKID[ CSR_WAPI_BKID_SIZE ];
639
640 } __ani_attr_packed BKIDList[ 1 ];
641
642
643} __ani_attr_packed tCsrWAPIBKIe;
644#endif /* FEATURE_WLAN_WAPI */
645
646#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK)
647#pragma pack( pop )
648#endif
649
650// Structure used to describe a group of continuous channels and hook it into the
651// corresponding channel list
652typedef struct tagCsrChannelSet
653{
654 tListElem channelListLink;
655 tANI_U8 firstChannel;
656 tANI_U8 interChannelOffset;
657 tANI_U8 numChannels;
658 tANI_U8 txPower;
659}tCsrChannelSet;
660
661
662typedef struct sDot11InfoIBSSParmSet
663{
664 tDot11IEHeader dot11IEHeader;
665 tANI_U8 ATIMWindow;
666}tDot11InfoIBSSParmSet;
667
668
669typedef struct sDot11IECountry
670{
671 tDot11IEHeader dot11IEHeader;
672 tANI_U8 countryString[3];
673 tSirMacChanInfo chanInfo[1];
674}tDot11IECountry;
675
676
677typedef struct sDot11IEExtenedSupportedRates
678{
679 tDot11IEHeader dot11IEHeader;
680 tANI_U8 ExtendedSupportedRates[ CSR_DOT11_EXTENDED_SUPPORTED_RATES_MAX ];
681}tDot11IEExtenedSupportedRates;
682
683#define CSR_DOT11_AP_NAME_MAX_LENGTH ( 32 )
684
685typedef struct tagDot11IEAPName
686{
687 tDot11IEHeader dot11IEHeader;
688 tANI_U8 ApName[ CSR_DOT11_AP_NAME_MAX_LENGTH ];
689}tDot11IEAPName;
690
691typedef struct tagDot11IE11HLocalPowerConstraint
692{
693 tDot11IEHeader dot11IEHeader;
694 tANI_U8 localPowerConstraint;
695
696}tDot11IE11HLocalPowerConstraint;
697
698typedef struct tagRoamingTimerInfo
699{
700 tpAniSirGlobal pMac;
701 tANI_U8 sessionId;
702} tCsrTimerInfo;
703
704
705#define CSR_IS_11A_BSS(pBssDesc) ( eSIR_11A_NW_TYPE == (pBssDesc)->nwType )
706#define CSR_IS_BASIC_RATE(rate) ((rate) & CSR_DOT11_BASIC_RATE_MASK)
707#define CSR_IS_QOS_BSS(pIes) ( (pIes)->WMMParams.present || (pIes)->WMMInfoAp.present )
708
709#define CSR_IS_UAPSD_BSS(pIes) \
710 ( ((pIes)->WMMParams.present && ((pIes)->WMMParams.qosInfo & SME_QOS_AP_SUPPORTS_APSD)) || \
711 ((pIes)->WMMInfoAp.present && (pIes)->WMMInfoAp.uapsd) )
712
713//This macro returns the total length needed of Tlv with with len bytes of data
714#define GET_TLV_MSG_LEN(len) GET_ROUND_UP((sizeof(tCsrCfgMsgTlvHdr) + (len)), sizeof(tANI_U32))
715
716tANI_BOOLEAN csrGetBssIdBssDesc( tHalHandle hHal, tSirBssDescription *pSirBssDesc, tCsrBssid *pBssId );
717tANI_BOOLEAN csrIsBssIdEqual( tHalHandle hHal, tSirBssDescription *pSirBssDesc1, tSirBssDescription *pSirBssDesc2 );
718
719eCsrMediaAccessType csrGetQoSFromBssDesc( tHalHandle hHal, tSirBssDescription *pSirBssDesc,
720 tDot11fBeaconIEs *pIes);
721tANI_BOOLEAN csrIsNULLSSID( tANI_U8 *pBssSsid, tANI_U8 len );
722tANI_BOOLEAN csrIsInfraBssDesc( tSirBssDescription *pSirBssDesc );
723tANI_BOOLEAN csrIsIbssBssDesc( tSirBssDescription *pSirBssDesc );
724tANI_BOOLEAN csrIsPrivacy( tSirBssDescription *pSirBssDesc );
725tSirResultCodes csrGetDisassocRspStatusCode( tSirSmeDisassocRsp *pSmeDisassocRsp );
726tSirResultCodes csrGetDeAuthRspStatusCode( tSirSmeDeauthRsp *pSmeRsp );
727tANI_U32 csrGetFragThresh( tHalHandle hHal );
728tANI_U32 csrGetRTSThresh( tHalHandle hHal );
729eCsrPhyMode csrGetPhyModeFromBssDesc( tSirBssDescription *pSirBssDesc );
730tANI_U32 csrGet11hPowerConstraint( tHalHandle hHal, tDot11fIEPowerConstraints *pPowerConstraint );
731tANI_U8 csrConstructRSNIe( tHalHandle hHal, tANI_U32 sessionId, tCsrRoamProfile *pProfile,
732 tSirBssDescription *pSirBssDesc, tDot11fBeaconIEs *pIes, tCsrRSNIe *pRSNIe );
733tANI_U8 csrConstructWpaIe( tHalHandle hHal, tCsrRoamProfile *pProfile, tSirBssDescription *pSirBssDesc,
734 tDot11fBeaconIEs *pIes, tCsrWpaIe *pWpaIe );
735#ifdef FEATURE_WLAN_WAPI
736
737tANI_BOOLEAN csrIsProfileWapi( tCsrRoamProfile *pProfile );
738#endif /* FEATURE_WLAN_WAPI */
739//If a WPAIE exists in the profile, just use it. Or else construct one from the BSS
740//Caller allocated memory for pWpaIe and guarrantee it can contain a max length WPA IE
741tANI_U8 csrRetrieveWpaIe( tHalHandle hHal, tCsrRoamProfile *pProfile, tSirBssDescription *pSirBssDesc,
742 tDot11fBeaconIEs *pIes, tCsrWpaIe *pWpaIe );
743tANI_BOOLEAN csrIsSsidEqual( tHalHandle hHal, tSirBssDescription *pSirBssDesc1,
744 tSirBssDescription *pSirBssDesc2, tDot11fBeaconIEs *pIes2 );
745//Null ssid means match
746tANI_BOOLEAN csrIsSsidInList( tHalHandle hHal, tSirMacSSid *pSsid, tCsrSSIDs *pSsidList );
747tANI_BOOLEAN csrIsProfileWpa( tCsrRoamProfile *pProfile );
748tANI_BOOLEAN csrIsProfileRSN( tCsrRoamProfile *pProfile );
749//This function returns the raw byte array of WPA and/or RSN IE
750tANI_BOOLEAN csrGetWpaRsnIe( tHalHandle hHal, tANI_U8 *pIes, tANI_U32 len,
751 tANI_U8 *pWpaIe, tANI_U8 *pcbWpaIe, tANI_U8 *pRSNIe, tANI_U8 *pcbRSNIe);
752//If a RSNIE exists in the profile, just use it. Or else construct one from the BSS
753//Caller allocated memory for pWpaIe and guarrantee it can contain a max length WPA IE
754tANI_U8 csrRetrieveRsnIe( tHalHandle hHal, tANI_U32 sessionId, tCsrRoamProfile *pProfile, tSirBssDescription *pSirBssDesc,
755 tDot11fBeaconIEs *pIes, tCsrRSNIe *pRsnIe );
756#ifdef FEATURE_WLAN_WAPI
757//If a WAPI IE exists in the profile, just use it. Or else construct one from the BSS
758//Caller allocated memory for pWapiIe and guarrantee it can contain a max length WAPI IE
759tANI_U8 csrRetrieveWapiIe( tHalHandle hHal, tANI_U32 sessionId, tCsrRoamProfile *pProfile, tSirBssDescription *pSirBssDesc,
760 tDot11fBeaconIEs *pIes, tCsrWapiIe *pWapiIe );
761#endif /* FEATURE_WLAN_WAPI */
762tANI_BOOLEAN csrSearchChannelListForTxPower(tHalHandle hHal, tSirBssDescription *pBssDescription, tCsrChannelSet *returnChannelGroup);
763tANI_BOOLEAN csrRatesIsDot11Rate11bSupportedRate( tANI_U8 dot11Rate );
764tANI_BOOLEAN csrRatesIsDot11Rate11aSupportedRate( tANI_U8 dot11Rate );
765tAniEdType csrTranslateEncryptTypeToEdType( eCsrEncryptionType EncryptType );
766//pIes shall contain IEs from pSirBssDesc. It shall be returned from function csrGetParsedBssDescriptionIEs
Abhishek Singh3b56d3a2014-06-25 12:37:39 +0530767tANI_BOOLEAN csrIsSecurityMatch( tHalHandle hHal, tCsrAuthList *authType,
768 tCsrEncryptionList *pUCEncryptionType,
769 tCsrEncryptionList *pMCEncryptionType,
770 tANI_BOOLEAN *pMFPEnabled,
771 tANI_U8 *pMFPRequired,
772 tANI_U8 *pMFPCapable,
Jeff Johnson295189b2012-06-20 16:38:30 -0700773 tSirBssDescription *pSirBssDesc, tDot11fBeaconIEs *pIes,
774 eCsrAuthType *negotiatedAuthtype, eCsrEncryptionType *negotiatedUCCipher, eCsrEncryptionType *negotiatedMCCipher );
775tANI_BOOLEAN csrIsBSSTypeMatch(eCsrRoamBssType bssType1, eCsrRoamBssType bssType2);
776tANI_BOOLEAN csrIsBssTypeIBSS(eCsrRoamBssType bssType);
777tANI_BOOLEAN csrIsBssTypeWDS(eCsrRoamBssType bssType);
778//ppIes can be NULL. If caller want to get the *ppIes allocated by this function, pass in *ppIes = NULL
779//Caller needs to free the memory in this case
780tANI_BOOLEAN csrMatchBSS( tHalHandle hHal, tSirBssDescription *pBssDesc, tCsrScanResultFilter *pFilter,
781 eCsrAuthType *pNegAuth, eCsrEncryptionType *pNegUc, eCsrEncryptionType *pNegMc,
782 tDot11fBeaconIEs **ppIes);
783
784tANI_BOOLEAN csrIsBssidMatch( tHalHandle hHal, tCsrBssid *pProfBssid, tCsrBssid *BssBssid );
785tANI_BOOLEAN csrMatchBSSToConnectProfile( tHalHandle hHal, tCsrRoamConnectedProfile *pProfile,
786 tSirBssDescription *pBssDesc, tDot11fBeaconIEs *pIes );
Masti, Narayanraddi3f5affe2015-01-08 12:10:08 +0530787
788void csrAddRateBitmap(tANI_U8 rate, tANI_U16 *pRateBitmap);
789tANI_BOOLEAN csrIsRateAlreadyPresent(tANI_U8 rate, tANI_U16 RateBitmap);
790
Jeff Johnson295189b2012-06-20 16:38:30 -0700791tANI_BOOLEAN csrRatesIsDot11RateSupported( tHalHandle hHal, tANI_U8 rate );
792tANI_U16 csrRatesFindBestRate( tSirMacRateSet *pSuppRates, tSirMacRateSet *pExtRates, tSirMacPropRateSet *pPropRates );
793tSirBssType csrTranslateBsstypeToMacType(eCsrRoamBssType csrtype);
794
795//Caller allocates memory for pIEStruct
796eHalStatus csrParseBssDescriptionIEs(tHalHandle hHal, tSirBssDescription *pBssDesc, tDot11fBeaconIEs *pIEStruct);
797//This function will allocate memory for the parsed IEs to the caller. Caller must free the memory
798//after it is done with the data only if this function succeeds
799eHalStatus csrGetParsedBssDescriptionIEs(tHalHandle hHal, tSirBssDescription *pBssDesc, tDot11fBeaconIEs **ppIEStruct);
800
801tANI_BOOLEAN csrValidateCountryString( tHalHandle hHal, tANI_U8 *pCountryString );
802tSirScanType csrGetScanType(tpAniSirGlobal pMac, tANI_U8 chnId);
803
804tANI_U8 csrToUpper( tANI_U8 ch );
805eHalStatus csrGetPhyModeFromBss(tpAniSirGlobal pMac, tSirBssDescription *pBSSDescription,
806 eCsrPhyMode *pPhyMode, tDot11fBeaconIEs *pIes);
807
808//fForce -- force reassoc regardless of whether there is any change
809//The reason is that for UAPSD-bypass, the code underneath this call determine whether
810//to allow UAPSD. The information in pModProfileFields reflects what the user wants.
811//There may be discrepency in it. UAPSD-bypass logic should decide if it needs to reassoc
812eHalStatus csrReassoc(tpAniSirGlobal pMac, tANI_U32 sessionId,
813 tCsrRoamModifyProfileFields *pModProfileFields,
814 tANI_U32 *pRoamId, v_BOOL_t fForce);
815
Jeff Johnsone7245742012-09-05 17:12:55 -0700816eHalStatus
817csrIsconcurrentsessionValid(tpAniSirGlobal pMac,tANI_U32 cursessionId,
818 tVOS_CON_MODE currBssPersona);
819
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -0800820//Update beaconInterval for P2P-GO case if it is different
821eHalStatus csrUpdatep2pBeaconInterval(tpAniSirGlobal pMac);
822
823//BeaconInterval validation for MCC support
Sudhir Sattayappa Kohallid9a4df62013-04-04 14:47:54 -0700824eHalStatus csrValidateMCCBeaconInterval(tpAniSirGlobal pMac, tANI_U8 channelId,
Jeff Johnsone7245742012-09-05 17:12:55 -0700825 tANI_U16 *beaconInterval, tANI_U32 cursessionId,
826 tVOS_CON_MODE currBssPersona);
827
Jeff Johnson295189b2012-06-20 16:38:30 -0700828#ifdef WLAN_FEATURE_VOWIFI_11R
829tANI_BOOLEAN csrIsProfile11r( tCsrRoamProfile *pProfile );
Madan Mohan Koyyalamudi5e32b962012-11-28 16:07:55 -0800830tANI_BOOLEAN csrIsAuthType11r( eCsrAuthType AuthType, tANI_U8 mdiePresent);
Jeff Johnson295189b2012-06-20 16:38:30 -0700831#endif
832
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800833#ifdef FEATURE_WLAN_ESE
834tANI_BOOLEAN csrIsAuthTypeESE( eCsrAuthType AuthType );
835tANI_BOOLEAN csrIsProfileESE( tCsrRoamProfile *pProfile );
Jeff Johnson295189b2012-06-20 16:38:30 -0700836#endif
837
838#endif
839