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