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 113typedef enum 114{ 115 DRAFT_5_AND_EARLIER = 5, 116 DRAFT_6_AND_LATER = 6 117 118} draftNumber_t; 119 120PACKED_STRUCT( ratePair_t, 121 122 rate_e maxBasic; 123 rate_e maxActive; 124); 125 126typedef enum 127{ 128 RTS_CTS_DISABLED = 0, 129 RTS_CTS_ENABLED = 1 130 131} RtsCtsStatus_e; 132 133/* Parameters Structures Definitions per parameter type */ 134typedef 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 143typedef enum 144{ 145 CONNECTION_NONE = 0, 146 CONNECTION_INFRA = 1, 147 CONNECTION_IBSS = 2, 148 CONNECTION_SELF = 3, 149} connectionType_e; 150 151typedef 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 */ 160PACKED_STRUCT( scanControlTable24_t, 161 162 UINT8 tableString[NUM_OF_CHANNELS_24]; 163); 164 165/* Scan Control Table for 5G-band type */ 166PACKED_STRUCT( scanControlTable5_t, 167 168 UINT8 tableString[A_5G_BAND_NUM_CHANNELS]; 169); 170 171/* Scan Control Table type */ 172PACKED_STRUCT( scanControlTable_t, 173 174 scanControlTable5_t ScanControlTable5; 175 scanControlTable24_t ScanControlTable24; 176); 177 178PACKED_STRUCT( country_t, 179 180 UINT8 elementId; 181 UINT8 len; 182 countryIE_t countryIE; 183); 184 185PACKED_STRUCT( channelPair_t, 186 187 UINT8 firstChennelNum; 188 UINT8 NumOfChannels; 189); 190 191typedef enum 192{ 193 ACTIVE_SCANNING = 0, 194 PASSIVE_SCANNING = 1, 195} regulatoryDomain_scanOption_e; 196 197PACKED_STRUCT( regulatoryDomainParam_t, 198 199 UINT8* pChannelBitMap; 200 UINT8 channelCnt; 201 INT8 txPower; 202); 203 204PACKED_STRUCT( powerCapability_t, 205 206 UINT8 minTxPower; 207 UINT8 maxTxPower; 208); 209 210 211/* SoftGemini module init parameters */ 212typedef 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 223typedef 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 235typedef 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 244typedef enum 245{ 246 TX_DATA_CLOSED = 0, 247 TX_DATA_OPEN = 1 248 249} txDataHalInterfaceStatus_t; 250 251 252typedef enum 253{ 254 GWSI_PENDING = 0, 255 GWSI_OPEN = 1 256} txDataGwsiInterfaceStatus_e; 257 258 259typedef enum 260{ 261 DRIVER_STATUS_IDLE = 0, 262 DRIVER_STATUS_RUNNING = 1, 263} driverStatus_e; 264 265typedef enum 266{ 267 OS_ABS_LAYER = 0, 268 RSN = 1, 269} eapolDestination_e; 270 271/* enumerator for PRE_AUTH event */ 272typedef enum 273{ 274 RSN_PRE_AUTH_START, 275 RSN_PRE_AUTH_END, 276} preAuthStatusEvent_e; 277 278 279typedef enum 280{ 281 STATUS_SCANNING = 0, 282 STATUS_SCAN_COMPLETE = 1, 283} scanStatus_e; 284 285typedef 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 295PACKED_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 308typedef 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 317typedef 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 326PACKED_STRUCT( ctrlDataCounters_t, 327 328 UINT32 icvFailCounter; 329 UINT32 keyNotFoundCounter; 330 UINT32 MicFailureCounter; 331 332); 333 334 335typedef struct 336{ 337 PowerMgr_PowerMode_e PowerMode; 338 PowerMgr_Priority_e powerMngPriority; 339}PowerMgr_PowerMode_t; 340 341 342typedef 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 351typedef struct 352{ 353 externalAuthMode_e authenticationMode; 354 cipherSuite_e cipherSuite; 355 356} authEncrPairList_t; 357 358typedef struct 359{ 360 UINT32 NoOfPMKIDs; 361 UINT32 NoOfAuthEncrPairSupported; 362 authEncrPairList_t authEncrPairs[MAX_AUTH_ENCR_PAIR]; 363 364} rsnAuthEncrCapability_t; 365 366typedef struct 367{ 368 UINT32 numOfPreAuthBssids; 369 macAddress_t *listOfPreAuthBssid; 370 371} rsnPreAuthBssidList_t; 372 373 374PACKED_STRUCT( signal_t, 375 376 INT32 rssi; 377 UINT8 snr; 378); 379 380PACKED_STRUCT( rateMask_t, 381 382 UINT32 basicRateMask; 383 UINT32 supportedRateMask; 384); 385 386PACKED_STRUCT( assocInformation_t, 387 388 UINT8 *assocRespBuffer; 389 UINT32 assocRespLen; 390 UINT8 *assocReqBuffer; 391 UINT32 assocReqLen; 392 393); 394 395/* QOS Parameters Structure */ 396 397typedef 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 413typedef 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 */ 443typedef enum { 444 USER_RATE_CLASS = 0, 445 SG_RATE_CLASS = 1, 446 NUM_OF_RATE_CLASS_CLIENTS = 2 447} rateClassClients_e; 448 449typedef struct { 450 rateClassClients_e clientID; 451 UINT32 clientRateMask; 452} rateClassRateMask_t; 453 454 455typedef enum{ 456 AC_ACTIVE = 0, 457 AC_NOT_ACTIVE, 458}acActive; 459 460 461typedef 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 470typedef struct{ 471 UINT32 trafficAdmCtrlResponseTimeout; 472 BOOL trafficAdmCtrlUseFixedMsduSize; 473}trafficAdmCtrlInitParams_t; 474 475typedef 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 501typedef struct 502{ 503 UINT16 bufferSize; 504 UINT8 *buffer; 505} applicationConfigBuffer_t; 506 507typedef struct 508{ 509 macAddress_t bssID; 510 UINT16 channel; 511} apChannelPair_t; 512 513typedef struct 514{ 515 apChannelPair_t *apChannelPairs; 516 UINT16 numOfEntries; 517} neighbor_AP_t; 518 519typedef 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 538typedef struct 539{ 540 UINT16 channelNum; 541 BOOL channelValidity; 542 radioBand_e band; 543} channelValidity_t; 544 545typedef struct 546{ 547 BOOL channelValidity; /*TRUE-valid, FALSE-invalid */ 548 UINT8 maxTxPowerDbm; /* In Dbm/10 units */ 549} channelCapabilityRet_t; 550 551typedef struct 552{ 553 UINT8 *listOfChannels; 554 UINT8 sizeOfList; 555} supportedChannels_t; 556 557typedef struct 558{ 559 regulatoryDomain_scanOption_e scanOption; /* Passive or Active */ 560 UINT8 channelNum; 561 radioBand_e band; 562} channelCapabilityReq_t; 563 564typedef struct 565{ 566 UINT16 minDFS_channelNum; 567 UINT16 maxDFS_channelNum; 568} DFS_ChannelRange_t; 569 570typedef struct 571{ 572 txDataCounters_t *pTxDataCounters; 573 UINT8 acID; 574} reportTsStatisticsReq_t; 575 576typedef struct 577{ 578 UINT16 vadTimerEnabled; 579 UINT16 vadTimerDuration; 580} txDataVadTimerParams_t; 581 582/* General Parameters Structure */ 583 584typedef 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 */ 865typedef 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 */ 887typedef TI_STATUS (*paramFunc_t)(TI_HANDLE handle, paramInfo_t *pParam); 888 889 890typedef 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 906PACKED_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 925PACKED_STRUCT( MiscTable_t, 926 927 UINT16 TxActivityLED; 928 UINT16 InitLED; 929 UINT16 DiagLED; 930 UINT8 Reserved1; 931 932); 933 934 935PACKED_STRUCT( PhyRegisters_t, 936 937 UINT16 RegAddress; 938 UINT16 RegValue; 939 940); 941 942 943typedef 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 955typedef 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 963typedef 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 974typedef 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 */ 1026typedef 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 1038typedef 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 1048typedef struct 1049{ 1050 UINT32 connSelfTimeout; 1051} connInitParams_t; 1052 1053typedef struct 1054{ 1055 UINT32 authResponseTimeout; 1056 UINT32 authMaxRetryCount; 1057} authInitParams_t; 1058 1059typedef struct 1060{ 1061 UINT32 assocResponseTimeout; 1062 UINT32 assocMaxRetryCount; 1063} assocInitParams_t; 1064 1065typedef struct 1066{ 1067 UINT8 highRateThreshold; 1068 UINT8 lowRateThreshold; 1069 BOOL enableEvent; 1070}tspecsRateParameters_t; 1071 1072typedef 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 1084typedef struct 1085{ 1086 BOOL ctrlDataPowerSaveEnhanceAlgorithm; 1087 UINT16 ctrlDataPowerSaveTimeOut; 1088 UINT8 ctrlDataPowerSaveTxThreshold; 1089 UINT8 ctrlDataPowerSaveRxThreshold; 1090 1091}powerSaveInitParams_t; 1092 1093typedef 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 1106typedef 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 1114typedef 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 1122typedef struct 1123{ 1124 UINT8 longRetryLimit; 1125 UINT8 shortRetryLimit; 1126}txRatePolicyParams; 1127 1128typedef struct 1129{ 1130 UINT8 txRate[MAX_NUM_OF_TX_RATES_IN_CLASS]; 1131} policyClassRatesArray_t; 1132 1133typedef 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 1157typedef 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 1172typedef 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 1185typedef 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 */ 1193typedef 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 1204typedef enum 1205{ 1206 EXC_MODE_DISABLED, 1207 EXC_MODE_ENABLED, 1208 EXC_MODE_STANDBY 1209} excMngr_mode_t; 1210 1211typedef struct 1212{ 1213 excMngr_mode_t excEnabled; 1214} excMngrParams_t; 1215#endif 1216 1217/* Measurement module init parameters */ 1218typedef 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 */ 1228typedef struct 1229{ 1230 BOOL dot11SpectrumManagementRequired; 1231 1232} SwitchChannelInitParams_t; 1233 1234typedef struct 1235{ 1236 UINT32 qosClassifierTable[MAX_NUM_OF_802_1d_TAGS]; 1237} 1238clsfrParams_t; 1239 1240/* WDK pack structure */ 1241#ifdef _WINDOWS 1242#endif 1243 1244typedef 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 1290typedef struct 1291{ 1292 UINT32 healthCheckPeriod; 1293 UINT8 FullRecoveryEnable; 1294 BOOL recoveryTriggerEnabled[ MAX_FAILURE_EVENTS ]; 1295} healthMonitorInitParams_t; 1296 1297typedef struct 1298{ 1299 BOOL ignoreDeauthReason0; 1300} apConnParams_t; 1301 1302typedef struct 1303{ 1304 UINT32 passiveScanDwellTime; 1305 UINT32 minimumDurationBetweenOidScans; 1306} scanConcentratorInitParams_t; 1307 1308 1309typedef struct 1310{ 1311 BOOL rxDataHostPacketProcessing; 1312 BOOL rxDataFiltersEnabled; 1313 filter_e rxDataFiltersDefaultAction; 1314 rxDataFilterRequest_t rxDataFilterRequests[MAX_DATA_FILTERS]; 1315}rxDataInitParams_t; 1316 1317 1318typedef 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. */ 1330typedef 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