• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2 **+-----------------------------------------------------------------------+**
3 **|                                                                       |**
4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
5 **| All rights reserved.                                                  |**
6 **|                                                                       |**
7 **| Redistribution and use in source and binary forms, with or without    |**
8 **| modification, are permitted provided that the following conditions    |**
9 **| are met:                                                              |**
10 **|                                                                       |**
11 **|  * Redistributions of source code must retain the above copyright     |**
12 **|    notice, this list of conditions and the following disclaimer.      |**
13 **|  * Redistributions in binary form must reproduce the above copyright  |**
14 **|    notice, this list of conditions and the following disclaimer in    |**
15 **|    the documentation and/or other materials provided with the         |**
16 **|    distribution.                                                      |**
17 **|  * Neither the name Texas Instruments nor the names of its            |**
18 **|    contributors may be used to endorse or promote products derived    |**
19 **|    from this software without specific prior written permission.      |**
20 **|                                                                       |**
21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
32 **|                                                                       |**
33 **+-----------------------------------------------------------------------+**
34 ****************************************************************************/
35 
36 #ifndef __PARAM_OUT_H__
37 #define __PARAM_OUT_H__
38 
39 #include "osTIType.h"
40 #include "osDot11.h"
41 #include "tiwlnif.h"
42 #include "ratesTypes.h"
43 #include "scanTypes.h"
44 #include "bssTypes.h"
45 #include "roamingMngrTypes.h"
46 #include "public_commands.h"
47 #include "public_infoele.h"
48 #include "public_radio.h"
49 
50 #ifdef EXC_MODULE_INCLUDED
51 #include "paramOutExc.h"
52 #else
53 #define   EXC_PARAM_FIELDS
54 #endif
55 
56 #include "paramMng.h"
57 #include "commonTypes.h"
58 #include "coreDefaultParams.h"
59 
60 #define DOT11_MAX_DEFAULT_WEP_KEYS          ( 4  )
61 #define ACX_64BITS_WEP_KEY_LENGTH_BYTES     ( 5  )
62 #define ACX_128BITS_WEP_KEY_LENGTH_BYTES    ( 13 )
63 #define ACX_256BITS_WEP_KEY_LENGTH_BYTES    ( 29 )
64 #define ACX_MAX_WEP_KEY_LENGTH_BYTES        ( 29 )
65 
66 #define RX_LEVEL_TABLE_SIZE             (15)
67 #define SPECIAL_BG_CHANNEL              (14)
68 
69 #define BEACON_FILTER_STRING_MAX_LEN 300  /*this is the max possible string length from INI file*/
70 
71 #define BEACON_FILTER_IE_TABLE_MIN_SIZE 0
72 #define BEACON_FILTER_IE_TABLE_MAX_NUM (6+32)
73 #define BEACON_FILTER_IE_TABLE_MIN_NUM 0
74 
75 #define RX_DATA_FILTER_MAX_MASK_SIZE            (8)
76 #define RX_DATA_FILTER_MAX_PATTERN_SIZE         (64)
77 #define RX_DATA_FILTER_MAX_FIELD_PATTERNS       (8)
78 #define RX_DATA_FILTER_FILTER_BOUNDARY          (256)
79 
80 #define RX_DATA_FILTER_FLAG_NO_BIT_MASK         (0)
81 #define RX_DATA_FILTER_FLAG_USE_BIT_MASK        (1)
82 #define RX_DATA_FILTER_FLAG_IP_HEADER           (0)
83 #define RX_DATA_FILTER_FLAG_ETHERNET_HEADER     (2)
84 
85 #define RX_DATA_FILTER_ETHERNET_HEADER_BOUNDARY (14)
86 
87 
88 /* Soft gemini  values */
89 
90 #define NUM_OF_RATES_IN_SG MAX_NUM_OF_TX_RATES_IN_CLASS /* all rates (13)... */
91 #define SG_RATES_STRING_MAX_DEF 100
92 #define SG_RATES_DEF "0,0,1,0,0,1,1,1,0,1,1,1,1" /* all rates but 1,2,6,9,22 */
93 #define NUM_OF_CONFIG_PARAMS_IN_SG 28
94 #define NUM_OF_STATUS_PARAMS_IN_SG 28
95 
96 
97 /*used by UtilInfoCodeQueryInformation , UtilInfoCodeSetInformation*/
98 #define VAL_TX_POWER_VALUE			100
99 #define VAL_NETWORK_TYPE			101
100 #define VAL_AP_TX_POWER_LEVEL	    102
101 /* #define VAL_COUNTRY_CODE    	        103 */
102 /* #define VAL_REG_DOMAIN_BAND_24	    104 */
103 /* #define VAL_REG_DOMAIN_BAND_50	    105 */
104 #define VAL_PACKET_BURSTING			106
105 #define VAL_MIXED_MODE				107
106 #define VAL_PRIVACY_MODE			108
107 #define VAL_EXC_SECURITY			109
108 #define VAL_DEFAULT_KEY_ID			110
109 #define VAL_AP_SUPPORT_CHANELS 		111
110 
111 
112 
113 typedef enum
114 {
115     DRAFT_5_AND_EARLIER = 5,
116     DRAFT_6_AND_LATER   = 6
117 
118 } draftNumber_t;
119 
120 PACKED_STRUCT( ratePair_t,
121 
122   rate_e    maxBasic;
123   rate_e    maxActive;
124 );
125 
126 typedef enum
127 {
128     RTS_CTS_DISABLED = 0,
129     RTS_CTS_ENABLED  = 1
130 
131 } RtsCtsStatus_e;
132 
133 /* Parameters Structures Definitions per parameter type */
134 typedef enum
135 {
136     AUTH_LEGACY_OPEN_SYSTEM     = 0,
137     AUTH_LEGACY_SHARED_KEY      = 1,
138     AUTH_LEGACY_AUTO_SWITCH     = 2,
139     AUTH_LEGACY_RESERVED1       = 128,
140     AUTH_LEGACY_NONE            = 255,
141 } legacyAuthType_e;
142 
143 typedef enum
144 {
145     CONNECTION_NONE             = 0,
146     CONNECTION_INFRA            = 1,
147     CONNECTION_IBSS             = 2,
148     CONNECTION_SELF             = 3,
149 } connectionType_e;
150 
151 typedef enum
152 {
153     RADIO_IN_STAND_BY           = 0,
154     RADIO_OUT_OF_STAND_BY       = 1,
155 }radioStandByState_t;
156 
157 /**** Regulatory Domain module types ****/
158 
159 /* Scan Control Table for 2.4-G band type */
160 PACKED_STRUCT( scanControlTable24_t,
161 
162     UINT8       tableString[NUM_OF_CHANNELS_24];
163 );
164 
165 /* Scan Control Table for 5G-band type */
166 PACKED_STRUCT( scanControlTable5_t,
167 
168     UINT8       tableString[A_5G_BAND_NUM_CHANNELS];
169 );
170 
171 /* Scan Control Table type */
172 PACKED_STRUCT( scanControlTable_t,
173 
174     scanControlTable5_t     ScanControlTable5;
175     scanControlTable24_t    ScanControlTable24;
176 );
177 
178 PACKED_STRUCT( country_t,
179 
180     UINT8		elementId;
181 	UINT8		len;
182     countryIE_t countryIE;
183 );
184 
185 PACKED_STRUCT( channelPair_t,
186 
187     UINT8   firstChennelNum;
188     UINT8   NumOfChannels;
189 );
190 
191 typedef enum
192 {
193     ACTIVE_SCANNING     = 0,
194     PASSIVE_SCANNING    = 1,
195 } regulatoryDomain_scanOption_e;
196 
197 PACKED_STRUCT( regulatoryDomainParam_t,
198 
199     UINT8*      pChannelBitMap;
200     UINT8       channelCnt;
201     INT8        txPower;
202 );
203 
204 PACKED_STRUCT( powerCapability_t,
205 
206     UINT8       minTxPower;
207     UINT8       maxTxPower;
208 );
209 
210 
211 /* SoftGemini module init parameters */
212 typedef struct
213 {
214     SoftGeminiEnableModes_e SoftGeminiEnable;
215 	UINT8					SoftGeminiRate[NUM_OF_RATES_IN_SG];
216     SoftGeminiParam_t		SoftGeminiParam;
217 	UINT8					scanNumOfProbeRequest;
218 	UINT32					scanCompensationPercent;
219 	UINT32					scanCompensationMaxTime;
220 	UINT32					BSSLossCompensationPercent;
221  } SoftGeminiInitParams_t;
222 
223 typedef enum
224 {
225     PHY_UNKNOWN         = 0,
226     PHY_FH              = 1,
227     PHY_DSS             = 2,
228     PHY_UN_USED         = 3,
229     PHY_OFDM            = 4,
230     PHY_HIGH_RATE_DSS   = 5,
231     PHY_ERP             = 6
232 } phyType_e;
233 
234 
235 typedef enum
236 {
237     CLOSE           = 0,
238     OPEN_NOTIFY     = 1,
239     OPEN_EAPOL      = 2,
240     OPEN            = 3,
241     MAX_NUM_OF_RX_PORT_STATUS,
242 } portStatus_e;
243 
244 typedef enum
245 {
246     TX_DATA_CLOSED = 0,
247     TX_DATA_OPEN   = 1
248 
249 } txDataHalInterfaceStatus_t;
250 
251 
252 typedef enum
253 {
254     GWSI_PENDING   = 0,
255     GWSI_OPEN   = 1
256 } txDataGwsiInterfaceStatus_e;
257 
258 
259 typedef enum
260 {
261     DRIVER_STATUS_IDLE              = 0,
262     DRIVER_STATUS_RUNNING           = 1,
263 } driverStatus_e;
264 
265 typedef enum
266 {
267     OS_ABS_LAYER    = 0,
268     RSN             = 1,
269 } eapolDestination_e;
270 
271 /* enumerator for PRE_AUTH event */
272 typedef enum
273 {
274    RSN_PRE_AUTH_START,
275    RSN_PRE_AUTH_END,
276 } preAuthStatusEvent_e;
277 
278 
279 typedef enum
280 {
281     STATUS_SCANNING         = 0,
282     STATUS_SCAN_COMPLETE    = 1,
283 } scanStatus_e;
284 
285 typedef enum
286 {
287     SCAN_DISABLED   = 0,	/* FALSE*/
288     SCAN_ENABLED    = 1,	/* TRUE*/
289 	SKIP_NEXT_SCAN	= 2		/* Skip only one next coming scan, then set this parameter to TRUE*/
290 } scanEnabledOptions_e;
291 
292 
293 
294 
295 PACKED_STRUCT( rxDataCounters_t,
296 
297     UINT32      RecvOk;                 /* the number of frames that the NIC receives without errors */
298     UINT32      DirectedBytesRecv;      /* the number of bytes in directed packets that are received without errors */
299     UINT32      DirectedFramesRecv;     /* the number of directed packets that are received without errors */
300     UINT32      MulticastBytesRecv;     /* the number of bytes in multicast/functional packets that are received without errors */
301     UINT32      MulticastFramesRecv;    /* the number of multicast/functional packets that are received without errors */
302     UINT32      BroadcastBytesRecv;     /* the number of bytes in broadcast packets that are received without errors. */
303     UINT32      BroadcastFramesRecv;    /* the number of broadcast packets that are received without errors. */
304     UINT32      LastSecBytesRecv;       /* the number of bytes received without errors during last second */
305 
306 );
307 
308 typedef struct rxDataFilterRequest_t
309 {
310     UINT8       offset;
311     UINT8       maskLength;
312     UINT8       patternLength;
313     UINT8       mask[RX_DATA_FILTER_MAX_MASK_SIZE];
314     UINT8       pattern[RX_DATA_FILTER_MAX_PATTERN_SIZE];
315 } rxDataFilterRequest_t;
316 
317 typedef struct rxDataFilterFieldPattern_t
318 {
319     UINT8       offset;
320     UINT8       length;
321     UINT8       flag;
322     UINT8       pattern[RX_DATA_FILTER_MAX_PATTERN_SIZE];
323     UINT8       mask[RX_DATA_FILTER_MAX_PATTERN_SIZE];
324 } rxDataFilterFieldPattern_t;
325 
326 PACKED_STRUCT( ctrlDataCounters_t,
327 
328     UINT32      icvFailCounter;
329     UINT32      keyNotFoundCounter;
330     UINT32      MicFailureCounter;
331 
332 );
333 
334 
335 typedef struct
336 {
337 	PowerMgr_PowerMode_e	PowerMode;
338 	PowerMgr_Priority_e 	powerMngPriority;
339 }PowerMgr_PowerMode_t;
340 
341 
342 typedef struct
343 {
344 	void	*handler;
345 	void	*callback;
346 }QoS_renegVoiceTspecReq_t;
347 
348 /* Authentication/encryption capability */
349 #define MAX_AUTH_ENCR_PAIR 13
350 
351 typedef struct
352 {
353 	externalAuthMode_e  authenticationMode;
354 	cipherSuite_e       cipherSuite;
355 
356 } authEncrPairList_t;
357 
358 typedef struct
359 {
360 	UINT32                 NoOfPMKIDs;
361 	UINT32                 NoOfAuthEncrPairSupported;
362 	authEncrPairList_t     authEncrPairs[MAX_AUTH_ENCR_PAIR];
363 
364 } rsnAuthEncrCapability_t;
365 
366 typedef struct
367 {
368 	UINT32              numOfPreAuthBssids;
369 	macAddress_t     	*listOfPreAuthBssid;
370 
371 } rsnPreAuthBssidList_t;
372 
373 
374 PACKED_STRUCT( signal_t,
375 
376     INT32       rssi;
377     UINT8       snr;
378 );
379 
380 PACKED_STRUCT( rateMask_t,
381 
382     UINT32  basicRateMask;
383     UINT32  supportedRateMask;
384 );
385 
386 PACKED_STRUCT( assocInformation_t,
387 
388     UINT8        *assocRespBuffer;
389     UINT32       assocRespLen;
390     UINT8        *assocReqBuffer;
391     UINT32       assocReqLen;
392 
393 );
394 
395 /* QOS Parameters Structure */
396 
397 typedef struct
398 {
399     macAddress_t    siteMacAddress;
400     BOOL            priority;
401 } siteMgr_prioritySite_t;
402 
403 /*MULTIPLE QUEUES STRUCTURE */
404 
405 
406 
407 
408 #define TX_POLICY_FLAGS_TRUNCATE          0x1
409 #define TX_POLICY_FLAGS_PEEAMBLE_OVERRIDE 0x2
410 #define TX_POLICY_FLAGS_SHORT_PREAMBLE    0x4
411 
412 
413 typedef struct{
414 	UINT32 thresholdCross;                /* high or low */
415 	UINT32 thresholdCrossDirection;       /* direction of crossing */
416 } trafficIntensityThresholdCross_t;
417 
418 /************************************/
419 /*      QOS edcf params             */
420 /************************************/
421 
422 /*
423 #define CW_MIN_DEF                         15
424 #define CW_MIN_MAX                         31
425 #define CW_MAX_DEF                         1023
426 */
427 #define CW_MIN_DEF                         4 /* the power of 2 - cwMin = 2^4-1 = 15 */
428 #define CW_MIN_MAX                         5 /* the power of 2 - cwMax = 2^5-1 = 31 */
429 #define CW_MAX_DEF                         10
430 
431 #define AIFS_DEF                            2
432 #define NO_RX_TIME_OUT                      0
433 #define NO_RX_ACK_POLICY                    0
434 #define DATA_DCF                            0    /* MSDUs are sent completely including retrys - normal legacy traffic */
435 #define QOS_DATA_EDCF                       1    /* MPDUs are sent according to TXOP limits - */
436 #define RETRY_PREEMPTION_DISABLE            0
437 #define QOS_CONTROL_TAG_MASK                0x0007
438 #define QOS_CONTROL_EOSP_MASK                0x0010
439 
440 
441 
442 /* this enum is used for the different txRateClass_t which are components of txRatePolicy_t */
443 typedef enum {
444 	USER_RATE_CLASS		= 0,
445 	SG_RATE_CLASS		= 1,
446 	NUM_OF_RATE_CLASS_CLIENTS = 2
447 } rateClassClients_e;
448 
449 typedef struct {
450 	rateClassClients_e	clientID;
451 	UINT32				clientRateMask;
452 }	rateClassRateMask_t;
453 
454 
455 typedef enum{
456     AC_ACTIVE = 0,
457     AC_NOT_ACTIVE,
458 }acActive;
459 
460 
461 typedef struct
462 {
463 	UINT8	*buffer;
464 	UINT16	bufLength;
465 	UINT8	isBeacon; 	/* If true, Beacon packet is returned, otherwise it is Probe Response */
466 } BufferParameters_t;
467 
468 
469 
470 typedef struct{
471 	UINT32		trafficAdmCtrlResponseTimeout;
472     BOOL        trafficAdmCtrlUseFixedMsduSize;
473 }trafficAdmCtrlInitParams_t;
474 
475 typedef struct{
476     BOOL       wmeEnable;
477     BOOL       trafficAdmCtrlEnable;
478     BOOL       qosTagZeroConverHeader;
479 	UINT8      PacketBurstEnable;
480 	UINT32     PacketBurstTxOpLimit;
481     UINT32     TxOpLimit[MAX_NUM_OF_AC];
482     UINT32     MsduLifeTime[MAX_NUM_OF_AC];
483     rxTimeOut_t     rxTimeOut;
484     UINT8      ShortRetryLimit[MAX_NUM_OF_AC];
485     UINT8      LongRetryLimit[MAX_NUM_OF_AC];
486     UINT16      TxQueueSize[MAX_NUM_OF_TX_QUEUES];
487     UINT8   desiredWmeAcPsMode[MAX_NUM_OF_AC];       /* wme per ac power save mode */
488     qOvFlowPolicy_e   QueueOvFlowPolicy[MAX_NUM_OF_TX_QUEUES];
489 	UINT8       acAckPolicy[MAX_NUM_OF_AC];          /* ack policy per AC */
490     trafficAdmCtrlInitParams_t	trafficAdmCtrlInitParams;
491 	UINT8			desiredPsMode;						 /* The desired PS mode of the station */
492 	UINT8				desiredMaxSpLen;
493 
494 }QosMngrInitParams_t;
495 
496 
497 
498 /*END OF MULTIPLE QUEUES STRUCTURE*/
499 
500 
501 typedef struct
502 {
503 	UINT16		bufferSize;
504 	UINT8		*buffer;
505 } applicationConfigBuffer_t;
506 
507 typedef struct
508 {
509     macAddress_t	bssID;
510     UINT16			channel;
511 } apChannelPair_t;
512 
513 typedef struct
514 {
515     apChannelPair_t	*apChannelPairs;
516     UINT16      	numOfEntries;
517 } neighbor_AP_t;
518 
519 typedef struct
520 {
521     /* One channel max duration time. (time slot 0 - 65000) */
522     UINT16          maxChannelDuration;
523     /* One channel max duration time. (time slot 0 - 65000) */
524     UINT16          minChannelDuration;
525     /* 0 = Stay until max duration time. 1 = Terminate scan in
526     a channel upon a reception of Prob-Res or Beacon. 2 = Terminate scan
527     in a channel upon a reception of any frame*/
528     UINT8           earlyTerminationMode;
529     /* number of AP frames (beacon/probe_resp) to trigger Early termination.
530     Applicable only when EarlyTerminationMode = 1 */
531     UINT8           eTMaxNumOfAPframes;
532     /* Number of probe request transmitted on each channel */
533     UINT8           numOfProbeReq;
534 
535 } periodicScanParams_t;
536 
537 
538 typedef struct
539 {
540 	UINT16 		channelNum;
541 	BOOL		channelValidity;
542 	radioBand_e		band;
543 } channelValidity_t;
544 
545 typedef struct
546 {
547 	BOOL 	channelValidity; /*TRUE-valid, FALSE-invalid */
548 	UINT8	maxTxPowerDbm; 		/* In Dbm/10 units */
549 }	channelCapabilityRet_t;
550 
551 typedef struct
552 {
553 	UINT8		*listOfChannels;
554 	UINT8		sizeOfList;
555 } supportedChannels_t;
556 
557 typedef struct
558 {
559 	regulatoryDomain_scanOption_e 	scanOption; /* Passive or Active */
560 	UINT8	channelNum;
561 	radioBand_e                     band;
562 }	channelCapabilityReq_t;
563 
564 typedef struct
565 {
566 	UINT16	minDFS_channelNum;
567 	UINT16	maxDFS_channelNum;
568 }	DFS_ChannelRange_t;
569 
570 typedef struct
571 {
572 	txDataCounters_t 	*pTxDataCounters;
573 	UINT8				acID;
574 }	reportTsStatisticsReq_t;
575 
576 typedef struct
577 {
578 	UINT16				vadTimerEnabled;
579 	UINT16				vadTimerDuration;
580 } txDataVadTimerParams_t;
581 
582 /* General Parameters Structure */
583 
584 typedef struct{
585     UINT32              paramType;
586     UINT32              paramLength;
587 
588     union
589     {
590         /* Driver General section */
591         driverStatus_e          driverStatus;
592 
593         /* HAL Control section */
594         UINT8                   halCtrlCtsToSelf;
595         UINT8                   halCtrlTxPowerDbm;
596 
597         /* site manager section */
598         UINT8                   siteMgrDesiredChannel;
599         macAddress_t            siteMgrDesiredBSSID;
600         ssid_t                  siteMgrDesiredSSID;
601         bssType_e               siteMgrDesiredBSSType;
602         ratePair_t              siteMgrDesiredRatePair;
603         rates_t                 siteMgrDesiredBasicRateSet;
604         rates_t                 siteMgrDesiredSupportedRateSet;
605         rateMask_t              siteMgrCurrentRateMask;
606         UINT8                   siteMgrDesiredTxRate;
607         UINT8                   siteMgrCurrentTxRate;
608         modulationType_e        siteMgrDesiredModulationType;
609         UINT16                  siteMgrDesiredBeaconInterval;
610         preamble_e              siteMgrDesiredPreambleType;
611         preamble_e              siteMgrCurrentPreambleType;
612         radioType_e             siteMgrRadioType;
613         radioBand_e             siteMgrRadioBand;
614         OS_802_11_BSSID_LIST_EX *pSiteMgrBssidList;
615         OS_802_11_BSSID_EX      *pSiteMgrSelectedSiteInfo;
616         OS_802_11_BSSID         *pSiteMgrPrimarySiteDesc;
617         dot11mode_e             siteMgrDot11Mode;
618         dot11mode_e             siteMgrDot11OperationalMode;
619         draftNumber_t           siteMgrUseDraftNum;
620         UINT8                   siteMgrCurrentChannel;
621         ssid_t                  siteMgrCurrentSSID;
622 		bssType_e				siteMgrCurrentBSSType;
623         modulationType_e        siteMgrCurrentModulationType;
624         slotTime_e              siteMgrSlotTime;
625         signal_t                siteMgrCurrentSignal;
626         UINT8                   siteMgrNumberOfSites;
627         TIWLN_COUNTERS          siteMgrTiWlanCounters;
628         BOOL                    siteMgrBuiltInTestStatus;
629         UINT8                   siteMgrFwVersion[FW_VERSION_LEN]; /* Firmware version - null terminated string*/
630         e2Version_t             siteMgrEEpromVersion;             /* EEPROM version*/
631         UINT32                  siteMgrDisAssocReason;
632         UINT32                  siteMgrNextDtimTimeStamp;
633         UINT16                  siteMgrSiteCapability;
634         BOOL                    siteMgrFourxParam;
635         UINT16                  beaconInterval;
636         UINT8                   APTxPower;
637         BOOL                    siteMgrQuietScanInProcess;
638         BOOL                    siteMgrScanSliceCurrentlyActive;
639         UINT8                   siteMgrRoamingRssiGapThreshold;
640         UINT8                   timeStamp[8];
641         BOOL                    siteMgrBeaconRecv;
642         UINT32                  siteMgrDtimPeriod;
643         INT32                   siteMgrCurrentRssi;
644         UINT8                   siteMgrIndexOfDesiredSiteEntry;
645         UINT8                    *pSiteMgrDesiredSiteEntry;
646         UINT8                   siteMgrCurrentTsfTimeStamp[8];
647         UINT8                   siteMgrUsrConfigTxPower;
648 
649 
650         OS_802_11_CONFIGURATION *pSiteMgrConfiguration;
651         siteMgr_prioritySite_t  siteMgrPrioritySite;
652 		BufferParameters_t		siteMgrLastBeacon;
653 		UINT8					siteMgrDesiredBeaconFilterState;
654 		BOOL					siteMgrAllowTxPowerCheck;
655 
656         /* SME SM section */
657         scanStatus_e            smeSmScanStatus;
658 		scanEnabledOptions_e	smeSMScanEnabled;
659         TIWLN_DOT11_STATUS      smeSmConnectionStatus;
660         UINT8                   smeSmState;
661 
662         /* connection SM section */
663         UINT32                  connSelfTimeout;
664 
665         /* auth SM section */
666         UINT32                  authResponseTimeout;
667 
668         /* assoc SM section */
669         UINT32                  assocResponseTimeout;
670 #ifndef GWSI_LIB
671         OS_802_11_ASSOCIATION_INFORMATION      assocAssociationInformation;
672 #endif /* GWSI_LIB */
673 
674         /* RSN section */
675         BOOL                    rsnPrivacyOptionImplemented;
676         authSuite_e             rsnDesiredAuthType;
677         OS_802_11_KEY           rsnOsKey;
678         rsnAuthEncrCapability_t *pRsnAuthEncrCapability;
679         UINT32                  rsnNoOfPMKIDs;
680         OS_802_11_PMKID         rsnPMKIDList;
681         UINT32                  rsnWPAPromoteFlags;
682         UINT32                  rsnWPAMixedModeSupport;
683         UINT32                  rsnAuthState; /* supp_1XStates */
684         cipherSuite_e           rsnEncryptionStatus;
685         UINT8                   rsnHwEncDecrEnable; /* 0- disable, 1- enable*/
686         securityKeys_t          *pRsnKey;
687         UINT8                   rsnDefaultKeyID;
688 
689         externalAuthMode_e      rsnExtAuthneticationMode;
690         BOOL                    rsnMixedMode;
691 		BOOL					rsnPreAuthStatus;
692 		macAddress_t			rsnApMac;
693         OS_802_11_EAP_TYPES     eapType;
694         BOOL                    wpa_802_1x_AkmExists;
695 
696 
697         /* Rx Data section */
698         rxDataCounters_t        rxDataCounters;
699         BOOL                    rxDataFilterEnableDisable;
700         TIWLAN_DATA_FILTER_REQUEST rxDataFilterRequest;
701 
702         /* Tx Data section */
703         portStatus_e            txDataPortStatus;
704         txDataCounters_t        *pTxDataCounters;
705 		reportTsStatisticsReq_t tsMetricsCounters;
706         OS_802_11_THRESHOLD_CROSS_PARAMS  txDataMediumUsageThreshold;
707 		txDataHalInterfaceStatus_t  txDataHalInterfaceStatus;
708         UINT8                       txDataEncryptionFieldSize;
709 
710         /* Ctrl Data section */
711         ctrlDataCounters_t      ctrlDataCounters;
712         BOOL                    ctrlDataRateControlEnable;
713         BOOL                    ctrlDataPowerSaveEnable;
714         BOOL                    ctrlDataPowerSaveForce;
715         BOOL                    ctrlDataFourXEnable;
716         BOOL                    ctrlDatapowerSaveEnhanceAlgorithm;
717         erpProtectionType_e     ctrlDataIbssProtecionType;
718         RtsCtsStatus_e          ctrlDataRtsCtsStatus;
719         BOOL                    ctrlDataProtectionEnabled;
720         BOOL                    ctrlDataCerruentFourXstate;
721 
722         macAddress_t            ctrlDataCurrentBSSID;
723         bssType_e               ctrlDataCurrentBssType;
724         UINT32                  ctrlDataCurrentRateMask;
725         rate_e                  ctrlDataCurrentBasicRate;
726         preamble_e              ctrlDataCurrentPreambleType;
727         rate_e                  ctrlDataCurrentActiveRate;
728         macAddress_t            ctrlDataDeviceMacAddress;
729         STREAM_TRAFFIC_PROPERTIES   ctrlDataUpOfStream;
730 		clsfr_tableEntry_t		ctrlDataClsfrInsertTable;
731         clsfrTypeAndSupport     ctrlDataClsfrType;
732         OS_802_11_THRESHOLD_CROSS_PARAMS  ctrlDataRateThreshold;
733 		rateClassClients_e		ctrlDataRateClassID;
734 		rateClassRateMask_t		ctrlDataRateClassMask;
735 
736  		ULONG					ctrlDataTrafficIntensityEventsFlag;
737 		OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS ctrlDataTrafficIntensityThresholds;
738 
739         connectionType_e        connType;
740 
741         /* MLME SM section */
742         legacyAuthType_e        mlmeLegacyAuthType;
743         legacyAuthType_e        authLegacyAuthType;
744         BOOL                    mlmeReAssoc;
745 
746 
747         BOOL                    rxDataExcludeUnencrypted;
748         eapolDestination_e      rxDataEapolDestination;
749         portStatus_e            rxDataPortStatus;
750 
751         BOOL                    txDataCurrentPrivacyInvokedMode;
752         BOOL                    txDataEapolEncryptionStatus;
753         UINT32                  txDataPollApPacketsFromACid;      /* AC to poll AP packets from */
754 
755         modulationType_e        ctrlDataCurrentModulationType;
756         modulationType_e        ctrlDataCurrentBasicModulationType;
757         UINT32                  ctrlDataBasicRateBitMask;
758 
759         /* regulatory Domain section */
760         regulatoryDomainParam_t regulatoryDomainParam;
761         UINT8                   channel;
762         country_t*              pCountry;
763         UINT8                   pCountryString[COUNTRY_STRING_LEN];
764         BOOL                    spectrumManagementEnabled;
765         BOOL                    regulatoryDomainEnabled;
766         powerCapability_t       powerCapability;
767         UINT8*                  pSupportedChannel;
768         UINT8                   powerConstraint;
769         UINT8                   desiredTxPower; /* The desired Tx power inforced by the User (Utility),
770                                                  or The desired Tx power (in Dbm) as forced by teh OS */
771         UINT8                   ExternTxPowerPreferred; /*for other extern elements that want
772                                                         to effect the transmit power*/
773 		powerLevelTable_t		powerLevelTable;
774 		channelValidity_t		channelValidity;
775 		channelCapabilityRet_t	channelCapabilityRet;
776 		channelCapabilityReq_t	channelCapabilityReq;
777 		supportedChannels_t		supportedChannels;
778         BOOL                    enableDisable_802_11d;
779         BOOL                    enableDisable_802_11h;
780 		BOOL					bActivateTempPowerFix;
781 		BOOL					bIsCountryFound;
782 		BOOL					bIsChannelSupprted;
783         DFS_ChannelRange_t      DFS_ChannelRange;
784         radioBand_e             eRadioBand;
785 
786         /* Measurement Manager section */
787 		UINT32					measurementEnableDisableStatus;
788         UINT16					measurementTrafficThreshold;
789 		UINT16					measurementMaxDuration;
790         interogateCmdCBParams_t     interogateCmdCBParams;
791 
792 
793         /* soft Gemini section */
794         SoftGeminiEnableModes_e		SoftGeminiEnable;
795 		UINT8						SoftGeminiRate[NUM_OF_RATES_IN_SG];
796         UINT32						SoftGeminiParamArray[NUM_OF_CONFIG_PARAMS_IN_SG];
797 
798 		/* case EXC MODULE INCLUDED */
799 		EXC_PARAM_FIELDS
800 
801         /* Application Config Parameters Manager */
802 		applicationConfigBuffer_t	applicationConfigBuffer;
803 		roamingMngrConfigParams_t	roamingConfigBuffer;
804 		UINT32						roamingTriggerType;
805 		UINT32						roamingConnStatus;
806         bssList_t*              pScanBssList;
807         scan_Params_t*          pScanParams;
808 
809         /* tx data qos related parameters */
810         txDataQosParams_t           txDataQosParams;
811 
812         txDataVadTimerParams_t		txDataVadTimerParams;
813 
814         /* QOS Manager */
815         qosProtocols_e              qosSiteProtocol;
816 		UINT8						qosPacketBurstEnb;     /* Packet Burst Enable */
817 		dot11mode_e					qosMngrOperationalMode;
818 		UINT8					desiredPsMode;
819 		UINT8					currentPsMode;
820 		TspecConfigure_t 		TspecConfigure;
821 
822         /* Qos params from Os */
823 		OS_802_11_QOS_RX_TIMEOUT_PARAMS	rxTimeOut;
824 
825         OS_802_11_QOS_PARAMS        qosOsParams;
826 		OS_802_11_AC_QOS_PARAMS		qosApQosParams;
827 
828         /* AP Qos Capabilities */
829         OS_802_11_AP_QOS_CAPABILITIES_PARAMS qosApCapabilities;
830 
831         /* Qos current AC status */
832         OS_802_11_AC_UPSD_STATUS_PARAMS   qosCurrentAcStatus;
833 
834         OS_802_11_QOS_DELETE_TSPEC_PARAMS   qosDelTspecRequest;
835         OS_802_11_QOS_TSPEC_PARAMS     qosAddTspecRequest;
836 		QoS_renegVoiceTspecReq_t	   qosRenegotiateTspecRequest;
837 
838         OS_802_11_QOS_TSPEC_PARAMS     qosTspecParameters;
839 
840 		OS_802_11_THRESHOLD_CROSS_PARAMS  QOSRateThreshold;
841 		OS_802_11_QOS_DESIRED_PS_MODE	qosDesiredPsMode;
842 
843     	/* Power Manager */
844         PowerMgr_PowerMode_e    PowerMode;
845         powerAutho_PowerPolicy_e PowerSavePowerLevel;
846         powerAutho_PowerPolicy_e DefaultPowerLevel;
847         PowerMgr_PowerMode_t   	powerMngPowerMode;
848         PowerMgr_Priority_e 		powerMngPriority;
849         PowerMgr_PowerMode_e	powerMngDozeMode;
850 
851 
852         /* txRatePolicy params */
853         txRatePolicy_t         TxRatePolicy;
854 
855         TIWLN_RADIO_RX_QUALITY RxRadioQuality ;
856 
857         /*PLT MIB*/
858         PLT_MIB_t PltMib;
859 
860     } content;
861 } paramInfo_t;
862 
863 
864 /* paramInfoPartial_t is part of paramInfo_t it is implemented to reduce stack usage */
865 typedef struct{
866     UINT32              paramType;
867     UINT32              paramLength;
868 
869     union
870     {
871 	  TspecConfigure_t 		TspecConfigure;
872 	  BOOL					rsnPreAuthStatus;
873 	  macAddress_t			rsnApMac;
874 	  cipherSuite_e         rsnEncryptionStatus;
875 	  BOOL                  rsnMixedMode;
876 
877 	  /* Application Config Parameters Manager */
878 	  applicationConfigBuffer_t	applicationConfigBuffer;
879 
880 	  /* ctrl data section */
881 	  preamble_e              ctrlDataCurrentPreambleType;
882 
883     } content;
884 }paramInfoPartial_t;
885 
886 /* Set/get params function prototype */
887 typedef TI_STATUS (*paramFunc_t)(TI_HANDLE handle, paramInfo_t	*pParam);
888 
889 
890 typedef enum
891 {
892   MIN_BASIC_TX_RATE         = 0, /* The rate of the CTL & MGMT packets will be the minimal rate advertised in the Basic rate set */
893   MAX_BASIC_TX_RATE         = 1, /* The rate of the CTL &MGMT packets will be the maximal rate advertised in the Basic rate set */
894   SPECIFIC_TX_RATE          = 2, /* The rate of the CTL & MGMT packets will be according to the configuration in the MgmtCtrlTxRate registry */
895 } mgmtCtrlTxRateOption_e;
896 
897 
898 
899 /*-----------------------------------------------------*/
900 /*      EEPROM-less support                            */
901 /*-----------------------------------------------------*/
902 #define MAX_CALL_DATA_REG_NUM                30
903 #define HW_EEPROM_PRESENTED                  1
904 #define HW_EEPROM_NOT_PRESENTED              0
905 
906 PACKED_STRUCT( ELPTable_t,
907 
908     UINT8   ClockControl;
909     UINT16  ClockWakupTime;
910     UINT8   Reserved1;
911     UINT16  Reserved2;
912     UINT8   A_1_8_Control;
913     UINT16  A_1_8_WakeupTime;
914     UINT8   VsyncControl;
915     UINT16  VsyncWakeupTime;
916     UINT8   GcVccControl;
917     UINT16  GcVccWakeupTime;
918     UINT8   Reserved3;
919     UINT16  BBRadioWakeupTime;
920     UINT8   Reserved4;
921     UINT16  ClockIdleTime;
922 
923 );
924 
925 PACKED_STRUCT( MiscTable_t,
926 
927     UINT16  TxActivityLED;
928     UINT16  InitLED;
929     UINT16  DiagLED;
930     UINT8   Reserved1;
931 
932 );
933 
934 
935 PACKED_STRUCT( PhyRegisters_t,
936 
937     UINT16  RegAddress;
938     UINT16  RegValue;
939 
940 );
941 
942 
943 typedef enum
944 {
945     PS_MODE_ELP         = 0,
946     PS_MODE_POWER_DOWN  = 1,
947     PS_MODE_ACTIVE      = 2,
948     PS_MODE_WAKE_TNET   = 3,
949 } powerSaveModes_e;
950 
951 
952 /**************************** Beginning of Init Params ************************************/
953 
954 
955 typedef struct
956 {
957     UINT8                   siteMgr_radioRxLevel[RX_LEVEL_TABLE_SIZE];
958     UINT8                   siteMgr_radioLNA[RX_LEVEL_TABLE_SIZE];
959     UINT8                   siteMgr_radioRSSI[RX_LEVEL_TABLE_SIZE];
960     UINT32                  factorRSSI; /* for RADIA only */
961 }radioValues_t;
962 
963 typedef struct
964 {
965     radioType_e         siteMgr_radioType;
966     UINT8               RxLevelTableSize;
967     radioValues_t*      pSiteMgr_selectedRadioValues;
968     radioValues_t       siteMgr_rfmdRadioValues;
969     radioValues_t       siteMgr_maximRadioValues;
970     radioValues_t       siteMgr_radiaRadioValues;
971 }siteMgr_radioValues_t;
972 
973 
974 typedef struct
975 {
976     UINT8                   siteMgrDesiredChannel;
977     macAddress_t            siteMgrDesiredBSSID;
978     ssid_t                  siteMgrDesiredSSID;
979     bssType_e               siteMgrDesiredBSSType;
980     dot11mode_e             siteMgrDesiredDot11Mode;
981     radioBand_e             siteMgrSupportedBand;
982     draftNumber_t           siteMgrUseDraftNum;
983     UINT32                  siteMgrRegstryBasicRate[DOT11_MAX_MODE];
984     UINT32                  siteMgrRegstrySuppRate[DOT11_MAX_MODE];
985     UINT32                  siteMgrRegstryBasicRateMask;
986     UINT32                  siteMgrRegstrySuppRateMask;
987     rateMask_t              siteMgrCurrentDesiredRateMask;
988     ratePair_t              siteMgrDesiredRatePair;
989     UINT32                  siteMgrMatchedBasicRateMask;
990     UINT32                  siteMgrMatchedSuppRateMask;
991     UINT32                  siteMgrMatchedMaxBasicRate;
992     UINT32                  siteMgrMatchedMaxActiveRate;
993     rate_e                  siteMgrRegstryDesiredTxRate;
994     rate_e                  siteMgrCurrentDesiredTxRate;
995 	mgmtCtrlTxRateOption_e	siteMgrRegstryDesiredMgmtCtrlTxRateOption;
996 	rate_e					siteMgrRegstryDesiredMgmtCtrlTxRate;
997     modulationType_e        siteMgrDesiredModulationType;
998     preamble_e              siteMgrDesiredPreambleType;
999     slotTime_e              siteMgrDesiredSlotTime;
1000     UINT16                  siteMgrDesiredBeaconInterval;
1001     siteMgr_radioValues_t   siteMgrRadioValues;
1002     UINT8                   siteMgrFwVersion[FW_VERSION_LEN]; /* Firmware version - null terminated string*/
1003     e2Version_t             siteMgrEEpromVersion;             /* EEPROM version*/
1004     UINT32                  siteMgrDesiredAtimWindow;
1005     UINT32                  siteMgrFreq2ChannelTable[SITE_MGR_CHANNEL_MAX+1];
1006 
1007     BOOL                    siteMgrDesiredkeepAliveEnable;
1008     UINT8                   siteMgrExternalConfiguration;
1009     UINT8                   siteMgrPrivacyMode;
1010     BOOL                    siteMgrWiFiAdhoc;
1011 
1012 	/* TX Power Control parameters */
1013     UINT32                  TxPowerCheckTime;
1014     UINT32                  TxPowerControlOn;
1015     INT32                   TxPowerRssiThresh;
1016     INT32                   TxPowerRssiRestoreThresh;
1017 
1018 	beaconFilterParams_t	beaconFilterParams; /*contains the desired state*/
1019 
1020 } siteMgrInitParams_t;
1021 
1022 
1023 /** \struct scan_Params_t
1024  * \brief This structure contains parameters for a scan operation
1025  */
1026 typedef struct
1027 {
1028 	UINT8				txPowerDbm;    			/* In units of Dbm/10 */
1029     UINT8               probeReqNumber;         /**< number of probe requests to send (for active scan) */
1030     rateMask_e          probeRequestRate;       /**< the rate at which to send the probe requests */
1031     UINT8               numOfChannels;          /**< number of channels for BG (2.4) band */
1032     UINT8 				channelsList[ MAX_NUMBER_OF_CHANNELS_PER_SCAN ];  /* scan channels list for BG */
1033 	UINT32				minDwellTime;
1034 	UINT32				maxDwellTime;
1035 } sme_scan_Params_t;
1036 
1037 
1038 typedef struct
1039 {
1040     BOOL                    EnableFirstConnScan;
1041     UINT32                  InterScanIntervalMin;
1042     UINT32                  InterScanIntervalMax;
1043 	UINT32                  InterScanIntervalDelta;
1044 	sme_scan_Params_t   	scanParamsBG;
1045     sme_scan_Params_t   	scanParamsA;
1046 } smeInitParams_t;
1047 
1048 typedef struct
1049 {
1050     UINT32                  connSelfTimeout;
1051 } connInitParams_t;
1052 
1053 typedef struct
1054 {
1055     UINT32                  authResponseTimeout;
1056     UINT32                  authMaxRetryCount;
1057 } authInitParams_t;
1058 
1059 typedef struct
1060 {
1061     UINT32                  assocResponseTimeout;
1062     UINT32                  assocMaxRetryCount;
1063 } assocInitParams_t;
1064 
1065 typedef struct
1066 {
1067 	UINT8				highRateThreshold;
1068 	UINT8				lowRateThreshold;
1069 	BOOL				enableEvent;
1070 }tspecsRateParameters_t;
1071 
1072 typedef struct
1073 {
1074     UINT8                   contTxPacketsThreshold;
1075     UINT8                   stepUpTxPacketsThreshold;
1076     UINT32                  ctrlDataFBShortInterval;
1077     UINT32                  ctrlDataFBLongInterval;
1078     UINT32                  rateAdapt_timeout;
1079 	tspecsRateParameters_t	tspecsRateParameters[MAX_NUM_OF_AC];
1080 
1081 }rateAdaptationInitParam_t;
1082 
1083 
1084 typedef struct
1085 {
1086     BOOL                    ctrlDataPowerSaveEnhanceAlgorithm;
1087     UINT16                  ctrlDataPowerSaveTimeOut;
1088     UINT8                   ctrlDataPowerSaveTxThreshold;
1089     UINT8                   ctrlDataPowerSaveRxThreshold;
1090 
1091 }powerSaveInitParams_t;
1092 
1093 typedef struct
1094 {
1095     BOOL                    desiredConcatenationEnable;
1096     BOOL                    desiredCWMinEnable;
1097     BOOL                    desiredCWComboEnable;
1098     BOOL                    desiredAckEmulationEnable;
1099     BOOL                    desiredERP_ProtectionEnable;
1100     UINT32                  desiredMaxConcatSize;
1101     UINT16                  desiredCWMin;
1102     UINT16                  desiredCWMax;
1103 }fourXInitParams_t;
1104 
1105 
1106 typedef struct
1107 {
1108     UINT32  len;
1109     rate_e  rateAdaptRatesTable[MAX_SUPPORTED_RATES];
1110     UINT8   rateAdaptFBTable[MAX_SUPPORTED_RATES];
1111     UINT8   rateAdaptSUTable[MAX_SUPPORTED_RATES];
1112 } ctrlData_rateAdapt_t;
1113 
1114 typedef struct
1115 {
1116     ctrlData_rateAdapt_t    ctrlDataCckRateTable;
1117     ctrlData_rateAdapt_t    ctrlDataPbccRateTable;
1118     ctrlData_rateAdapt_t    ctrlDataOfdmRateTable;
1119     ctrlData_rateAdapt_t    ctrlDataOfdmARateTable;
1120 } rateTables_t;
1121 
1122 typedef struct
1123 {
1124 	UINT8 longRetryLimit;
1125 	UINT8 shortRetryLimit;
1126 }txRatePolicyParams;
1127 
1128 typedef struct
1129 {
1130 	UINT8 txRate[MAX_NUM_OF_TX_RATES_IN_CLASS];
1131 } policyClassRatesArray_t;
1132 
1133 typedef struct
1134 {
1135     BOOL                        ctrlDataRateControlEnable;
1136     BOOL                        ctrlDataPowerSaveEnable;
1137     BOOL                        ctrlDataFourXEnable;
1138     BOOL                        ctrlDataSoftGeminiEnable;
1139     macAddress_t                ctrlDataDeviceMacAddress;
1140     rateAdaptationInitParam_t   rateAdaptationInitParam;
1141     powerSaveInitParams_t       powerSaveInitParams;
1142     fourXInitParams_t           fourXInitParams;
1143 	clsfr_Params_t				ClsfrInitParam;
1144     rateTables_t                rateTable;
1145     erpProtectionType_e         ctrlDataDesiredIbssProtection;
1146     RtsCtsStatus_e              ctrlDataDesiredCtsRtsStatus;
1147     OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS   ctrlDataTrafficThreshold;
1148     BOOL                        ctrlDataTrafficThresholdEnabled;
1149     txRatePolicyParams          ctrlDataTxRatePolicy      [NUM_OF_RATE_CLASS_CLIENTS];
1150 	policyClassRatesArray_t		policyClassRatesArrayCck  [NUM_OF_RATE_CLASS_CLIENTS];
1151 	policyClassRatesArray_t		policyClassRatesArrayPbcc [NUM_OF_RATE_CLASS_CLIENTS];
1152 	policyClassRatesArray_t		policyClassRatesArrayOfdm [NUM_OF_RATE_CLASS_CLIENTS];
1153 	policyClassRatesArray_t		policyClassRatesArrayOfdmA[NUM_OF_RATE_CLASS_CLIENTS];
1154 
1155 } ctrlDataInitParams_t;
1156 
1157 typedef struct
1158 {
1159     UINT8                   txDataNumOfDataQueues;
1160     UINT32                  uFracOfLifeTimeToDrop;
1161 	UINT32					creditCalculationTimeout;
1162     BOOL                    admCtrlDelayDueToMediumTimeOverUsage;
1163 	BOOL					admissionDownGradeEnable;
1164 	BOOL					bCreditCalcTimerEnabled;
1165 	/* IMPORT_FROM_4_0_1 */
1166 	BOOL					txDataHostPacketProcessing;
1167 
1168 } txDataInitParams_t;
1169 
1170 #define MAX_KEYS_NUM                    4
1171 
1172 typedef struct
1173 {
1174     authSuite_e             authSuite;
1175     BOOL                    privacyOn;
1176     securityKeys_t          keys[MAX_KEYS_NUM];
1177     UINT8                   defaultKeyId;
1178     externalAuthMode_e      externalAuthMode;
1179     BOOL                    mixedMode;
1180     BOOL                    WPAMixedModeEnable;
1181     BOOL                    preAuthSupport;
1182 	UINT32					preAuthTimeout;
1183 } rsnInitParams_t;
1184 
1185 typedef enum
1186 {
1187     RADIO_B_G_INDEX = 0,
1188     RADIO_A_B_G_INDEX = 1,
1189     NUM_OF_RADIO_TYPES = 2
1190 } regulatoryDomain_radioIndexType_e;
1191 
1192 /* Regulatory Domain module init parameters */
1193 typedef struct
1194 {
1195     UINT32                      uTimeOutToResetCountryMs;   /* Time after which country code will be reset */
1196     UINT8                       multiRegulatoryDomainEnabled; /* 802.11d */
1197     UINT8                       spectrumManagementEnabled; /* 802.11h */
1198     UINT8                       desiredTxPower;
1199 	UINT8						uTemporaryTxPower;
1200     scanControlTable_t          desiredScanControlTable;/* for 5 and 2.4 Ghz*/
1201 } regulatoryDomainInitParams_t;
1202 
1203 #ifdef EXC_MODULE_INCLUDED
1204 typedef enum
1205 {
1206     EXC_MODE_DISABLED,
1207     EXC_MODE_ENABLED,
1208     EXC_MODE_STANDBY
1209 } excMngr_mode_t;
1210 
1211 typedef struct
1212 {
1213     excMngr_mode_t  excEnabled;
1214 } excMngrParams_t;
1215 #endif
1216 
1217 /* Measurement module init parameters */
1218 typedef struct
1219 {
1220     UINT16              trafficIntensityThreshold;
1221     UINT16              maxDurationOnNonServingChannel;
1222 #ifdef EXC_MODULE_INCLUDED
1223     excMngr_mode_t      excEnabled;
1224 #endif
1225 } measurementInitParams_t;
1226 
1227 /* Switch Channel Module module init parameters */
1228 typedef struct
1229 {
1230     BOOL              dot11SpectrumManagementRequired;
1231 
1232 } SwitchChannelInitParams_t;
1233 
1234 typedef struct
1235 {
1236   UINT32       qosClassifierTable[MAX_NUM_OF_802_1d_TAGS];
1237 }
1238 clsfrParams_t;
1239 
1240 /* WDK pack structure */
1241 #ifdef _WINDOWS
1242 #endif
1243 
1244 typedef struct
1245 {
1246     PowerMgr_PowerMode_e        powerMode;
1247     UINT32                      beaconReceiveTime;
1248     UINT8                       hangoverPeriod;
1249     UINT8                       beaconListenInterval;
1250     UINT8				 		dtimListenInterval;
1251     UINT8                       nConsecutiveBeaconsMissed;
1252     UINT8                       EnterTo802_11PsRetries;
1253     UINT8                       HwPsPollResponseTimeout;
1254     UINT16                      autoModeInterval;
1255     UINT16                      autoModeActiveTH;
1256     UINT16                      autoModeDozeTH;
1257     PowerMgr_PowerMode_e        autoModeDozeMode;
1258 
1259     powerAutho_PowerPolicy_e defaultPowerLevel;
1260 	powerAutho_PowerPolicy_e PowerSavePowerLevel;
1261 
1262 
1263 	/* powerMgmtConfig IE */
1264     UINT8						mode;
1265     UINT8						needToSendNullData;
1266     UINT8						numNullPktRetries;
1267     UINT8						hangOverPeriod;
1268     UINT16						NullPktRateModulation;
1269 
1270 	/* PMConfigStruct */
1271 	UINT32						ELPEnable;			/* based on "elpType" */
1272 	UINT32						WakeOnGPIOenable;	/* based on "hwPlatformType" */
1273 	UINT32						BaseBandWakeUpTime;	/* BBWakeUpTime */
1274 	UINT32						PLLlockTime;
1275 
1276 	/* ACXWakeUpCondition */
1277     UINT8						listenInterval;
1278 
1279     /* BET */
1280     UINT32  MaximalFullBeaconReceptionInterval; /* maximal "beacon periods" between full beacon reception */
1281     UINT8   BetEnableThreshold;
1282     UINT8   BetDisableThreshold;
1283     UINT8	BetEnable;
1284     UINT8   MaximumConsecutiveET;
1285 
1286     UINT32						PsPollDeliveryFailureRecoveryPeriod;
1287 }PowerMgrInitParams_t;
1288 
1289 
1290 typedef struct
1291 {
1292 	UINT32 healthCheckPeriod;
1293 	UINT8  FullRecoveryEnable;
1294 	BOOL   recoveryTriggerEnabled[ MAX_FAILURE_EVENTS ];
1295 } healthMonitorInitParams_t;
1296 
1297 typedef struct
1298 {
1299     BOOL   ignoreDeauthReason0;
1300 } apConnParams_t;
1301 
1302 typedef struct
1303 {
1304     UINT32 passiveScanDwellTime;
1305     UINT32 minimumDurationBetweenOidScans;
1306 } scanConcentratorInitParams_t;
1307 
1308 
1309 typedef struct
1310 {
1311 	BOOL                rxDataHostPacketProcessing;
1312     BOOL                rxDataFiltersEnabled;
1313     filter_e            rxDataFiltersDefaultAction;
1314     rxDataFilterRequest_t rxDataFilterRequests[MAX_DATA_FILTERS];
1315 }rxDataInitParams_t;
1316 
1317 
1318 typedef struct
1319 {
1320     uint32 activeTimeCnt_Low;
1321     uint32 activeTimeCnt_Hi;
1322     uint32 powerDownTimeCnt_Low;
1323     uint32 powerDownTimeCnt_Hi;
1324     uint32 elpTimeCnt_Low;
1325     uint32 elpTimeCnt_Hi;
1326 }PowerConsumptionTimeStat_t;
1327 
1328 
1329 /* This table is forwarded to the driver upon creation by the Os abstraction layer. */
1330 typedef struct
1331 {
1332 	TnetwDrv_InitParams_t		TnetwDrv_InitParams;
1333 
1334     siteMgrInitParams_t             siteMgrInitParams;
1335     connInitParams_t                connInitParams;
1336     authInitParams_t                authInitParams;
1337     assocInitParams_t               assocInitParams;
1338     txDataInitParams_t              txDataInitParams;
1339     ctrlDataInitParams_t            ctrlDataInitParams;
1340     rsnInitParams_t                 rsnInitParams;
1341     regulatoryDomainInitParams_t    regulatoryDomainInitParams;
1342     measurementInitParams_t         measurementInitParams;
1343     smeInitParams_t                 smeInitParams;
1344     SoftGeminiInitParams_t          SoftGeminiInitParams;
1345     QosMngrInitParams_t             qosMngrInitParams;
1346     clsfrParams_t                   clsfrParams;
1347 #ifdef EXC_MODULE_INCLUDED
1348     excMngrParams_t                 excMngrParams;
1349 #endif
1350 	SwitchChannelInitParams_t		SwitchChannelInitParams;
1351 	healthMonitorInitParams_t		healthMonitorInitParams;
1352     apConnParams_t                  apConnParams;
1353     PowerMgrInitParams_t            PowerMgrInitParams;
1354     scanConcentratorInitParams_t    scanConcentratorInitParams;
1355 	rxDataInitParams_t              rxDataInitParams;
1356 	BOOL							SendINIBufferToUser;
1357     /* Traffic Monitor */
1358     UINT8                           trafficMonitorMinIntervalPercentage;
1359 } initTable_t;
1360 
1361 /* WDK end usage of packing */
1362 #ifdef _WINDOWS
1363 #endif
1364 
1365 /**************************** End of Init Params ************************************/
1366 
1367 
1368 
1369 #define P_BUFFER_ADD_UINT8(_p_buffer, _uint8)				\
1370 		{														\
1371 			*(tiUINT8 *)(_p_buffer++) = _uint8; 				\
1372 		}
1373 
1374 #define P_BUFFER_ADD_UINT16(_p_buffer, _uint16)			  \
1375 		{														  \
1376 			*(tiUINT8 *)(_p_buffer++) = (_uint16 & 0x00FF);		  \
1377 			*(tiUINT8 *)(_p_buffer++) = ((_uint16 & 0xFF00) >> 8);\
1378 		}
1379 
1380 #define P_BUFFER_ADD_UINT32(_p_buffer, _uint32)						   \
1381 {																	   \
1382 			*(tiUINT8 *)(_p_buffer++) = (_uint32 & 0x000000FF);		   \
1383 			*(tiUINT8 *)(_p_buffer++) = ((_uint32 & 0x0000FF00) >> 8); \
1384 			*(tiUINT8 *)(_p_buffer++) = ((_uint32 & 0x00FF0000) >> 16);\
1385 			*(tiUINT8 *)(_p_buffer++) = ((_uint32 & 0xFF000000) >> 24);\
1386 		}
1387 
1388 #define P_BUFFER_ADD_DATA(_p_buffer, _p_data, _len)		\
1389 		{														\
1390 			memcpy(_p_buffer, _p_data, _len);					\
1391 			_p_buffer += _len;									\
1392 		}
1393 
1394 #define P_BUFFER_GET_UINT8(_p_buffer, _uint8)					\
1395 		{														\
1396 			_uint8 = *(tiUINT8 *)(_p_buffer++);	 				\
1397 		}
1398 
1399 #define P_BUFFER_GET_UINT16(_p_buffer, _uint16)				    \
1400 		{													    \
1401 			_uint16 = *(tiUINT8 *)(_p_buffer++);			    \
1402 			_uint16 |= (*(tiUINT8 *)(_p_buffer++) << 8);		\
1403 		}
1404 
1405 
1406 #define P_BUFFER_GET_UINT32(_p_buffer, _uint32)					\
1407 		{														\
1408 			_uint32 = *(tiUINT8 *)(_p_buffer++);			    \
1409 			_uint32 |= (*(tiUINT8 *)(_p_buffer++) << 8);		\
1410 			_uint32 |= (*(tiUINT8 *)(_p_buffer++) << 16);		\
1411 			_uint32 |= (*(tiUINT8 *)(_p_buffer++) << 24);		\
1412 		}
1413 
1414 #define P_BUFFER_ADD_HDR_PARAMS(_p_buffer, _op, _status)	\
1415 		{														\
1416 			*(tiUINT8 *)(_p_buffer + 0) = (_op & 0x00FF);		\
1417 			*(tiUINT8 *)(_p_buffer + 1) = ((_op & 0xFF00) >> 8);\
1418 			*(tiUINT8 *)(_p_buffer + 2) = _status;				\
1419 			_p_buffer += 3;										\
1420 		}
1421 
1422 
1423 
1424 
1425 #endif /* __PARAM_OUT_H__ */
1426 
1427