1 /* 2 * paramOut.h 3 * 4 * Copyright(c) 1998 - 2010 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 /* */ 37 /* MODULE: paramOut.h */ 38 /* PURPOSE: */ 39 /* */ 40 /****************************************************************************/ 41 42 #ifndef __PARAM_OUT_H__ 43 #define __PARAM_OUT_H__ 44 45 #include "tidef.h" 46 #include "report.h" 47 #include "context.h" 48 #include "rate.h" 49 #include "bssTypes.h" 50 #include "roamingMngrTypes.h" 51 #include "scanMngrTypes.h" 52 53 #ifdef XCC_MODULE_INCLUDED 54 #include "paramOutXCC.h" 55 #else 56 #define XCC_PARAM_FIELDS 57 #endif 58 59 #include "InternalCmdCodes.h" 60 #include "commonTypes.h" 61 #include "coreDefaultParams.h" 62 #include "rsnApi.h" 63 #include "TWDriver.h" 64 #include "tiwlnif.h" 65 66 67 #define DOT11_MAX_DEFAULT_WEP_KEYS 4 68 69 #define RX_LEVEL_TABLE_SIZE 15 70 71 #define RX_DATA_FILTER_MAX_FIELD_PATTERNS 8 72 #define RX_DATA_FILTER_FILTER_BOUNDARY 256 73 74 /* Soft gemini values */ 75 76 /* Used by UtilInfoCodeQueryInformation , UtilInfoCodeSetInformation */ 77 #define VAL_TX_POWER_VALUE 100 78 #define VAL_NETWORK_TYPE 101 79 #define VAL_AP_TX_POWER_LEVEL 102 80 /* #define VAL_COUNTRY_CODE 103 */ 81 /* #define VAL_REG_DOMAIN_BAND_24 104 */ 82 /* #define VAL_REG_DOMAIN_BAND_50 105 */ 83 #define VAL_PACKET_BURSTING 106 84 #define VAL_MIXED_MODE 107 85 #define VAL_PRIVACY_MODE 108 86 #define VAL_XCC_SECURITY 109 87 #define VAL_DEFAULT_KEY_ID 110 88 #define VAL_AP_SUPPORT_CHANELS 111 89 90 typedef struct 91 { 92 ERate maxBasic; 93 ERate maxActive; 94 } ratePair_t; 95 96 97 typedef enum 98 { 99 RTS_CTS_DISABLED = 0, 100 RTS_CTS_ENABLED = 1 101 102 } RtsCtsStatus_e; 103 104 /* Parameters Structures Definitions per parameter type */ 105 typedef enum 106 { 107 AUTH_LEGACY_OPEN_SYSTEM = 0, 108 AUTH_LEGACY_SHARED_KEY = 1, 109 AUTH_LEGACY_AUTO_SWITCH = 2, 110 AUTH_LEGACY_RESERVED1 = 128, 111 AUTH_LEGACY_NONE = 255 112 } legacyAuthType_e; 113 114 typedef enum 115 { 116 CONNECTION_NONE = 0, 117 CONNECTION_INFRA = 1, 118 CONNECTION_IBSS = 2, 119 CONNECTION_SELF = 3 120 } connectionType_e; 121 122 typedef enum 123 { 124 RADIO_IN_STAND_BY = 0, 125 RADIO_OUT_OF_STAND_BY = 1 126 }radioStandByState_t; 127 128 /**** Regulatory Domain module types ****/ 129 130 /* Scan Control Table for 2.4-G band type */ 131 typedef struct 132 { 133 TI_UINT8 tableString[NUM_OF_CHANNELS_24]; 134 } scanControlTable24_t; 135 136 /* Scan Control Table for 5G-band type */ 137 typedef struct 138 { 139 TI_UINT8 tableString[A_5G_BAND_NUM_CHANNELS]; 140 } scanControlTable5_t; 141 142 /* Scan Control Table type */ 143 typedef struct 144 { 145 ERadioBand band; 146 scanControlTable5_t ScanControlTable5; 147 scanControlTable24_t ScanControlTable24; 148 } scanControlTable_t; 149 150 /** \enum regulatoryDomain_scanOption_e 151 * \brief Regulatory Domain Scan Options 152 * 153 * \par Description 154 * Enumerates the scan type to used by regulatory domain queries 155 * 156 * \sa 157 */ 158 typedef enum 159 { 160 ACTIVE_SCANNING = 0, /**< The query is for active scanning (requires transmission on the channel) */ 161 PASSIVE_SCANNING = 1 /**< The query is for passive scanning (no transmission is required) */ 162 } regulatoryDomain_scanOption_e; 163 164 typedef struct 165 { 166 TI_UINT8* pChannelBitMap; 167 TI_UINT8 channelCnt; 168 TI_INT8 txPower; 169 } regulatoryDomainParam_t; 170 171 typedef struct 172 { 173 TI_UINT8 minTxPower; 174 TI_UINT8 maxTxPower; 175 } powerCapability_t; 176 177 178 /* SoftGemini module init parameters */ 179 typedef struct 180 { 181 ESoftGeminiEnableModes SoftGeminiEnable; 182 TI_UINT32 coexParams[SOFT_GEMINI_PARAMS_MAX]; 183 } SoftGeminiInitParams_t; 184 185 typedef enum 186 { 187 PHY_UNKNOWN = 0, 188 PHY_FH = 1, 189 PHY_DSS = 2, 190 PHY_UN_USED = 3, 191 PHY_OFDM = 4, 192 PHY_HIGH_RATE_DSS = 5, 193 PHY_ERP = 6 194 } phyType_e; 195 196 197 typedef enum 198 { 199 CLOSE = 0, 200 OPEN_NOTIFY = 1, 201 OPEN_EAPOL = 2, 202 OPEN = 3, 203 MAX_NUM_OF_RX_PORT_STATUS 204 } portStatus_e; 205 206 207 typedef enum 208 { 209 DRIVER_STATUS_IDLE = 0, 210 DRIVER_STATUS_RUNNING = 1 211 } driverStatus_e; 212 213 typedef enum 214 { 215 OS_ABS_LAYER = 0, 216 RSN = 1 217 } eapolDestination_e; 218 219 /* enumerator for PRE_AUTH event */ 220 typedef enum 221 { 222 RSN_PRE_AUTH_START, 223 RSN_PRE_AUTH_END 224 } preAuthStatusEvent_e; 225 226 227 typedef enum 228 { 229 STATUS_SCANNING = 0, 230 STATUS_SCAN_COMPLETE = 1 231 } scanStatus_e; 232 233 typedef enum 234 { 235 SCAN_DISABLED = 0, /* TI_FALSE*/ 236 SCAN_ENABLED = 1, /* TI_TRUE*/ 237 SKIP_NEXT_SCAN = 2 /* Skip only one next coming scan, then set this parameter to TI_TRUE*/ 238 } scanEnabledOptions_e; 239 240 241 242 243 typedef struct 244 { 245 TI_UINT32 RecvOk; /* the number of frames that the NIC receives without errors */ 246 TI_UINT32 DirectedBytesRecv; /* the number of bytes in directed packets that are received without errors */ 247 TI_UINT32 DirectedFramesRecv; /* the number of directed packets that are received without errors */ 248 TI_UINT32 MulticastBytesRecv; /* the number of bytes in multicast/functional packets that are received without errors */ 249 TI_UINT32 MulticastFramesRecv; /* the number of multicast/functional packets that are received without errors */ 250 TI_UINT32 BroadcastBytesRecv; /* the number of bytes in broadcast packets that are received without errors. */ 251 TI_UINT32 BroadcastFramesRecv; /* the number of broadcast packets that are received without errors. */ 252 TI_UINT32 LastSecBytesRecv; /* the number of bytes received without errors during last second */ 253 254 } rxDataCounters_t; 255 256 typedef struct rxDataFilterFieldPattern_t 257 { 258 TI_UINT16 offset; /* Offset of the field to compare from the start of the packet*/ 259 TI_UINT8 length; /* Size of the field pattern */ 260 TI_UINT8 flag; /* Bit Mask flag */ 261 TI_UINT8 pattern[RX_DATA_FILTER_MAX_PATTERN_SIZE]; /* expected pattern */ 262 TI_UINT8 mask[RX_DATA_FILTER_MAX_PATTERN_SIZE]; /* bit-masking of the internal field content */ 263 } rxDataFilterFieldPattern_t; 264 265 typedef struct 266 { 267 void *handler; 268 void *callback; 269 }QoS_renegVoiceTspecReq_t; 270 271 /* Authentication/encryption capability */ 272 #define MAX_AUTH_ENCR_PAIR 13 273 274 typedef struct 275 { 276 EExternalAuthMode authenticationMode; 277 ECipherSuite cipherSuite; 278 279 } authEncrPairList_t; 280 281 typedef struct 282 { 283 TI_UINT32 NoOfPMKIDs; 284 TI_UINT32 NoOfAuthEncrPairSupported; 285 authEncrPairList_t authEncrPairs[MAX_AUTH_ENCR_PAIR]; 286 287 } rsnAuthEncrCapability_t; 288 289 typedef struct 290 { 291 TI_UINT32 numOfPreAuthBssids; 292 TMacAddr *listOfPreAuthBssid; 293 294 } rsnPreAuthBssidList_t; 295 296 297 typedef struct 298 { 299 TI_INT32 rssi; 300 TI_UINT8 snr; 301 } signal_t; 302 303 typedef struct 304 { 305 TI_UINT32 basicRateMask; 306 TI_UINT32 supportedRateMask; 307 } rateMask_t; 308 309 typedef struct 310 { 311 312 TI_UINT8 *assocRespBuffer; 313 TI_UINT32 assocRespLen; 314 TI_UINT8 *assocReqBuffer; 315 TI_UINT32 assocReqLen; 316 317 } assocInformation_t; 318 319 typedef struct 320 { 321 TMacAddr siteMacAddress; 322 TI_BOOL priority; 323 } siteMgr_prioritySite_t; 324 325 typedef struct{ 326 TI_UINT32 thresholdCross; /* high or low */ 327 TI_UINT32 thresholdCrossDirection; /* direction of crossing */ 328 } trafficIntensityThresholdCross_t; 329 330 /************************************/ 331 /* QOS edcf params */ 332 /************************************/ 333 334 /* 335 #define CW_MIN_DEF 15 336 #define CW_MIN_MAX 31 337 #define CW_MAX_DEF 1023 338 */ 339 #define CW_MIN_DEF 4 /* the power of 2 - cwMin = 2^4-1 = 15 */ 340 #define CW_MIN_MAX 5 /* the power of 2 - cwMax = 2^5-1 = 31 */ 341 #define CW_MAX_DEF 10 342 343 #define AIFS_DEF 2 344 #define NO_RX_TIME_OUT 0 345 #define NO_RX_ACK_POLICY 0 346 #define DATA_DCF 0 /* MSDUs are sent completely including retrys - normal legacy traffic */ 347 #define QOS_DATA_EDCF 1 /* MPDUs are sent according to TXOP limits - */ 348 #define RETRY_PREEMPTION_DISABLE 0 349 #define QOS_CONTROL_TAG_MASK 0x0007 350 #define QOS_CONTROL_EOSP_MASK 0x0010 351 352 353 354 typedef enum{ 355 AC_ACTIVE = 0, 356 AC_NOT_ACTIVE 357 }acActive; 358 359 360 typedef struct 361 { 362 TI_UINT8 *buffer; 363 TI_UINT16 bufLength; 364 TI_UINT8 isBeacon; /* If true, Beacon packet is returned, otherwise it is Probe Response */ 365 } BufferParameters_t; 366 367 368 369 typedef struct{ 370 TI_UINT32 trafficAdmCtrlResponseTimeout; 371 TI_BOOL trafficAdmCtrlUseFixedMsduSize; 372 }trafficAdmCtrlInitParams_t; 373 374 typedef struct{ 375 TI_BOOL wmeEnable; 376 TI_BOOL trafficAdmCtrlEnable; 377 TI_BOOL qosTagZeroConverHeader; 378 TI_UINT8 PacketBurstEnable; 379 TI_UINT32 PacketBurstTxOpLimit; 380 TI_UINT32 TxOpLimit[MAX_NUM_OF_AC]; 381 TI_UINT32 MsduLifeTime[MAX_NUM_OF_AC]; 382 TRxTimeOut rxTimeOut; 383 TI_UINT8 ShortRetryLimit[MAX_NUM_OF_AC]; 384 TI_UINT8 LongRetryLimit[MAX_NUM_OF_AC]; 385 TI_UINT8 desiredWmeAcPsMode[MAX_NUM_OF_AC]; /* wme per ac power save mode */ 386 EQOverflowPolicy QueueOvFlowPolicy[MAX_NUM_OF_AC]; 387 TI_UINT8 acAckPolicy[MAX_NUM_OF_AC]; /* ack policy per AC */ 388 trafficAdmCtrlInitParams_t trafficAdmCtrlInitParams; 389 TI_UINT8 desiredPsMode; /* The desired PS mode of the station */ 390 TI_UINT8 desiredMaxSpLen; 391 392 TI_BOOL bCwFromUserEnable; /* flag to use CwMin & CwMax user setting: 0 disable user setting (values from beacon) , 1 enable user setting (beacon cw ignore)*/ 393 TI_UINT8 uDesireCwMin; /**< The contention window minimum size (in slots) from ini file */ 394 TI_UINT16 uDesireCwMax; /**< The contention window maximum size (in slots) from ini file */ 395 TI_BOOL bEnableBurstMode; 396 /* Enable the Burst mode from ini file */ 397 /* 802.11n BA session */ 398 TI_UINT8 aBaPolicy[MAX_NUM_OF_802_1d_TAGS]; 399 TI_UINT16 aBaInactivityTimeout[MAX_NUM_OF_802_1d_TAGS]; 400 401 }QosMngrInitParams_t; 402 403 404 405 /*END OF MULTIPLE QUEUES STRUCTURE*/ 406 407 typedef struct 408 { 409 TI_UINT16 bufferSize; 410 TI_UINT8 *buffer; 411 TI_BOOL reAssoc; 412 } TAssocReqBuffer; 413 414 typedef struct 415 { 416 TMacAddr bssID; 417 TI_UINT16 channel; 418 } apChannelPair_t; 419 420 typedef struct 421 { 422 apChannelPair_t *apChannelPairs; 423 TI_UINT16 numOfEntries; 424 } neighbor_AP_t; 425 426 typedef struct 427 { 428 TI_UINT16 maxChannelDuration; /* One channel max duration time. (time slot 0 - 65000) */ 429 TI_UINT16 minChannelDuration; /* One channel max duration time. (time slot 0 - 65000) */ 430 TI_UINT8 earlyTerminationMode; /**< 0 = Stay until max duration time. 1 = Terminate scan in 431 * a channel upon a reception of Prob-Res or Beacon. 2 = Terminate scan 432 * in a channel upon a reception of any frame 433 */ 434 TI_UINT8 eTMaxNumOfAPframes; /**< number of AP frames (beacon/probe_resp) to trigger Early termination. 435 * Applicable only when EarlyTerminationMode = 1 436 */ 437 TI_UINT8 numOfProbeReq; /* Number of probe request transmitted on each channel */ 438 439 } periodicScanParams_t; 440 441 442 typedef struct 443 { 444 TI_UINT16 channelNum; 445 TI_BOOL channelValidity; 446 ERadioBand band; 447 } channelValidity_t; 448 449 /** \struct channelCapabilityRet_t 450 * \brief Channel Capability Response 451 * 452 * \par Description 453 * Defines scan capabilities information, which is given as a response to a scan capabilities query. 454 * 455 * \sa 456 */ 457 typedef struct 458 { 459 TI_BOOL channelValidity; /**< Indicates whether the channel is valid for the requested scan type. 460 * TRUE: channel is valid; FALSE: not valid 461 */ 462 TI_UINT8 maxTxPowerDbm; /**< Maximum TX power level allowed on this channel from 1 to 5, 463 * where 1 is the highest and 5 is the lowest. Units: Dbm/10 464 */ 465 } channelCapabilityRet_t; 466 467 typedef struct 468 { 469 TI_UINT8 *listOfChannels; 470 TI_UINT8 sizeOfList; 471 } supportedChannels_t; 472 473 /** \struct channelCapabilityReq_t 474 * \brief Channel Capability Resuest 475 * 476 * \par Description 477 * Defines the regulatory domain scan capability query information 478 * 479 * \sa 480 */ 481 typedef struct 482 { 483 regulatoryDomain_scanOption_e scanOption; /**< Desired scan type (passive or active) */ 484 TI_UINT8 channelNum; /**< Channel on which scan is to be performed */ 485 ERadioBand band; /**< Band on which scan is to be performed */ 486 } channelCapabilityReq_t; 487 488 typedef struct 489 { 490 TI_UINT32 uChannel; 491 ERadioBand eBand; 492 TI_BOOL bDfsChannel; 493 } TDfsChannel; 494 495 typedef struct 496 { 497 TTxDataCounters *pTxDataCounters; 498 TI_UINT8 acID; 499 } reportTsStatisticsReq_t; 500 501 /* SME parameters definition */ 502 typedef enum 503 { 504 CONNECT_MODE_AUTO = 0, 505 CONNECT_MODE_MANUAL 506 } EConnectMode; 507 508 /* Generic IE */ 509 #define RSN_MAX_GENERIC_IE_LENGTH 255 510 511 typedef struct 512 { 513 TI_UINT8 length; 514 TI_UINT8 data[255]; 515 } rsnGenericIE_t; 516 517 518 /** \struct paramInfo_t 519 * \brief General Parameters Structure 520 * 521 * \par Description 522 * This structure holds information for the regulatory domain (and other modules 523 * that are outside of the scope of this document) queries 524 * 525 * \sa 526 */ 527 typedef struct{ 528 TI_UINT32 paramType; /**< Parameter identification value */ 529 TI_UINT32 paramLength; /**< Parameter actual length (or the length allocated in content for parameter value) */ 530 531 /* Actual parameter value */ 532 union 533 { 534 /* HAL Control section */ 535 TI_UINT16 halCtrlRtsThreshold; 536 TI_UINT16 halCtrlFragThreshold; 537 538 /* site manager section */ 539 TI_UINT8 siteMgrDesiredChannel; 540 TMacAddr siteMgrDesiredBSSID; 541 TSsid siteMgrDesiredSSID; 542 ScanBssType_e siteMgrDesiredBSSType; 543 ratePair_t siteMgrDesiredRatePair; 544 TRates siteMgrDesiredBasicRateSet; 545 TRates siteMgrDesiredSupportedRateSet; 546 rateMask_t siteMgrCurrentRateMask; 547 TI_UINT8 siteMgrCurrentTxRate; 548 TI_UINT8 siteMgrCurrentRxRate; 549 EModulationType siteMgrDesiredModulationType; 550 TI_UINT16 siteMgrDesiredBeaconInterval; 551 EPreamble siteMgrDesiredPreambleType; 552 EPreamble siteMgrCurrentPreambleType; 553 ERadioBand siteMgrRadioBand; 554 OS_802_11_BSSID_EX *pSiteMgrSelectedSiteInfo; 555 OS_802_11_BSSID *pSiteMgrPrimarySiteDesc; 556 EDot11Mode siteMgrDot11Mode; 557 EDot11Mode siteMgrDot11OperationalMode; 558 EDraftNumber siteMgrUseDraftNum; 559 TI_UINT8 siteMgrCurrentChannel; 560 TSsid siteMgrCurrentSSID; 561 ScanBssType_e siteMgrCurrentBSSType; 562 EModulationType siteMgrCurrentModulationType; 563 ESlotTime siteMgrSlotTime; 564 signal_t siteMgrCurrentSignal; 565 TI_UINT8 siteMgrNumberOfSites; 566 TIWLN_COUNTERS siteMgrTiWlanCounters; 567 TI_BOOL siteMgrBuiltInTestStatus; 568 TI_UINT8 siteMgrFwVersion[FW_VERSION_LEN]; /* Firmware version - null terminated string*/ 569 TI_UINT32 siteMgrDisAssocReason; 570 TI_UINT16 siteMgrSiteCapability; 571 TI_UINT16 beaconInterval; 572 TI_UINT8 APTxPower; 573 TI_BOOL siteMgrQuietScanInProcess; 574 TI_BOOL siteMgrScanSliceCurrentlyActive; 575 TI_UINT8 siteMgrRoamingRssiGapThreshold; 576 TI_UINT8 timeStamp[8]; 577 TI_BOOL siteMgrBeaconRecv; 578 TI_UINT32 siteMgrDtimPeriod; 579 TI_INT32 siteMgrCurrentRssi; 580 TI_UINT8 siteMgrIndexOfDesiredSiteEntry; 581 TI_UINT8 *pSiteMgrDesiredSiteEntry; 582 TI_UINT8 siteMgrCurrentTsfTimeStamp[8]; 583 TI_UINT8 siteMgrUsrConfigTxPower; 584 585 OS_802_11_CONFIGURATION *pSiteMgrConfiguration; 586 siteMgr_prioritySite_t siteMgrPrioritySite; 587 BufferParameters_t siteMgrLastBeacon; 588 TI_UINT8 siteMgrDesiredBeaconFilterState; 589 TI_BOOL siteMgrAllowTxPowerCheck; 590 591 void *pPrimarySite; 592 TI_BOOL bPrimarySiteHtSupport; 593 594 /* WiFI SimpleConfig */ 595 TWscMode siteMgrWSCMode; /* used to set the WiFi Simple Config mode */ 596 597 /* SME SM section */ 598 TMacAddr smeDesiredBSSID; 599 TSsid smeDesiredSSID; 600 ScanBssType_e smeDesiredBSSType; 601 TI_BOOL smeRadioOn; 602 EConnectMode smeConnectionMode; 603 TIWLN_DOT11_STATUS smeSmConnectionStatus; 604 605 /* connection SM section */ 606 TI_UINT32 connSelfTimeout; 607 608 /* auth SM section */ 609 TI_UINT32 authResponseTimeout; 610 611 /* assoc SM section */ 612 TI_UINT32 assocResponseTimeout; 613 614 OS_802_11_ASSOCIATION_INFORMATION assocAssociationInformation; 615 616 /* RSN section */ 617 TI_BOOL rsnPrivacyOptionImplemented; 618 EAuthSuite rsnDesiredAuthType; 619 OS_802_11_KEY rsnOsKey; 620 rsnAuthEncrCapability_t *pRsnAuthEncrCapability; 621 TI_UINT32 rsnNoOfPMKIDs; 622 OS_802_11_PMKID rsnPMKIDList; 623 TI_UINT32 rsnWPAPromoteFlags; 624 TI_UINT32 rsnWPAMixedModeSupport; 625 TI_UINT32 rsnAuthState; /* supp_1XStates */ 626 ECipherSuite rsnEncryptionStatus; 627 TI_UINT8 rsnHwEncDecrEnable; /* 0- disable, 1- enable*/ 628 TSecurityKeys *pRsnKey; 629 TI_UINT8 rsnDefaultKeyID; 630 631 EExternalAuthMode rsnExtAuthneticationMode; 632 TI_BOOL rsnMixedMode; 633 TI_BOOL rsnPreAuthStatus; 634 TMacAddr rsnApMac; 635 OS_802_11_EAP_TYPES eapType; 636 TI_BOOL wpa_802_1x_AkmExists; 637 TI_BOOL rsnPortStatus; 638 rsnGenericIE_t rsnGenericIE; 639 TI_BOOL rsnExternalMode; 640 641 642 /* Rx Data section */ 643 rxDataCounters_t rxDataCounters; 644 TI_BOOL rxDataFilterEnableDisable; 645 TRxDataFilterRequest rxDataFilterRequest; 646 TI_UINT16 rxGenericEthertype; 647 648 /* Tx Data section */ 649 portStatus_e txDataPortStatus; 650 TTxDataCounters *pTxDataCounters; 651 TI_UINT32 txPacketsCount; 652 reportTsStatisticsReq_t tsMetricsCounters; 653 OS_802_11_THRESHOLD_CROSS_PARAMS txDataMediumUsageThreshold; 654 TI_UINT8 txDataEncryptionFieldSize; 655 TI_UINT16 txGenericEthertype; 656 657 /* Ctrl Data section */ 658 TI_BOOL ctrlDataPowerSaveEnable; 659 TI_BOOL ctrlDataPowerSaveForce; 660 TI_BOOL ctrlDatapowerSaveEnhanceAlgorithm; 661 erpProtectionType_e ctrlDataIbssProtecionType; 662 RtsCtsStatus_e ctrlDataRtsCtsStatus; 663 TI_BOOL ctrlDataProtectionEnabled; 664 665 TMacAddr ctrlDataCurrentBSSID; 666 ScanBssType_e ctrlDataCurrentBssType; 667 TI_UINT32 ctrlDataCurrentRateMask; 668 ERate ctrlDataCurrentBasicRate; 669 EPreamble ctrlDataCurrentPreambleType; 670 ERate ctrlDataCurrentActiveRate; 671 TMacAddr ctrlDataDeviceMacAddress; 672 TStreamTrafficProperties ctrlDataUpOfStream; 673 TClsfrTableEntry ctrlDataClsfrInsertTable; 674 EClsfrType ctrlDataClsfrType; 675 676 TI_UINT32 ctrlDataTrafficIntensityEventsFlag; 677 OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS ctrlDataTrafficIntensityThresholds; 678 679 connectionType_e connType; 680 681 /* MLME SM section */ 682 legacyAuthType_e mlmeLegacyAuthType; 683 legacyAuthType_e authLegacyAuthType; 684 TI_BOOL mlmeReAssoc; 685 686 687 TI_BOOL rxDataExcludeUnencrypted; 688 eapolDestination_e rxDataEapolDestination; 689 portStatus_e rxDataPortStatus; 690 691 TI_BOOL txDataCurrentPrivacyInvokedMode; 692 TI_BOOL txDataEapolEncryptionStatus; 693 TI_UINT32 txDataPollApPacketsFromACid; /* AC to poll AP packets from */ 694 695 /* regulatory Domain section */ 696 regulatoryDomainParam_t regulatoryDomainParam; 697 TI_UINT8 channel; 698 TCountry* pCountry; 699 TI_UINT8* pCountryString; 700 TI_BOOL spectrumManagementEnabled; 701 TI_BOOL regulatoryDomainEnabled; 702 powerCapability_t powerCapability; 703 TI_UINT8* pSupportedChannel; 704 TI_INT8 powerConstraint; 705 TI_INT8 desiredTxPower; /* The desired Tx power inforced by the User (Utility), 706 or The desired Tx power (in Dbm) as forced by teh OS */ 707 TI_INT8 ExternTxPowerPreferred; /*for other extern elements that want 708 to effect the transmit power*/ 709 TpowerLevelTable_t powerLevelTable; 710 channelValidity_t channelValidity; 711 channelCapabilityRet_t channelCapabilityRet; 712 channelCapabilityReq_t channelCapabilityReq; 713 supportedChannels_t supportedChannels; 714 TI_BOOL enableDisable_802_11d; 715 TI_BOOL enableDisable_802_11h; 716 TI_BOOL bActivateTempPowerFix; 717 TI_BOOL bIsCountryFound; 718 TI_BOOL bIsChannelSupprted; 719 TDfsChannelRange DFS_ChannelRange; 720 TDfsChannel tDfsChannel; 721 ERadioBand eRadioBand; 722 TI_UINT32 uTimeToCountryExpiryMs; 723 724 725 /* Measurement Manager section */ 726 TI_UINT32 measurementEnableDisableStatus; 727 TI_UINT16 measurementTrafficThreshold; 728 TI_UINT16 measurementMaxDuration; 729 TInterrogateCmdCbParams interogateCmdCBParams; 730 731 732 /* soft Gemini section */ 733 ESoftGeminiEnableModes SoftGeminiEnable; 734 TI_UINT32 SoftGeminiParamArray[NUM_OF_CONFIG_PARAMS_IN_SG]; 735 TI_UINT32 CoexActivityParamArray[NUM_OF_COEX_ACTIVITY_PARAMS_IN_SG]; 736 737 /* case XCC MODULE INCLUDED */ 738 XCC_PARAM_FIELDS 739 740 /* Application Config Parameters Manager */ 741 TAssocReqBuffer assocReqBuffer; 742 TAssocReqBuffer assocResBuffer; 743 roamingMngrConfigParams_t roamingConfigBuffer; 744 TI_UINT32 roamingTriggerType; 745 TI_UINT32 roamingConnStatus; 746 bssList_t* pScanBssList; 747 TScanPolicy* pScanPolicy; 748 749 /* Scan concnetrator application scan (periodic & one-shot) parameters */ 750 TScanParams *pScanParams; 751 TPeriodicScanParams *pPeriodicScanParams; 752 TI_UINT32 uBssidListSize; 753 TI_UINT32 uNumBssidInList; 754 OS_802_11_BSSID_LIST_EX *pBssidList; 755 OS_802_11_N_RATES *pRateList; 756 TSsid tScanDesiredSSID; 757 758 TI_UINT32 uSraThreshold; 759 TI_INT32 nRssiThreshold; 760 761 /* tx data qos related parameters */ 762 TTxDataQosParams txDataQosParams; 763 764 /* QOS Manager */ 765 EQosProtocol qosSiteProtocol; 766 TI_UINT8 qosPacketBurstEnb; /* Packet Burst Enable */ 767 EDot11Mode qosMngrOperationalMode; 768 TI_UINT8 desiredPsMode; 769 TI_UINT8 currentPsMode; 770 TSpecConfigure TspecConfigure; 771 TPsRxStreaming tPsRxStreaming; 772 OS_802_11_QOS_RX_TIMEOUT_PARAMS rxTimeOut; 773 OS_802_11_QOS_PARAMS qosOsParams; 774 OS_802_11_AC_QOS_PARAMS qosApQosParams; 775 776 /* AP Qos Capabilities */ 777 OS_802_11_AP_QOS_CAPABILITIES_PARAMS qosApCapabilities; 778 779 /* Qos current AC status */ 780 OS_802_11_AC_UPSD_STATUS_PARAMS qosCurrentAcStatus; 781 782 OS_802_11_QOS_DELETE_TSPEC_PARAMS qosDelTspecRequest; 783 OS_802_11_QOS_TSPEC_PARAMS qosAddTspecRequest; 784 QoS_renegVoiceTspecReq_t qosRenegotiateTspecRequest; 785 786 OS_802_11_QOS_TSPEC_PARAMS qosTspecParameters; 787 788 OS_802_11_QOS_DESIRED_PS_MODE qosDesiredPsMode; 789 790 /* Power Manager */ 791 PowerMgr_PowerMode_e PowerMode; 792 EPowerPolicy PowerSavePowerLevel; 793 EPowerPolicy DefaultPowerLevel; 794 TPowerMgr_PowerMode powerMngPowerMode; 795 PowerMgr_Priority_e powerMngPriority; 796 PowerMgr_PowerMode_e powerMngDozeMode; 797 TI_BOOL powerMgrKeepAliveEnaDis; 798 TKeepAliveTemplate *pPowerMgrKeepAliveTemplate; 799 TKeepAliveConfig *pPowerMgrKeepAliveConfig; 800 801 /* txRatePolicy params */ 802 TTxRatePolicy TxRatePolicy; 803 804 TIWLN_RADIO_RX_QUALITY RxRadioQuality ; 805 806 /* MIB*/ 807 TMib mib; 808 809 /* Current BSS params - RSSI/SNR User Trigger */ 810 TUserDefinedQualityTrigger rssiSnrTrigger; 811 812 /* debug */ 813 TDebugRegisterReq HwRegister; 814 RateMangeParams_t RateMng; 815 RateMangeReadParams_t RateMngParams; 816 817 TIpAddr StationIP; 818 819 } content; 820 }paramInfo_t; 821 822 823 824 825 /*-----------------------------------------------------*/ 826 /* EEPROM-less support */ 827 /*-----------------------------------------------------*/ 828 #define MAX_CALL_DATA_REG_NUM 30 829 #define HW_EEPROM_PRESENTED 1 830 #define HW_EEPROM_NOT_PRESENTED 0 831 832 typedef struct 833 { 834 TI_UINT16 RegAddress; 835 TI_UINT16 RegValue; 836 837 } PhyRegisters_t; 838 839 840 typedef enum 841 { 842 PS_MODE_ELP = 0, 843 PS_MODE_POWER_DOWN = 1, 844 PS_MODE_ACTIVE = 2, 845 PS_MODE_WAKE_TNET = 3 846 } powerSaveModes_e; 847 848 849 /**************************** Beginning of Init Params ************************************/ 850 851 852 typedef struct 853 { 854 TI_UINT8 siteMgr_radioRxLevel[RX_LEVEL_TABLE_SIZE]; 855 TI_UINT8 siteMgr_radioLNA[RX_LEVEL_TABLE_SIZE]; 856 TI_UINT8 siteMgr_radioRSSI[RX_LEVEL_TABLE_SIZE]; 857 TI_UINT32 factorRSSI; /* for RADIA only */ 858 }radioValues_t; 859 860 typedef struct 861 { 862 TI_UINT8 siteMgrDesiredChannel; 863 TMacAddr siteMgrDesiredBSSID; 864 TSsid siteMgrDesiredSSID; 865 ScanBssType_e siteMgrDesiredBSSType; 866 EDot11Mode siteMgrDesiredDot11Mode; 867 ERadioBand siteMgrSupportedBand; 868 EDraftNumber siteMgrUseDraftNum; 869 TI_UINT32 siteMgrRegstryBasicRate[DOT11_MAX_MODE]; 870 TI_UINT32 siteMgrRegstrySuppRate[DOT11_MAX_MODE]; 871 TI_UINT32 siteMgrRegstryBasicRateMask; 872 TI_UINT32 siteMgrRegstrySuppRateMask; 873 rateMask_t siteMgrCurrentDesiredRateMask; 874 ratePair_t siteMgrDesiredRatePair; 875 TI_UINT32 siteMgrMatchedBasicRateMask; 876 TI_UINT32 siteMgrMatchedSuppRateMask; 877 EModulationType siteMgrDesiredModulationType; 878 EPreamble siteMgrDesiredPreambleType; 879 ESlotTime siteMgrDesiredSlotTime; 880 TI_UINT16 siteMgrDesiredBeaconInterval; 881 TI_UINT32 siteMgrDesiredAtimWindow; 882 TI_UINT32 siteMgrFreq2ChannelTable[SITE_MGR_CHANNEL_MAX+1]; 883 884 TI_UINT8 siteMgrExternalConfiguration; 885 TI_UINT8 siteMgrPrivacyMode; 886 TI_BOOL siteMgrWiFiAdhoc; 887 888 /* TX Power Control parameters */ 889 TI_UINT32 TxPowerCheckTime; 890 TI_UINT32 TxPowerControlOn; 891 TI_INT32 TxPowerRssiThresh; 892 TI_INT32 TxPowerRssiRestoreThresh; 893 TI_UINT8 TxPowerRecoverLevel; 894 TI_UINT8 TxPowerDesiredLevel; 895 896 TBeaconFilterInitParams beaconFilterParams; /*contains the desired state*/ 897 898 TI_UINT8 includeWSCinProbeReq; 899 } siteMgrInitParams_t; 900 901 typedef struct 902 { 903 ERadioBand eBand; 904 TI_UINT8 uChannel; 905 } TSmeScanChannel; 906 907 typedef struct 908 { 909 TI_BOOL bRadioOn; 910 TSsid tDesiredSsid; 911 TMacAddr tDesiredBssid; 912 ScanBssType_e eDesiredBssType; 913 EConnectMode eConnectMode; 914 } TSmeModifiedInitParams; 915 916 typedef struct 917 { 918 TI_UINT32 uMinScanDuration; 919 TI_UINT32 uMaxScanDuration; 920 TI_UINT32 uProbeReqNum; 921 TI_INT8 iSnrThreshold; 922 TI_INT8 iRssiThreshold; 923 TI_UINT32 uScanIntervals[ PERIODIC_SCAN_MAX_INTERVAL_NUM ]; 924 TI_UINT32 uCycleNum; 925 TI_UINT32 uChannelNum; 926 TSmeScanChannel tChannelList[ PERIODIC_SCAN_MAX_CHANNEL_NUM ]; 927 } TSmeInitParams; 928 929 930 typedef struct 931 { 932 TI_BOOL RoamingScanning_2_4G_enable; 933 TI_UINT8 RoamingOperationalMode; 934 TI_UINT8 bSendTspecInReassPkt; 935 } TRoamScanMngrInitParams; 936 937 typedef struct 938 { 939 TI_UINT8 parseWSCInBeacons; 940 } TMlmeInitParams; 941 942 typedef struct 943 { 944 TI_UINT32 connSelfTimeout; 945 } connInitParams_t; 946 947 typedef struct 948 { 949 TI_UINT32 authResponseTimeout; 950 TI_UINT32 authMaxRetryCount; 951 } authInitParams_t; 952 953 typedef struct 954 { 955 TI_UINT32 assocResponseTimeout; 956 TI_UINT32 assocMaxRetryCount; 957 } assocInitParams_t; 958 959 typedef struct 960 { 961 TI_UINT8 highRateThreshold; 962 TI_UINT8 lowRateThreshold; 963 TI_BOOL enableEvent; 964 }tspecsRateParameters_t; 965 966 typedef struct 967 { 968 TI_BOOL ctrlDataPowerSaveEnhanceAlgorithm; 969 TI_UINT16 ctrlDataPowerSaveTimeOut; 970 TI_UINT8 ctrlDataPowerSaveTxThreshold; 971 TI_UINT8 ctrlDataPowerSaveRxThreshold; 972 973 }powerSaveInitParams_t; 974 975 typedef struct 976 { 977 TI_UINT8 longRetryLimit; 978 TI_UINT8 shortRetryLimit; 979 }txRatePolicyParams; 980 981 typedef struct 982 { 983 TI_BOOL ctrlDataPowerSaveEnable; 984 TI_BOOL ctrlDataSoftGeminiEnable; 985 TMacAddr ctrlDataDeviceMacAddress; 986 powerSaveInitParams_t powerSaveInitParams; 987 erpProtectionType_e ctrlDataDesiredIbssProtection; 988 /* 0 = CTS protaction disable ; 1 = Standard CTS protaction */ 989 RtsCtsStatus_e ctrlDataDesiredCtsRtsStatus; 990 OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS ctrlDataTrafficThreshold; 991 TI_BOOL ctrlDataTrafficThresholdEnabled; 992 txRatePolicyParams ctrlDataTxRatePolicy; 993 994 TI_UINT32 policyEnabledRatesMaskCck; 995 TI_UINT32 policyEnabledRatesMaskOfdm; 996 TI_UINT32 policyEnabledRatesMaskOfdmA; 997 TI_UINT32 policyEnabledRatesMaskOfdmN; 998 999 } ctrlDataInitParams_t; 1000 1001 typedef struct 1002 { 1003 /* TxCtrl Parameters */ 1004 TI_UINT32 creditCalculationTimeout; 1005 TI_BOOL bCreditCalcTimerEnabled; 1006 /* TxDataQueue Parameters */ 1007 TI_BOOL bStopNetStackTx; 1008 TI_UINT32 uTxSendPaceThresh; 1009 TClsfrParams ClsfrInitParam; 1010 } txDataInitParams_t; 1011 1012 1013 typedef enum 1014 { 1015 RADIO_B_G_INDEX = 0, 1016 RADIO_A_B_G_INDEX = 1, 1017 NUM_OF_RADIO_TYPES = 2 1018 } regulatoryDomain_radioIndexType_e; 1019 1020 /* Regulatory Domain module init parameters */ 1021 typedef struct 1022 { 1023 TI_UINT32 uTimeOutToResetCountryMs; /* Time after which country code will be reset */ 1024 TI_UINT8 multiRegulatoryDomainEnabled; /* 802.11d */ 1025 TI_UINT8 spectrumManagementEnabled; /* 802.11h */ 1026 TI_UINT8 desiredTxPower; 1027 TI_UINT8 uTemporaryTxPower; 1028 scanControlTable_t desiredScanControlTable;/* for 5 and 2.4 Ghz*/ 1029 } regulatoryDomainInitParams_t; 1030 1031 #ifdef XCC_MODULE_INCLUDED 1032 typedef enum 1033 { 1034 XCC_MODE_DISABLED, 1035 XCC_MODE_ENABLED, 1036 XCC_MODE_STANDBY 1037 } XCCMngr_mode_t; 1038 1039 typedef struct 1040 { 1041 XCCMngr_mode_t XCCEnabled; 1042 } XCCMngrParams_t; 1043 #endif 1044 1045 /* Measurement module init parameters */ 1046 typedef struct 1047 { 1048 TI_UINT16 trafficIntensityThreshold; 1049 TI_UINT16 maxDurationOnNonServingChannel; 1050 #ifdef XCC_MODULE_INCLUDED 1051 XCCMngr_mode_t XCCEnabled; 1052 #endif 1053 } measurementInitParams_t; 1054 1055 /* Switch Channel Module module init parameters */ 1056 typedef struct 1057 { 1058 TI_BOOL dot11SpectrumManagementRequired; 1059 1060 } SwitchChannelInitParams_t; 1061 1062 typedef struct 1063 { 1064 TI_UINT32 qosClassifierTable[MAX_NUM_OF_802_1d_TAGS]; 1065 } 1066 clsfrParams_t; 1067 1068 1069 typedef struct 1070 { 1071 PowerMgr_PowerMode_e powerMode; 1072 TI_UINT32 beaconReceiveTime; 1073 TI_UINT8 hangoverPeriod; 1074 TI_UINT8 beaconListenInterval; 1075 TI_UINT8 dtimListenInterval; 1076 TI_UINT8 nConsecutiveBeaconsMissed; 1077 TI_UINT8 EnterTo802_11PsRetries; 1078 TI_UINT8 HwPsPollResponseTimeout; 1079 TI_UINT16 autoModeInterval; 1080 TI_UINT16 autoModeActiveTH; 1081 TI_UINT16 autoModeDozeTH; 1082 PowerMgr_PowerMode_e autoModeDozeMode; 1083 1084 EPowerPolicy defaultPowerLevel; 1085 EPowerPolicy PowerSavePowerLevel; 1086 1087 1088 /* powerMgmtConfig IE */ 1089 TI_UINT8 mode; 1090 TI_UINT8 needToSendNullData; 1091 TI_UINT8 numNullPktRetries; 1092 TI_UINT8 hangOverPeriod; 1093 TI_UINT16 NullPktRateModulation; 1094 1095 /* PMConfigStruct */ 1096 TI_UINT32 ELPEnable; /* based on "elpType" */ 1097 TI_UINT32 WakeOnGPIOenable; /* based on "hwPlatformType" */ 1098 TI_UINT32 BaseBandWakeUpTime; /* BBWakeUpTime */ 1099 TI_UINT32 PLLlockTime; 1100 1101 /* ACXWakeUpCondition */ 1102 TI_UINT8 listenInterval; 1103 /* BET */ 1104 TI_UINT32 MaximalFullBeaconReceptionInterval; /* maximal time between full beacon reception */ 1105 TI_UINT8 BetEnableThreshold; 1106 TI_UINT8 BetDisableThreshold; 1107 TI_UINT8 BetEnable; 1108 TI_UINT8 MaximumConsecutiveET; 1109 TI_UINT32 PsPollDeliveryFailureRecoveryPeriod; 1110 1111 TI_BOOL reAuthActivePriority; 1112 }PowerMgrInitParams_t; 1113 1114 typedef struct 1115 { 1116 TI_UINT8 FullRecoveryEnable; 1117 TI_BOOL recoveryTriggerEnabled[ MAX_FAILURE_EVENTS ]; 1118 } healthMonitorInitParams_t; 1119 1120 typedef struct 1121 { 1122 TI_BOOL ignoreDeauthReason0; 1123 } apConnParams_t; 1124 1125 typedef struct 1126 { 1127 TI_UINT32 uMinimumDurationBetweenOsScans; 1128 TI_UINT32 uDfsPassiveDwellTimeMs; 1129 TI_BOOL bPushMode; /* True means Push mode. False is the default mode, storing scan results in table. */ 1130 TI_UINT32 uSraThreshold; 1131 TI_INT32 nRssiThreshold; 1132 1133 } TScanCncnInitParams; 1134 1135 typedef struct 1136 { 1137 TI_UINT8 uNullDataKeepAlivePeriod; 1138 TI_UINT8 RoamingOperationalMode; 1139 } TCurrBssInitParams; 1140 1141 typedef struct 1142 { 1143 TI_BOOL rxDataHostPacketProcessing; 1144 TI_BOOL rxDataFiltersEnabled; 1145 filter_e rxDataFiltersDefaultAction; 1146 TRxDataFilterRequest rxDataFilterRequests[MAX_DATA_FILTERS]; 1147 TI_UINT32 reAuthActiveTimeout; 1148 }rxDataInitParams_t; 1149 1150 typedef struct 1151 { 1152 TI_UINT32 uWlanDrvThreadPriority; /* Default setting of the WLAN driver task priority */ 1153 TI_UINT32 uBusDrvThreadPriority; /* Default setting of the bus driver thread priority */ 1154 TI_UINT32 uSdioBlkSizeShift; /* In block-mode: uBlkSize = (1 << uBlkSizeShift) */ 1155 }TDrvMainParams; 1156 1157 /* This table is forwarded to the driver upon creation by the OS abstraction layer. */ 1158 typedef struct 1159 { 1160 TTwdInitParams twdInitParams; 1161 siteMgrInitParams_t siteMgrInitParams; 1162 connInitParams_t connInitParams; 1163 authInitParams_t authInitParams; 1164 assocInitParams_t assocInitParams; 1165 txDataInitParams_t txDataInitParams; 1166 ctrlDataInitParams_t ctrlDataInitParams; 1167 TRsnInitParams rsnInitParams; 1168 regulatoryDomainInitParams_t regulatoryDomainInitParams; 1169 measurementInitParams_t measurementInitParams; 1170 TSmeModifiedInitParams tSmeModifiedInitParams; 1171 TSmeInitParams tSmeInitParams; 1172 SoftGeminiInitParams_t SoftGeminiInitParams; 1173 QosMngrInitParams_t qosMngrInitParams; 1174 clsfrParams_t clsfrParams; 1175 #ifdef XCC_MODULE_INCLUDED 1176 XCCMngrParams_t XCCMngrParams; 1177 #endif 1178 SwitchChannelInitParams_t SwitchChannelInitParams; 1179 healthMonitorInitParams_t healthMonitorInitParams; 1180 apConnParams_t apConnParams; 1181 PowerMgrInitParams_t PowerMgrInitParams; 1182 TScanCncnInitParams tScanCncnInitParams; 1183 rxDataInitParams_t rxDataInitParams; 1184 TI_BOOL SendINIBufferToUser; 1185 /* Traffic Monitor */ 1186 TI_UINT8 trafficMonitorMinIntervalPercentage; 1187 TReportInitParams tReport; 1188 TCurrBssInitParams tCurrBssInitParams; 1189 TContextInitParams tContextInitParams; 1190 TMlmeInitParams tMlmeInitParams; 1191 TDrvMainParams tDrvMainParams; 1192 TRoamScanMngrInitParams tRoamScanMngrInitParams; 1193 } TInitTable; 1194 1195 1196 #endif /* __PARAM_OUT_H__ */ 1197 1198