PageRenderTime 41ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/common/inc/paramOut.h

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