xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/mvl88w8977/mlan/esa/common/wl_mib.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /** @file  wl_mib.h
2  *
3  *  @brief This file contains the MIB structure definitions based on IEEE 802.11 specification.
4  *
5  * Copyright (C) 2014-2017, Marvell International Ltd.
6  *
7  * This software file (the "File") is distributed by Marvell International
8  * Ltd. under the terms of the GNU General Public License Version 2, June 1991
9  * (the "License").  You may use, redistribute and/or modify this File in
10  * accordance with the terms and conditions of the License, a copy of which
11  * is available by writing to the Free Software Foundation, Inc.,
12  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
13  * worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
14  *
15  * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
17  * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
18  * this warranty disclaimer.
19  */
20 
21 /******************************************************
22 Change log:
23     03/07/2014: Initial version
24 ******************************************************/
25 #if !defined(WL_MIB_H__)
26 
27 #define WL_MIB_H__
28 #include "wl_mib_rom.h"
29 
30 /*============================================================================= */
31 /*                    Management Information Base STRUCTURES (IEEE 802.11) */
32 /*============================================================================= */
33 
34 /*-----------------------------*/
35 /* Station Configuration Table */
36 /*-----------------------------*/
37 
38 typedef struct MIB_StaCfg_s
39 {
40 	UINT8 CfPeriod;		/* 0 to 255              */
41 	UINT16 CfpMax;		/* 0 to 65535            */
42 	UINT8 PwrMgtMode;	/* PwrMgmtMode_e values  */
43 	UINT8 OpRateSet[16];	/* 16 byte array is sufficient for
44 				   14 rate */
45 #ifdef DOT11H
46 	Boolean dot11SpectrumManagementRequired;
47 #endif
48 	Boolean dot11WWSenabled;
49 } MIB_STA_CFG;
50 
51 /*------------------------*/
52 /* WEP Key Mappings Table */
53 /*------------------------*/
54 
55 /* This struct is used in ROM and it should not be changed at all */
56 typedef struct MIB_WepKeyMappings_s {
57 	UINT32 WepKeyMappingIdx;
58 	IEEEtypes_MacAddr_t WepKeyMappingAddr;
59 	UINT8 WepKeyMappingWepOn;	/* SNMP_Boolean_e values */
60 	UINT8 WepKeyMappingVal[WEP_KEY_USER_INPUT];	/* 5 byte string */
61 	UINT8 WepKeyMappingStatus;	/* SNMP_Rowstatus_e values */
62 } MIB_WEP_KEY_MAPPINGS;
63 
64 /*---------------*/
65 /* Privacy Table */
66 /*---------------*/
67 
68 typedef struct MIB_PrivacyTable_s {
69 	UINT8 PrivInvoked;	/* SNMP_Boolean_e values */
70 	UINT8 WepDefaultKeyId;	/* 0 to 3 */
71 	UINT32 WepKeyMappingLen;	/* 10 to 4294967295 */
72 	UINT8 ExcludeUnencrypt;	/* SNMP_Boolean_e values */
73 	UINT32 WepIcvErrCnt;
74 	UINT32 WepExcludedCnt;
75 	UINT8 RSNEnabled;	/* SNMP_Boolean_e values */
76 } MIB_PRIVACY_TABLE;
77 
78 /*============================================================================= */
79 /*                             MAC ATTRIBUTES */
80 /*============================================================================= */
81 
82 /*---------------------*/
83 /* MAC Operation Table */
84 /*---------------------*/
85 
86 typedef struct MIB_OpData_s
87 {
88 	IEEEtypes_MacAddr_t StaMacAddr;
89 	UINT16 RtsThresh;	/* 0 to 2347 */
90 	UINT8 ShortRetryLim;	/* 1 to 255 */
91 	UINT8 LongRetryLim;	/* 1 to 255 */
92 	UINT16 FragThresh;	/* 256 to 2346 */
93 	UINT32 MaxTxMsduLife;	/* 1 to 4294967295 */
94 	UINT32 MaxRxLife;	/* 1 to 4294967295 */
95 #ifdef IN_USE
96 	UINT8 ManufId[128];	/* 128 byte string */
97 	UINT8 ProdId[128];	/* 128 byte string */
98 #endif
99 } MIB_OP_DATA;
100 
101 /*----------------*/
102 /* Counters Table */
103 /*----------------*/
104 
105 typedef struct MIB_Counters_s {
106 	UINT32 RxFrmCnt;
107 	UINT32 MulticastTxFrmCnt;
108 	UINT32 FailedCnt;
109 	UINT32 RetryCnt;
110 	UINT32 MultRetryCnt;
111 	UINT32 FrmDupCnt;
112 	UINT32 RtsSuccessCnt;
113 	UINT32 RtsFailCnt;
114 	UINT32 AckFailCnt;
115 	UINT32 RxFragCnt;
116 	UINT32 MulticastRxFrmCnt;
117 	UINT32 FcsErrCnt;
118 	UINT32 TxFrmCnt;
119 	UINT32 WepUndecryptCnt;
120 } MIB_COUNTERS;
121 
122 /*-----------------------*/
123 /* Group Addresses Table */
124 /*-----------------------*/
125 
126 typedef struct MIB_GroupAddr_s {
127 	UINT32 GroupAddrIdx;
128 	IEEEtypes_MacAddr_t Addr;
129 	UINT8 GroupAddrStatus;	/* SNMP_Rowstatus_e values */
130 } MIB_GROUP_ADDR;
131 
132 /*----------------------------*/
133 /* Resource Information Table */
134 /*----------------------------*/
135 
136 typedef struct MIB_RsrcInfo_s {
137 	UINT8 ManufOui[3];	/* 3 byte string */
138 	UINT8 ManufName[128];	/* 128 byte string */
139 	UINT8 ManufProdName[128];	/* 128 byte string */
140 	UINT8 ManufProdVer[128];	/* 128 byte string */
141 } MIB_RESOURCE_INFO;
142 
143 /*============================================================================= */
144 /*                             PHY ATTRIBUTES */
145 /*============================================================================= */
146 
147 /*---------------------*/
148 /* PHY Operation Table */
149 /*---------------------*/
150 typedef struct MIB_PhyOpTable_s {
151 	UINT8 PhyType;		/* SNMP_PhyType_e values */
152 	UINT32 CurrRegDomain;
153 	UINT8 TempType;		/* SNMP_TempType_e values */
154 } MIB_PHY_OP_TABLE;
155 
156 /*-------------------*/
157 
158 /* PHY Antenna Table */
159 
160 /*-------------------*/
161 
162 typedef struct MIB_PhyAntTable_s {
163 	UINT8 CurrTxAnt;	/* 1 to 255 */
164 	UINT8 DivSupport;	/* SNMP_DivSupp_e values */
165 	UINT8 CurrRxAnt;	/* 1 to 255 */
166 } MIB_PHY_ANT_TABLE;
167 
168 typedef struct MIB_PhyAntSelect_s {
169 	UINT8 SelectRxAnt;	/* 0 to 1 */
170 	UINT8 SelectTxAnt;	/* 0 to 1 */
171 	UINT8 DiversityRxAnt;	/* Boolean */
172 	UINT8 DiversityTxAnt;	/* Boolean */
173 } MIB_PHY_ANT_SELECT;
174 
175 /*--------------------------*/
176 /* PHY Transmit Power Table */
177 /*--------------------------*/
178 
179 typedef struct MIB_PhyTxPwrTable_s {
180 	UINT8 NumSuppPwrLevels;	/* 1 to 8 */
181 	UINT16 TxPwrLevel1;	/* 0 to 10000 */
182 	UINT16 TxPwrLevel2;	/* 0 to 10000 */
183 	UINT16 TxPwrLevel3;	/* 0 to 10000 */
184 	UINT16 TxPwrLevel4;	/* 0 to 10000 */
185 	UINT16 TxPwrLevel5;	/* 0 to 10000 */
186 	UINT16 TxPwrLevel6;	/* 0 to 10000 */
187 	UINT16 TxPwrLevel7;	/* 0 to 10000 */
188 	UINT16 TxPwrLevel8;	/* 0 to 10000 */
189 	UINT8 CurrTxPwrLevel;	/* 1 to 8 */
190 } MIB_PHY_TX_POWER_TABLE;
191 
192 /*---------------------------------------------*/
193 
194 /* PHY Frequency Hopping Spread Spectrum Table */
195 
196 /*---------------------------------------------*/
197 
198 typedef struct MIB_PhyFHSSTable_s {
199 
200 	UINT8 HopTime;		/* 224? */
201 	UINT8 CurrChanNum;	/* 0 to 99 */
202 	UINT16 MaxDwellTime;	/* 0 to 65535 */
203 	UINT16 CurrDwellTime;	/* 0 to 65535 */
204 	UINT16 CurrSet;		/* 0 to 255 */
205 	UINT16 CurrPattern;	/* 0 to 255 */
206 	UINT16 CurrIdx;		/* 0 to 255 */
207 
208 } MIB_PHY_FHSS_TABLE;
209 
210 /*-------------------------------------------*/
211 
212 /* PHY Direct Sequence Spread Spectrum Table */
213 
214 /*-------------------------------------------*/
215 
216 typedef enum MIB_CCAMode_s {
217 	ENERGY_DETECT_ONLY = 1,
218 	CARRIER_SENSE_ONLY = 2,
219 	CARRIER_SENSE_AND_ENERGY_DETECT = 4
220 } MIB_CCA_MODE;
221 
222 typedef struct MIB_PhyDSSSTable_s {
223 	UINT8 CurrChan;		/* 0 to 14 */
224 	UINT8 CcaModeSupp;	/* 1 to 7 */
225 	UINT16 CurrCcaMode;	/* MIB_CCA_MODE values only */
226 	UINT32 EdThresh;
227 } MIB_PHY_DSSS_TABLE;
228 
229 /*--------------*/
230 
231 /* PHY IR Table */
232 
233 /*--------------*/
234 
235 typedef struct MIB_PhyIRTable_s {
236 	UINT32 CcaWatchDogTmrMax;
237 	UINT32 CcaWatchDogCntMax;
238 	UINT32 CcaWatchDogTmrMin;
239 	UINT32 CcaWatchDogCntMin;
240 } MIB_PHY_IR_TABLE;
241 
242 /*----------------------------------------*/
243 
244 /* PHY Regulatory Domains Supported Table */
245 
246 /*----------------------------------------*/
247 
248 typedef struct MIB_PhyRegDomainsSupp_s {
249 	UINT32 RegDomainsSuppIdx;
250 	UINT8 RegDomainsSuppVal;	/*SNMP_RegDomainsSuppVal_e values */
251 } MIB_PHY_REG_DOMAINS_SUPPPORTED;
252 
253 /*-------------------------*/
254 
255 /* PHY Antennas List Table */
256 
257 /*-------------------------*/
258 
259 typedef struct MIB_PhyAntList_s {
260 	UINT8 AntListIdx;
261 	UINT8 SuppTxAnt;	/*SNMP_Boolean_e values */
262 	UINT8 SuppRxAnt;	/*SNMP_Boolean_e values */
263 	UINT8 RxDiv;		/*SNMP_Boolean_e values */
264 } MIB_PHY_ANT_LIST;
265 
266 /*----------------------------------------*/
267 
268 /* PHY Supported Receive Data Rates Table */
269 
270 /*----------------------------------------*/
271 
272 typedef struct MIB_PhySuppDataRatesRx_s {
273 	UINT8 SuppDataRatesRxIdx;	/*1 to 8 */
274 	UINT8 SuppDataRatesRxVal;	/*2 to 127 */
275 } MIB_PHY_SUPP_DATA_RATES_RX;
276 
277 typedef struct MIB_DHCP_s {
278 	UINT32 IPAddr;
279 	UINT32 SubnetMask;
280 	UINT32 GwyAddr;
281 
282 #ifdef GATEWAY
283 	UINT32 PrimaryDNS;
284 	UINT32 SecondaryDNS;
285 #endif
286 
287 } MIB_DHCP;
288 
289 #if defined(GATEWAY)
290 
291 typedef struct MIB_IP_LAN_s {
292 	UINT32 IPAddr;
293 	UINT32 SubnetMask;
294 } MIB_IP_LAN;
295 
296 #endif
297 
298 /* Added for WB31 */
299 
300 typedef struct _MIB_WB {
301 	UINT8 devName[16];	// Must be a string:
302 	//      15 Max characters
303 	UINT8 cloneMacAddr[6];	// cloned MAC Address
304 	UINT8 opMode;		// 0 for infrastructure,
305 	// 1 for ad-hoc
306 	UINT8 macCloneEnable;	// boolean
307 } MIB_WB;
308 
309 /* Added for WB31 end */
310 
311 /*---------------------*/
312 
313 /* RSN Config Table */
314 
315 /*---------------------*/
316 
317 typedef struct MIB_RSNConfig_s {
318 	UINT32 Index;
319 	UINT32 Version;
320 	UINT32 PairwiseKeysSupported;
321 	UINT8 MulticastCipher[4];
322 	UINT8 GroupRekeyMethod;
323 	UINT32 GroupRekeyTime;
324 	UINT32 GroupRekeyPackets;
325 	UINT8 GroupRekeyStrict;
326 	UINT8 PSKValue[40];
327 	UINT8 PSKPassPhrase[64];
328 	UINT8 TSNEnabled;
329 	UINT32 GroupMasterRekeyTime;
330 	UINT32 GroupUpdateTimeOut;
331 	UINT32 GroupUpdateCount;
332 	UINT32 PairwiseUpdateTimeOut;
333 	UINT32 PairwiseUpdateCount;
334 } MIB_RSNCONFIG;
335 
336 /*---------------------*/
337 
338 /* RSN Unicast Cipher Suites Config Table */
339 
340 /*---------------------*/
341 
342 typedef struct MIB_RSNConfigUnicastCiphers_s {
343 	UINT32 Index;
344 	UINT8 UnicastCipher[4];
345 	UINT8 Enabled;
346 } MIB_RSNCONFIG_UNICAST_CIPHERS;
347 
348 /*---------------------*/
349 
350 /* RSN Authentication Suites Config Table */
351 
352 /*---------------------*/
353 
354 typedef struct MIB_RSNConfigAuthSuites_s {
355 	UINT32 Index;
356 	UINT8 AuthSuites[4];
357 	UINT8 Enabled;
358 } MIB_RSNCONFIG_AUTH_SUITES;
359 
360 typedef struct Mrvl_MIB_RSN_GrpKey_s {
361 	UINT8 GrpMasterKey[32];
362 	UINT8 EncryptKey[16];
363 	UINT32 TxMICKey[2];
364 	UINT32 RxMICKey[2];
365 	UINT32 g_IV32;
366 	UINT16 g_IV16;
367 	UINT16 g_Phase1Key[5];
368 	UINT8 g_KeyIndex;
369 } MRVL_MIB_RSN_GRP_KEY;
370 
371 #ifdef MIB_STATS
372 
373 typedef struct Mrvl_MIB_StatsDetails {
374 	/* WARNING: Do not change the order of variables in this structure */
375 	UINT32 TKIPLocalMICFailures;	/* OID: 0x0b -> 0  */
376 	UINT32 CCMPDecryptErrors;	/* OID: 0x0c -> 1  */
377 	UINT32 WEPUndecryptableCount;	/* OID: 0x0d -> 2  */
378 	UINT32 WEPICVErrorCount;	/* OID: 0x0e -> 3  */
379 	UINT32 DecryptFailureCount;	/* OID: 0x0f -> 4  */
380 	UINT32 failed;		/* OID: 0x12 -> 5  */
381 	UINT32 retry;		/* OID: 0x13 -> 6  */
382 	UINT32 multiretry;	/* OID: 0x14 -> 7  */
383 	UINT32 framedup;	/* OID: 0x15 -> 8  */
384 	UINT32 rtssuccess;	/* OID: 0x16 -> 9  */
385 	UINT32 rtsfailure;	/* OID: 0x17 -> 10 */
386 	UINT32 ackfailure;	/* OID: 0x18 -> 11 */
387 	UINT32 rxfrag;		/* OID: 0x19 -> 12 */
388 	UINT32 mcastrxframe;	/* OID: 0x1a -> 13 */
389 	UINT32 fcserror;	/* OID: 0x1b -> 14 */
390 	UINT32 txframe;		/* OID: 0x1c -> 15 */
391 	UINT32 rsntkipcminvoked;	/* OID: 0x1d -> 16 */
392 	UINT32 rsn4wayhandshakefailure;	/* OID: 0x1e -> 17 */
393 	UINT32 mcasttxframe;	/* OID: 0x1f -> 18 */
394 	UINT32 TKIPICVErrors;	/* Not in the OID list */
395 	UINT32 TKIPReplays;	/* Not in the OID list */
396 	UINT32 CCMPReplays;	/* Not in the OID list */
397 	UINT32 CMACICVErrors;	/* Not in the OID list */
398 	UINT32 CMACReplays;	/* Not in the OID list */
399 	UINT32 WEPFragError;	/* Not in the OID list */
400 	UINT32 DecryptSuccessCount;	/* Not in the OID list */
401 	UINT32 wepicverrCnt[4];	/* Not in the OID list */
402 
403 	/* EAPoL Tx Stats */
404 	UINT16 eapolSentTotalCnt;
405 	UINT16 eapolSentFrmFwCnt;
406 	UINT16 eapolSentSuccessCnt;
407 	UINT16 eapolSentFailCnt;
408 
409 	/* EAPoL Rx Stats */
410 	UINT16 eapolRxTotalCnt;
411 	UINT16 eapolRxForESUPPCnt;
412 
413 	/* Key Stats */
414 	UINT16 PTKRecvdTotalCnt;
415 	UINT16 PTKSentFrmESUPPCnt;
416 
417 	UINT16 GTKRecvdTotalCnt;
418 	UINT16 GTKSentFrmESUPPCnt;
419 } MRVL_MIB_STATSDETAILS;
420 
421 #define NUM_OF_STATS_OIDS (19)
422 
423 #define INC_MIB_STAT(x, a) if (x && x->pMibStats) { x->pMibStats->data.mib.a++; }
424 #define INC_MIB_STAT2(x, a, b) if (x && x->pMibStats) { x->pMibStats->data.mib.a++; x->pMibStats->data.mib.b++;}
425 #define INC_MIB_STAT3(x, a, b, c) if (x && x->pMibStats) { x->pMibStats->data.mib.a++; x->pMibStats->data.mib.b++; x->pMibStats->data.mib.c++;}
426 #define CLR_MIB_STAT(x, a) if (x && x->pMibStats) { x->pMibStats->data.mib.a = 0; }
427 
428 typedef struct Mrvl_MIB_Stats {
429 	union {
430 		MRVL_MIB_STATSDETAILS mib;
431 		UINT32 mib_stats[NUM_OF_STATS_OIDS];
432 	} data;
433 } MRVL_MIB_STATS;
434 #endif
435 
436 typedef struct MIB_BURST_MODE {
437 	UINT8 mib_burstmode;
438 	UINT32 mib_burstrate;
439 } MIB_BURST_MODE;
440 
441 #ifdef BRIDGE_STP
442 
443 typedef struct mib_dot1dPortEntry_s {
444 	UINT8 mib_dot1dStpPortPriority;	/* (0..255) */
445 	UINT8 mib_dot1dStpPortEnable;	/*1: enable; 2: disable */
446 	UINT16 mib_dot1dStpPortPathCost;	/* (1..65535) */
447 } mib_dot1dPortEntry_t;
448 
449 typedef struct mib_dot1dStp_s {
450 	UINT8 mib_dot1dStpPortPriority;	/* (0..255) */
451 	UINT8 mib_dot1dStpPortEnable;	/*1: enable; 2: disable */
452 	UINT16 mib_dot1dStpPortPathCost;	/* (1..65535) */
453 	UINT32 mib_dot1dTpAgingTime;	/* (10..1000000) */
454 	UINT16 mib_dot1dStpPriority;
455 	UINT16 mib_dot1dStpBridgeMaxAge;
456 	UINT16 mib_dot1dStpBridgeHelloTime;
457 	UINT16 mib_dot1dStpBridgeForwardDelay;
458 } mib_dot1dStp_t;
459 
460 typedef struct mib_priv_dot1dStp_s {
461 	UINT8 mib_priv_dot1dStpEnable;	/* 1 or 0 */
462 } mib_priv_dot1dStp_t;
463 
464 #endif
465 
466 typedef struct MIB_802DOT11_s {
467 
468     /*-----------------------------------------*/
469 
470 	/* Station Management Attributes */
471 
472     /*-----------------------------------------*/
473 
474 	MIB_STA_CFG StationConfig;	/* station configuration table */
475 
476 	MIB_WEP_DEFAULT_KEYS WepDefaultKeys[4];	/* wep default keys table */
477 
478 	MIB_WEP_KEY_MAPPINGS WepKeyMappings;	/* wep key mappings table */
479 
480 	MIB_PRIVACY_TABLE Privacy;	/* privacy table */
481 
482 	/* SMT Notification Objects */
483 
484 #ifdef AP_SW
485 
486 	MIB_DISASSOC_NOT NoteDisassoc;	/* disassociate notification */
487 
488 	MIB_DEAUTH_NOT NoteDeauth;	/* deauthentication notification */
489 
490 	MIB_AUTH_FAIL_NOT NoteAuthFail;	/* authentication fail notification */
491 
492 #endif
493 
494     /*-----------------------------------------*/
495 
496 	/* MAC Attributes */
497 
498     /*-----------------------------------------*/
499 
500 	MIB_OP_DATA OperationTable;
501 
502 #ifdef WMM_IMPLEMENTED
503 	MIB_EDCA_CONFIG EdcaConfigTable[WMM_MAX_TIDS];
504 #endif
505 
506 #ifdef AP_SW
507 
508 	MIB_COUNTERS CountersTable;
509 
510 	MIB_GROUP_ADDR GroupAddrTable;
511 
512     /*-----------------------------------------*/
513 
514 	/* Resource Type                           */
515 
516     /*-----------------------------------------*/
517 
518 	MIB_RESOURCE_INFO ResourceInfo;
519 
520     /*-----------------------------------------*/
521 
522 	/* PHY Attributes                          */
523 
524     /*-----------------------------------------*/
525 
526 	MIB_PHY_OP_TABLE PhyOpTable;
527 
528 	MIB_PHY_TX_POWER_TABLE PhyPowerTable;
529 
530 	MIB_PHY_FHSS_TABLE PhyFHSSTable;
531 
532 	MIB_PHY_IR_TABLE PhyIRTable;
533 
534 	MIB_PHY_REG_DOMAINS_SUPPPORTED PhyRegDomainsSupp;
535 
536 	MIB_PHY_ANT_LIST AntennasListTable;
537 
538 #endif
539 
540 	MIB_PHY_ANT_TABLE PhyAntTable;
541 
542 	MIB_PHY_DSSS_TABLE PhyDSSSTable;
543 
544 	MIB_PHY_SUPP_DATA_RATES_TX SuppDataRatesTx[IEEEtypes_MAX_DATA_RATES_G];
545 
546 	MIB_PHY_SUPP_DATA_RATES_RX SuppDataRatesRx;
547 
548 #if defined(AP_SW)
549 	MIB_RSNCONFIG RSNConfig;
550 #endif
551 
552 	//MIB_RSNCONFIG_UNICAST_CIPHERS UnicastCiphers;
553 
554 	//MIB_RSNCONFIG_AUTH_SUITES  RSNConfigAuthSuites;
555 
556 #ifdef AP_WPA2
557 
558 	MIB_RSNCONFIGWPA2 RSNConfigWPA2;
559 
560 	MIB_RSNCONFIGWPA2_UNICAST_CIPHERS WPA2UnicastCiphers;
561 
562 	MIB_RSNCONFIGWPA2_UNICAST_CIPHERS WPA2UnicastCiphers2;
563 
564 	MIB_RSNCONFIGWPA2_AUTH_SUITES WPA2AuthSuites;
565 
566 #endif
567 
568 #ifdef BURST_MODE
569 
570 	MIB_BURST_MODE BurstMode;
571 
572 #endif
573 
574 	MIB_PHY_ANT_SELECT PhyAntSelect;
575 
576 #ifdef WEP_RSN_STATS_MIB
577 	MIB_RSNSTATS RSNStats;
578 #endif
579 
580 } MIB_802DOT11;
581 
582 extern BOOLEAN mib_InitSta(MIB_802DOT11 *mib);
583 
584 extern BOOLEAN mib_InitAp(MIB_802DOT11 *mib);
585 
586 #endif /* _WL_MIB_H_ */
587