| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978 |
- /*
- ** Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/wlan_lib.h#1
- */
- /*! \file "wlan_lib.h"
- \brief The declaration of the functions of the wlanAdpater objects
- Detail description.
- */
- /*
- ** Log: wlan_lib.h
- *
- * 06 08 2012 eason.tsai
- * NULL
- * Nvram context covert from 6620 to 6628 for old 6620 meta tool
- *
- * 01 16 2012 cp.wu
- * [MT6620 Wi-Fi][Driver] API and behavior modification for
- * preferred band configuration with corresponding network configuration
- * add wlanSetPreferBandByNetwork() for glue layer to invoke for
- * setting preferred band configuration corresponding to network type.
- *
- * 01 05 2012 wh.su
- * [WCXRP00001153] [MT6620 Wi-Fi][Driver] Adding the get_ch_list and set_tx_power proto type function
- * Adding the related ioctl / wlan oid function to set the Tx power cfg.
- *
- * 10 03 2011 cp.wu
- * [WCXRP00001022] [MT6628 Driver][Firmware Download] Add multi section independent download functionality
- * eliminate win32 native data types.
- *
- * 10 03 2011 cp.wu
- * [WCXRP00001022] [MT6628 Driver][Firmware Download] Add multi section independent download functionality
- * add firmware download path in divided scatters.
- *
- * 10 03 2011 cp.wu
- * [MT6628 Driver][Firmware Download] Add multi section independent download functionality
- * add firmware downloading aggregated path.
- *
- * 09 20 2011 tsaiyuan.hsu
- * [WCXRP00000931] [MT5931 Wi-Fi][DRV/FW] add swcr to disable roaming from driver
- * change window registry of driver for roaming.
- *
- * 09 08 2011 cm.chang
- * [WCXRP00000969] [MT6620 Wi-Fi][Driver][FW] Channel list for 5G band based on country code
- * Use new fields ucChannelListMap and ucChannelListIndex in NVRAM
- *
- * 08 31 2011 cm.chang
- * [WCXRP00000969] [MT6620 Wi-Fi][Driver][FW] Channel list for 5G band based on country code
- * .
- *
- * 08 25 2011 chinghwa.yu
- * [WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
- * Add DFS switch.
- *
- * 08 24 2011 chinghwa.yu
- * [WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
- * Update RDD test mode cases.
- *
- * 08 15 2011 cp.wu
- * [WCXRP00000913] [MT6620 Wi-Fi] create repository of source code dedicated for MT6620 E6 ASIC
- * support to load different firmware image for E3/E4/E5 and E6 ASIC on win32 platforms.
- *
- * 08 02 2011 yuche.tsai
- * [WCXRP00000896] [Volunteer Patch][WiFi Direct][Driver] GO with multiple client,
- * TX deauth to a disconnecting device issue.
- * Fix GO send deauth frame issue.
- *
- * 07 22 2011 jeffrey.chang
- * [WCXRP00000864] [MT5931] Add command to adjust OSC stable time
- * modify driver to set OSC stable time after f/w download
- *
- * 07 18 2011 chinghwa.yu
- * [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
- * Add CMD/Event for RDD and BWCS.
- *
- * 05 27 2011 cp.wu
- * [WCXRP00000749] [MT6620 Wi-Fi][Driver] Add band edge tx power control to Wi-Fi NVRAM
- * invoke CMD_ID_SET_EDGE_TXPWR_LIMIT when there is valid data exist in NVRAM content.
- *
- * 05 11 2011 cp.wu
- * [WCXRP00000718] [MT6620 Wi-Fi] modify the behavior of setting tx power
- * ACPI APIs migrate to wlan_lib.c for glue layer to invoke.
- *
- * 04 18 2011 cp.wu
- * [WCXRP00000636] [WHQL][MT5931 Driver] 2c_PMHibernate (hang on 2h)
- * 1) add API for glue layer to query ACPI state
- * 2) Windows glue should not access to hardware after switched into D3 state
- *
- * 03 10 2011 cp.wu
- * [WCXRP00000532] [MT6620 Wi-Fi][Driver] Migrate NVRAM configuration procedures from MT6620 E2 to MT6620 E3
- * deprecate configuration used by MT6620 E2
- *
- * 01 27 2011 tsaiyuan.hsu
- * [WCXRP00000392] [MT6620 Wi-Fi][Driver] Add Roaming Support
- * add roaming fsm
- * 1. not support 11r, only use strength of signal to determine roaming.
- * 2. not enable CFG_SUPPORT_ROAMING until completion of full test.
- * 3. in 6620, adopt work-around to avoid sign extension problem of cck of hw
- * 4. assume that change of link quality in smooth way.
- *
- * 01 27 2011 george.huang
- * [WCXRP00000355] [MT6620 Wi-Fi] Set WMM-PS related setting with qualifying AP capability
- * Support current measure mode, assigned by registry (XP only).
- *
- * 01 24 2011 cp.wu
- * [WCXRP00000382] [MT6620 Wi-Fi][Driver] Track forwarding packet number with notifying tx thread for serving
- * 1. add an extra counter for tracking pending forward frames.
- * 2. notify TX service thread as well when there is pending forward frame
- * 3. correct build errors leaded by introduction of Wi-Fi direct separation module
- *
- * 01 10 2011 cp.wu
- * [WCXRP00000351] [MT6620 Wi-Fi][Driver] remove from scanning result
- * in OID handling layer when the corresponding BSS is disconnected due to beacon timeout
- * remove from scanning result when the BSS is disconnected due to beacon timeout.
- *
- * 10 27 2010 george.huang
- * [WCXRP00000127] [MT6620 Wi-Fi][Driver] Add a registry to
- * disable Beacon Timeout function for SQA test by using E1 EVB
- * Support registry option for disable beacon lost detection.
- *
- * 10 26 2010 cp.wu
- * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
- * [WCXRP00000137] [MT6620 Wi-Fi] [FW] Support NIC capability query command
- * 1) update NVRAM content template to ver 1.02
- * 2) add compile option for querying NIC capability (default: off)
- * 3) modify AIS 5GHz support to run-time option, which could be turned on by registry or NVRAM setting
- * 4) correct auto-rate compiler error under linux (treat warning as error)
- * 5) simplify usage of NVRAM and REG_INFO_T
- * 6) add version checking between driver and firmware
- *
- * 10 26 2010 eddie.chen
- * [WCXRP00000134] [MT6620 Wi-Fi][Driver] Add a registry to enable auto rate for SQA test by using E1 EVB
- * Add auto rate parameter in registry.
- *
- * 10 18 2010 cp.wu
- * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
- * [WCXRP00000086] [MT6620 Wi-Fi][Driver] The mac address is all zero at android
- * complete implementation of Android NVRAM access
- *
- * 10 08 2010 cp.wu
- * [WCXRP00000084] [MT6620 Wi-Fi][Driver][FW] Add fixed rate support for distance test
- * adding fixed rate support for distance test. (from registry setting)
- *
- * 10 06 2010 cp.wu
- * [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
- * divide a single function into 2 part to surpress a weird compiler warning from gcc-4.4.0
- *
- * 10 06 2010 cp.wu
- * [WCXRP00000052] [MT6620 Wi-Fi][Driver] Eliminate Linux Compile Warning
- * code reorganization to improve isolation between GLUE and CORE layers.
- *
- * 10 05 2010 cp.wu
- * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
- * load manufacture data when CFG_SUPPORT_NVRAM is set to 1
- *
- * 09 24 2010 cp.wu
- * [WCXRP00000057] [MT6620 Wi-Fi][Driver] Modify online scan to a run-time switchable feature
- * Modify online scan as a run-time adjustable option (for Windows, in registry)
- *
- * 09 23 2010 cp.wu
- * [WCXRP00000051] [MT6620 Wi-Fi][Driver] WHQL test fail in MAC address changed item
- * use firmware reported mac address right after wlanAdapterStart() as permanent address
- *
- * 09 23 2010 cp.wu
- * [WCXRP00000056] [MT6620 Wi-Fi][Driver] NVRAM implementation with Version Check
- * add skeleton for NVRAM integration
- *
- * 08 26 2010 yuche.tsai
- * NULL
- * Add AT GO test configure mode under WinXP.
- * Please enable 1. CFG_ENABLE_WIFI_DIRECT, 2. CFG_TEST_WIFI_DIRECT_GO, 3. CFG_SUPPORT_AAA
- *
- * 08 25 2010 george.huang
- * NULL
- * .
- *
- * 07 21 2010 cp.wu
- *
- * 1) change BG_SCAN to ONLINE_SCAN for consistent term
- * 2) only clear scanning result when scan is permitted to do
- *
- * 07 13 2010 cp.wu
- *
- * 1) MMPDUs are now sent to MT6620 by CMD queue for keeping strict order of 1X/MMPDU/CMD packets
- * 2) integrate with qmGetFrameAction() for deciding which MMPDU/1X could pass checking for sending
- * 2) enhance CMD_INFO_T descriptor number from 10 to 32 to avoid
- * descriptor underflow under concurrent network operation
- *
- * 07 08 2010 cp.wu
- *
- * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
- *
- * 06 24 2010 cp.wu
- * [WPD00003833][MT6620 and MT5931] Driver migration
- * 802.1x and bluetooth-over-Wi-Fi security frames are now delievered to firmware via command path instead of data path.
- *
- * 06 21 2010 cp.wu
- * [WPD00003833][MT6620 and MT5931] Driver migration
- * change MAC address updating logic.
- *
- * 06 21 2010 cp.wu
- * [WPD00003833][MT6620 and MT5931] Driver migration
- * simplify timer usage.
- *
- * 06 11 2010 cp.wu
- * [WPD00003833][MT6620 and MT5931] Driver migration
- * 1) migrate assoc.c.
- * 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
- * 3) add configuration options for CNM_MEM and RSN modules
- * 4) add data path for management frames
- * 5) eliminate rPacketInfo of MSDU_INFO_T
- *
- * 06 08 2010 cp.wu
- * [WPD00003833][MT6620 and MT5931] Driver migration
- * cnm_timer has been migrated.
- *
- * 06 06 2010 kevin.huang
- * [WPD00003832][MT6620 5931] Create driver base
- * [MT6620 5931] Create driver base
- *
- * 05 20 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * 1) integrate OID_GEN_NETWORK_LAYER_ADDRESSES with CMD_ID_SET_IP_ADDRESS
- * 2) buffer statistics data for 2 seconds
- * 3) use default value for adhoc parameters instead of 0
- *
- * 05 12 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * add extra 64 adjustable parameters for CoEX scenario.
- *
- * 04 06 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * code refine: fgTestMode should be at adapter rather than glue due to the device/fw is also involved
- *
- * 04 06 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * 1) for some OID, never do timeout expiration
- * * 2) add 2 kal API for later integration
- *
- * 04 01 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * change to use WIFI_TCM_ALWAYS_ON as firmware image
- *
- * 03 31 2010 wh.su
- * [WPD00003816][MT6620 Wi-Fi] Adding the security support
- * modify the wapi related code for new driver's design.
- *
- * 03 22 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * always send CMD_NIC_POWER_CTRL packet when nic is being halted
- *
- * 03 12 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * add two option for ACK and ENCRYPTION for firmware download
- *
- * 02 24 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * separate wlanProcesQueuePacket() into 2 APIs upon request
- *
- * 02 23 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * add new API: wlanProcessQueuedPackets()
- *
- * 02 11 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * 1. add logic for firmware download
- * * * 2. firmware image filename and start/load address are now retrieved from registry
- *
- * 02 10 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * 1) remove unused function in nic_rx.c [which has been handled in que_mgt.c]
- * * * * 2) firmware image length is now retrieved via NdisFileOpen
- * * * * 3) firmware image is not structured by (P_IMG_SEC_HDR_T) anymore
- * * * * 4) nicRxWaitResponse() revised
- * * * * 5) another set of TQ counter default value is added for fw-download state
- * * * * 6) Wi-Fi load address is now retrieved from registry too
- *
- * 02 08 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * prepare for implementing fw download logic
- *
- * 01 27 2010 cp.wu
- * [WPD00001943]Create WiFi test driver framework on WinXP
- * 1. eliminate improper variable in rHifInfo
- * * * * * * * 2. block TX/ordinary OID when RF test mode is engaged
- * * * * * * * 3. wait until firmware finish operation when entering into and leaving from RF test mode
- * * * * * * * 4. correct some HAL implementation
- ** \main\maintrunk.MT6620WiFiDriver_Prj\10 2009-12-10 16:39:55 GMT mtk02752
- ** eliminate unused API
- ** \main\maintrunk.MT6620WiFiDriver_Prj\9 2009-10-13 21:58:41 GMT mtk01084
- ** update for new macro define
- ** \main\maintrunk.MT6620WiFiDriver_Prj\8 2009-05-19 10:43:06 GMT mtk01461
- ** Add wlanReleasePendingOid()
- ** \main\maintrunk.MT6620WiFiDriver_Prj\7 2009-04-13 16:38:44 GMT mtk01084
- ** add WIFI start function
- ** \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-04-08 16:51:14 GMT mtk01084
- ** Update for the image download part
- ** \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-04-01 10:57:38 GMT mtk01461
- ** Add wlanSendLeftClusteredFrames() for SDIO_TX_ENHANCE
- ** \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-03-23 00:31:02 GMT mtk01461
- ** Add declaration of FW Image download reference code
- ** \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-16 09:08:31 GMT mtk01461
- ** Update TX PATH API
- ** \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:12:04 GMT mtk01426
- ** Init for develop
- **
- */
- #ifndef _WLAN_LIB_H
- #define _WLAN_LIB_H
- /*******************************************************************************
- * C O M P I L E R F L A G S
- ********************************************************************************
- */
- /*******************************************************************************
- * E X T E R N A L R E F E R E N C E S
- ********************************************************************************
- */
- #include "CFG_Wifi_File.h"
- #include "rlm_domain.h"
- #include "wlan_typedef.h"
- extern BOOLEAN fgIsResetting;
- /*******************************************************************************
- * C O N S T A N T S
- ********************************************************************************
- */
- #define MAX_NUM_GROUP_ADDR 32 /* max number of group addresses */
- #define TX_CS_TCP_UDP_GEN BIT(1)
- #define TX_CS_IP_GEN BIT(0)
- #define CSUM_OFFLOAD_EN_TX_TCP BIT(0)
- #define CSUM_OFFLOAD_EN_TX_UDP BIT(1)
- #define CSUM_OFFLOAD_EN_TX_IP BIT(2)
- #define CSUM_OFFLOAD_EN_RX_TCP BIT(3)
- #define CSUM_OFFLOAD_EN_RX_UDP BIT(4)
- #define CSUM_OFFLOAD_EN_RX_IPv4 BIT(5)
- #define CSUM_OFFLOAD_EN_RX_IPv6 BIT(6)
- #define CSUM_OFFLOAD_EN_TX_MASK BITS(0, 2)
- #define CSUM_OFFLOAD_EN_ALL BITS(0, 6)
- /* TCP, UDP, IP Checksum */
- #define RX_CS_TYPE_UDP BIT(7)
- #define RX_CS_TYPE_TCP BIT(6)
- #define RX_CS_TYPE_IPv6 BIT(5)
- #define RX_CS_TYPE_IPv4 BIT(4)
- #define RX_CS_STATUS_UDP BIT(3)
- #define RX_CS_STATUS_TCP BIT(2)
- #define RX_CS_STATUS_IP BIT(0)
- #define CSUM_NOT_SUPPORTED 0x0
- #define TXPWR_USE_PDSLOPE 0
- /* NVRAM error code definitions */
- #define NVRAM_ERROR_VERSION_MISMATCH BIT(1)
- #define NVRAM_ERROR_INVALID_TXPWR BIT(2)
- #define NVRAM_ERROR_INVALID_DPD BIT(3)
- #define NVRAM_ERROR_INVALID_MAC_ADDR BIT(4)
- #if CFG_SUPPORT_PWR_LIMIT_COUNTRY
- #define NVRAM_POWER_LIMIT_TABLE_INVALID BIT(5)
- #endif
- #define NUM_TC_RESOURCE_TO_STATISTICS 4
- #define WLAN_CFG_ARGV_MAX 8
- #define WLAN_CFG_ENTRY_NUM_MAX 128
- #define WLAN_CFG_KEY_LEN_MAX 32 /* include \x00 EOL */
- #define WLAN_CFG_VALUE_LEN_MAX 32 /* include \x00 EOL */
- #define WLAN_CFG_FLAG_SKIP_CB BIT(0)
- #define WLAN_CFG_FILE_BUF_SIZE 2048
- #define WLAN_CFG_SET_CHIP_LEN_MAX 10
- #define WLAN_CFG_SET_DEBUG_LEVEL_LEN_MAX 10
- #define WLAN_CFG_SET_SW_CTRL_LEN_MAX 10
- #define WLAN_OID_TIMEOUT_THRESHOLD 2000 /* OID timeout (in ms) */
- #define WLAN_OID_TIMEOUT_THRESHOLD_IN_RESETTING 300 /* OID timeout during chip-resetting (in ms) */
- #define WLAN_OID_NO_ACK_THRESHOLD 3
- #define WLAN_TX_THREAD_TASK_PRIORITY 0 /* If not setting the priority, 0 is the default */
- #define WLAN_TX_THREAD_TASK_NICE (-10) /* If not setting the nice, -10 is the default */
- /*******************************************************************************
- * D A T A T Y P E S
- ********************************************************************************
- */
- typedef WLAN_STATUS(*PFN_OID_HANDLER_FUNC) (IN P_ADAPTER_T prAdapter,
- IN PVOID pvBuf, IN UINT_32 u4BufLen, OUT PUINT_32 pu4OutInfoLen);
- typedef enum _ENUM_CSUM_TYPE_T {
- CSUM_TYPE_IPV4,
- CSUM_TYPE_IPV6,
- CSUM_TYPE_TCP,
- CSUM_TYPE_UDP,
- CSUM_TYPE_NUM
- } ENUM_CSUM_TYPE_T, *P_ENUM_CSUM_TYPE_T;
- typedef enum _ENUM_CSUM_RESULT_T {
- CSUM_RES_NONE,
- CSUM_RES_SUCCESS,
- CSUM_RES_FAILED,
- CSUM_RES_NUM
- } ENUM_CSUM_RESULT_T, *P_ENUM_CSUM_RESULT_T;
- typedef enum _ENUM_PHY_MODE_T {
- ENUM_PHY_2G4_CCK,
- ENUM_PHY_2G4_OFDM_BPSK,
- ENUM_PHY_2G4_OFDM_QPSK,
- ENUM_PHY_2G4_OFDM_16QAM,
- ENUM_PHY_2G4_OFDM_48M,
- ENUM_PHY_2G4_OFDM_54M,
- ENUM_PHY_2G4_HT20_BPSK,
- ENUM_PHY_2G4_HT20_QPSK,
- ENUM_PHY_2G4_HT20_16QAM,
- ENUM_PHY_2G4_HT20_MCS5,
- ENUM_PHY_2G4_HT20_MCS6,
- ENUM_PHY_2G4_HT20_MCS7,
- ENUM_PHY_2G4_HT40_BPSK,
- ENUM_PHY_2G4_HT40_QPSK,
- ENUM_PHY_2G4_HT40_16QAM,
- ENUM_PHY_2G4_HT40_MCS5,
- ENUM_PHY_2G4_HT40_MCS6,
- ENUM_PHY_2G4_HT40_MCS7,
- ENUM_PHY_5G_OFDM_BPSK,
- ENUM_PHY_5G_OFDM_QPSK,
- ENUM_PHY_5G_OFDM_16QAM,
- ENUM_PHY_5G_OFDM_48M,
- ENUM_PHY_5G_OFDM_54M,
- ENUM_PHY_5G_HT20_BPSK,
- ENUM_PHY_5G_HT20_QPSK,
- ENUM_PHY_5G_HT20_16QAM,
- ENUM_PHY_5G_HT20_MCS5,
- ENUM_PHY_5G_HT20_MCS6,
- ENUM_PHY_5G_HT20_MCS7,
- ENUM_PHY_5G_HT40_BPSK,
- ENUM_PHY_5G_HT40_QPSK,
- ENUM_PHY_5G_HT40_16QAM,
- ENUM_PHY_5G_HT40_MCS5,
- ENUM_PHY_5G_HT40_MCS6,
- ENUM_PHY_5G_HT40_MCS7,
- ENUM_PHY_MODE_NUM
- } ENUM_PHY_MODE_T, *P_ENUM_PHY_MODE_T;
- typedef enum _ENUM_POWER_SAVE_POLL_MODE_T {
- ENUM_POWER_SAVE_POLL_DISABLE,
- ENUM_POWER_SAVE_POLL_LEGACY_NULL,
- ENUM_POWER_SAVE_POLL_QOS_NULL,
- ENUM_POWER_SAVE_POLL_NUM
- } ENUM_POWER_SAVE_POLL_MODE_T, *P_ENUM_POWER_SAVE_POLL_MODE_T;
- typedef enum _ENUM_AC_TYPE_T {
- ENUM_AC_TYPE_AC0,
- ENUM_AC_TYPE_AC1,
- ENUM_AC_TYPE_AC2,
- ENUM_AC_TYPE_AC3,
- ENUM_AC_TYPE_AC4,
- ENUM_AC_TYPE_AC5,
- ENUM_AC_TYPE_AC6,
- ENUM_AC_TYPE_BMC,
- ENUM_AC_TYPE_NUM
- } ENUM_AC_TYPE_T, *P_ENUM_AC_TYPE_T;
- typedef enum _ENUM_ADV_AC_TYPE_T {
- ENUM_ADV_AC_TYPE_RX_NSW,
- ENUM_ADV_AC_TYPE_RX_PTA,
- ENUM_ADV_AC_TYPE_RX_SP,
- ENUM_ADV_AC_TYPE_TX_PTA,
- ENUM_ADV_AC_TYPE_TX_RSP,
- ENUM_ADV_AC_TYPE_NUM
- } ENUM_ADV_AC_TYPE_T, *P_ENUM_ADV_AC_TYPE_T;
- typedef enum _ENUM_REG_CH_MAP_T {
- REG_CH_MAP_COUNTRY_CODE,
- REG_CH_MAP_TBL_IDX,
- REG_CH_MAP_CUSTOMIZED,
- REG_CH_MAP_NUM
- } ENUM_REG_CH_MAP_T, *P_ENUM_REG_CH_MAP_T;
- #define CHIP_CONFIG_RESP_SIZE 320
- enum {
- CHIP_CONFIG_TYPE_WO_RESPONSE = 0x00,
- CHIP_CONFIG_TYPE_MEM8 = 0x01,
- CHIP_CONFIG_TYPE_MEM32 = 0x02,
- CHIP_CONFIG_TYPE_ASCII = 0x03,
- CHIP_CONFIG_TYPE_BINARY = 0x04,
- CHIP_CONFIG_TYPE_DRV_PASSTHROUGH = 0x05,
- CHIP_CONFIG_TYPE_END
- };
- typedef struct _SET_TXPWR_CTRL_T {
- INT_8 c2GLegacyStaPwrOffset; /* Unit: 0.5dBm, default: 0 */
- INT_8 c2GHotspotPwrOffset;
- INT_8 c2GP2pPwrOffset;
- INT_8 c2GBowPwrOffset;
- INT_8 c5GLegacyStaPwrOffset; /* Unit: 0.5dBm, default: 0 */
- INT_8 c5GHotspotPwrOffset;
- INT_8 c5GP2pPwrOffset;
- INT_8 c5GBowPwrOffset;
- UINT_8 ucConcurrencePolicy; /* TX power policy when concurrence
- in the same channel
- 0: Highest power has priority
- 1: Lowest power has priority */
- INT_8 acReserved1[3]; /* Must be zero */
- /* Power limit by channel for all data rates */
- INT_8 acTxPwrLimit2G[14]; /* Channel 1~14, Unit: 0.5dBm */
- INT_8 acTxPwrLimit5G[4]; /* UNII 1~4 */
- INT_8 acReserved2[2]; /* Must be zero */
- } SET_TXPWR_CTRL_T, *P_SET_TXPWR_CTRL_T;
- /* For storing driver initialization value from glue layer */
- typedef struct _REG_INFO_T {
- UINT_32 u4SdBlockSize; /* SDIO block size */
- UINT_32 u4SdBusWidth; /* SDIO bus width. 1 or 4 */
- UINT_32 u4SdClockRate; /* SDIO clock rate. (in unit of HZ) */
- UINT_32 u4StartAddress; /* Starting address of Wi-Fi Firmware */
- UINT_32 u4LoadAddress; /* Load address of Wi-Fi Firmware */
- UINT_16 aucFwImgFilename[65]; /* Firmware filename */
- UINT_16 aucFwImgFilenameE6[65]; /* Firmware filename for E6 */
- UINT_32 u4StartFreq; /* Start Frequency for Ad-Hoc network : in unit of KHz */
- UINT_32 u4AdhocMode; /* Default mode for Ad-Hoc network : ENUM_PARAM_AD_HOC_MODE_T */
- UINT_32 u4RddStartFreq;
- UINT_32 u4RddStopFreq;
- UINT_32 u4RddTestMode;
- UINT_32 u4RddShutFreq;
- UINT_32 u4RddDfs;
- INT_32 i4HighRssiThreshold;
- INT_32 i4MediumRssiThreshold;
- INT_32 i4LowRssiThreshold;
- INT_32 au4TxPriorityTag[ENUM_AC_TYPE_NUM];
- INT_32 au4RxPriorityTag[ENUM_AC_TYPE_NUM];
- INT_32 au4AdvPriorityTag[ENUM_ADV_AC_TYPE_NUM];
- UINT_32 u4FastPSPoll;
- UINT_32 u4PTA; /* 0: disable, 1: enable */
- UINT_32 u4TXLimit; /* 0: disable, 1: enable */
- UINT_32 u4SilenceWindow; /* range: 100 - 625, unit: us */
- UINT_32 u4TXLimitThreshold; /* range: 250 - 1250, unit: us */
- UINT_32 u4PowerMode;
- UINT_32 fgEnArpFilter;
- UINT_32 u4PsCurrentMeasureEn;
- UINT_32 u4UapsdAcBmp;
- UINT_32 u4MaxSpLen;
- UINT_32 fgDisOnlineScan; /* 0: enable online scan, non-zero: disable online scan */
- UINT_32 fgDisBcnLostDetection; /* 0: enable online scan, non-zero: disable online scan */
- UINT_32 u4FixedRate; /* 0: automatic, non-zero: fixed rate */
- UINT_32 u4ArSysParam0;
- UINT_32 u4ArSysParam1;
- UINT_32 u4ArSysParam2;
- UINT_32 u4ArSysParam3;
- UINT_32 fgDisRoaming; /* 0:enable roaming 1:disable */
- /* NVRAM - MP Data -START- */
- UINT_8 aucMacAddr[6];
- UINT_16 au2CountryCode[4]; /* Country code (in ISO 3166-1 expression, ex: "US", "TW") */
- TX_PWR_PARAM_T rTxPwr;
- UINT_8 aucEFUSE[144];
- UINT_8 ucTxPwrValid;
- UINT_8 ucSupport5GBand;
- UINT_8 fg2G4BandEdgePwrUsed;
- INT_8 cBandEdgeMaxPwrCCK;
- INT_8 cBandEdgeMaxPwrOFDM20;
- INT_8 cBandEdgeMaxPwrOFDM40;
- ENUM_REG_CH_MAP_T eRegChannelListMap;
- UINT_8 ucRegChannelListIndex;
- DOMAIN_INFO_ENTRY rDomainInfo;
- /* NVRAM - MP Data -END- */
- /* NVRAM - Functional Data -START- */
- UINT_8 uc2G4BwFixed20M;
- UINT_8 uc5GBwFixed20M;
- UINT_8 ucEnable5GBand;
- UINT_8 uc2GRssiCompensation;
- UINT_8 uc5GRssiCompensation;
- UINT_8 fgRssiCompensationValidbit;
- UINT_8 ucRxAntennanumber;
- /* NVRAM - Functional Data -END- */
- } REG_INFO_T, *P_REG_INFO_T;
- /* for divided firmware loading */
- typedef struct _FWDL_SECTION_INFO_T {
- UINT_32 u4Offset;
- UINT_32 u4Reserved;
- UINT_32 u4Length;
- UINT_32 u4DestAddr;
- } FWDL_SECTION_INFO_T, *P_FWDL_SECTION_INFO_T;
- typedef struct _FIRMWARE_DIVIDED_DOWNLOAD_T {
- UINT_32 u4Signature;
- UINT_32 u4CRC; /* CRC calculated without first 8 bytes included */
- UINT_32 u4NumOfEntries;
- UINT_32 u4Reserved;
- FWDL_SECTION_INFO_T arSection[];
- } FIRMWARE_DIVIDED_DOWNLOAD_T, *P_FIRMWARE_DIVIDED_DOWNLOAD_T;
- typedef struct _PARAM_MCR_RW_STRUCT_T {
- UINT_32 u4McrOffset;
- UINT_32 u4McrData;
- } PARAM_MCR_RW_STRUCT_T, *P_PARAM_MCR_RW_STRUCT_T;
- typedef struct _PARAM_GET_STA_STATISTICS {
- /* Per-STA statistic */
- UINT_8 aucMacAddr[MAC_ADDR_LEN];
- UINT_32 u4Flag;
- /* From driver */
- UINT_32 u4TxTotalCount;
- UINT_32 u4TxExceedThresholdCount;
- UINT_32 u4TxMaxTime;
- UINT_32 u4TxAverageProcessTime;
- UINT_32 au4TcResourceEmptyCount[NUM_TC_RESOURCE_TO_STATISTICS];
- UINT_32 au4TcQueLen[NUM_TC_RESOURCE_TO_STATISTICS];
- /* From FW */
- UINT_8 ucPer; /* base: 128 */
- UINT_8 ucRcpi;
- UINT_32 u4PhyMode;
- UINT_16 u2LinkSpeed; /* unit is 0.5 Mbits */
- UINT_32 u4TxFailCount;
- UINT_32 u4TxLifeTimeoutCount;
- UINT_32 u4TxAverageAirTime;
- /* Global queue management statistic */
- UINT_32 au4TcAverageQueLen[NUM_TC_RESOURCE_TO_STATISTICS];
- UINT_32 au4TcCurrentQueLen[NUM_TC_RESOURCE_TO_STATISTICS];
- /* Reserved fields */
- UINT_8 au4Reserved[32];
- } PARAM_GET_STA_STA_STATISTICS, *P_PARAM_GET_STA_STATISTICS;
- typedef enum _ENUM_BAND_EDGE_CERT_T {
- BAND_EDGE_CERT_FCC = 0,
- BAND_EDGE_CERT_KCC = 1,
- BAND_EDGE_CERT_NUM = 2
- } ENUM_BAND_EDGE_CERT_T, *P_ENUM_BAND_EDGE_CERT_T;
- #if CFG_AUTO_CHANNEL_SEL_SUPPORT
- typedef enum _ENUM_TESTMODE_AVAILABLE_CHAN_ATTR {
- NL80211_TESTMODE_AVAILABLE_CHAN_INVALID = 0,
- NL80211_TESTMODE_AVAILABLE_CHAN_2G_BASE_1,
- NL80211_TESTMODE_AVAILABLE_CHAN_5G_BASE_34,
- NL80211_TESTMODE_AVAILABLE_CHAN_5G_BASE_149,
- NL80211_TESTMODE_AVAILABLE_CHAN_5G_BASE_184,
- NL80211_TESTMODE_AVAILABLE_CHAN_NUM,
- } ENUM_TESTMODE_AVAILABLE_CHAN_ATTR;
- typedef struct _LTE_SAFE_CH_INFO_T {
- UINT_32 au4SafeChannelBitmask[NL80211_TESTMODE_AVAILABLE_CHAN_NUM - 1];
- } LTE_SAFE_CH_INFO_T, *P_CMD_LTE_SAFE_CH_INFO_T;
- /* Record Each CH Load */
- typedef struct _PARAM_CHN_LOAD_INFO {
- /* Per-CHN Load */
- UINT_32 u4Flag;
- UINT_8 ucChannel;
- UINT_16 u2ChannelLoad;
- UINT_8 au4Reserved[1];
- UINT_16 u2APNum;
- UINT_16 u2APNumTmpCountingBuf;
- /* Reserved fields */
- UINT_8 au4Reserved1[8];
- } PARAM_CHN_LOAD_INFO, *P_PARAM_CHN_LOAD_INFO;
- typedef struct _PARAM_GET_CHN_LOAD {
- LTE_SAFE_CH_INFO_T rLteSafeChnList;
- PARAM_CHN_LOAD_INFO rEachChnLoad[MAX_AUTO_CHAL_NUM];
- BOOLEAN fgDataReadyBit;
- UINT_8 au4Reserved1[3];
- } PARAM_GET_CHN_LOAD, *P_PARAM_GET_CHN_LOAD;
- typedef struct _PARAM_PREFER_CHN_INFO {
- UINT_8 ucChannel;
- UINT_16 u2APNum;
- UINT_8 au4Reserved1[1];
- } PARAM_PREFER_CHN_INFO, *P_PARAM_PREFER_CHN_INFO;
- typedef struct _PARAM_GET_LTE_MODE {
- /* Event Body */
- UINT_8 ucVersion;
- UINT_8 aucReserved1[3];
- UINT_32 u4Flags; /* Bit0: valid */
- LTE_SAFE_CH_INFO_T LTE_MODE;
- UINT_8 aucReserved4[3];
- UINT_8 aucReserved[4];
- } PARAM_GET_LTE_MODE, *P_PARAM_GET_LTE_MODE;
- #endif
- /*******************************************************************************
- * P U B L I C D A T A
- ********************************************************************************
- */
- /*******************************************************************************
- * P R I V A T E D A T A
- ********************************************************************************
- */
- /*******************************************************************************
- * M A C R O S
- ********************************************************************************
- */
- #define BUILD_SIGN(ch0, ch1, ch2, ch3) \
- ((UINT_32)(UINT_8)(ch0) | ((UINT_32)(UINT_8)(ch1) << 8) | \
- ((UINT_32)(UINT_8)(ch2) << 16) | ((UINT_32)(UINT_8)(ch3) << 24))
- #define MTK_WIFI_SIGNATURE BUILD_SIGN('M', 'T', 'K', 'W')
- /*******************************************************************************
- * F U N C T I O N D E C L A R A T I O N S
- ********************************************************************************
- */
- P_ADAPTER_T wlanAdapterCreate(IN P_GLUE_INFO_T prGlueInfo);
- VOID wlanAdapterDestroy(IN P_ADAPTER_T prAdapter);
- VOID wlanCardEjected(IN P_ADAPTER_T prAdapter);
- VOID wlanIST(IN P_ADAPTER_T prAdapter);
- BOOLEAN wlanISR(IN P_ADAPTER_T prAdapter, IN BOOLEAN fgGlobalIntrCtrl);
- WLAN_STATUS wlanProcessCommandQueue(IN P_ADAPTER_T prAdapter, IN P_QUE_T prCmdQue);
- WLAN_STATUS wlanSendCommand(IN P_ADAPTER_T prAdapter, IN P_CMD_INFO_T prCmdInfo);
- VOID wlanReleaseCommand(IN P_ADAPTER_T prAdapter, IN P_CMD_INFO_T prCmdInfo);
- VOID wlanReleasePendingOid(IN P_ADAPTER_T prAdapter, IN ULONG ulData);
- VOID wlanReleasePendingCMDbyNetwork(IN P_ADAPTER_T prAdapter, IN ENUM_NETWORK_TYPE_INDEX_T eNetworkType);
- VOID wlanReturnPacket(IN P_ADAPTER_T prAdapter, IN PVOID pvPacket);
- VOID wlanReturnIndicatedPacketsTimeOut(IN P_ADAPTER_T prAdapter, IN ULONG ulData);
- WLAN_STATUS
- wlanQueryInformation(IN P_ADAPTER_T prAdapter,
- IN PFN_OID_HANDLER_FUNC pfOidQryHandler,
- IN PVOID pvInfoBuf, IN UINT_32 u4InfoBufLen, OUT PUINT_32 pu4QryInfoLen);
- WLAN_STATUS
- wlanSetInformation(IN P_ADAPTER_T prAdapter,
- IN PFN_OID_HANDLER_FUNC pfOidSetHandler,
- IN PVOID pvInfoBuf, IN UINT_32 u4InfoBufLen, OUT PUINT_32 pu4SetInfoLen);
- WLAN_STATUS
- wlanAdapterStart(IN P_ADAPTER_T prAdapter,
- IN P_REG_INFO_T prRegInfo, IN PVOID pvFwImageMapFile, IN UINT_32 u4FwImageFileLength);
- WLAN_STATUS wlanAdapterStop(IN P_ADAPTER_T prAdapter);
- #if CFG_SUPPORT_WAPI
- BOOLEAN wlanQueryWapiMode(IN P_ADAPTER_T prAdapter);
- #endif
- VOID wlanReturnRxPacket(IN PVOID pvAdapter, IN PVOID pvPacket);
- VOID wlanRxSetBroadcast(IN P_ADAPTER_T prAdapter, IN BOOLEAN fgEnableBroadcast);
- BOOLEAN wlanIsHandlerNeedHwAccess(IN PFN_OID_HANDLER_FUNC pfnOidHandler, IN BOOLEAN fgSetInfo);
- VOID wlanSetPromiscuousMode(IN P_ADAPTER_T prAdapter, IN BOOLEAN fgEnablePromiscuousMode);
- #if CFG_ENABLE_FW_DOWNLOAD
- #if CFG_ENABLE_FW_DOWNLOAD_AGGREGATION
- WLAN_STATUS
- wlanImageSectionDownloadAggregated(IN P_ADAPTER_T prAdapter,
- IN UINT_32 u4DestAddr, IN UINT_32 u4ImgSecSize, IN PUINT_8 pucImgSecBuf);
- #endif
- WLAN_STATUS
- wlanImageSectionDownload(IN P_ADAPTER_T prAdapter,
- IN UINT_32 u4DestAddr, IN UINT_32 u4ImgSecSize, IN PUINT_8 pucImgSecBuf);
- #if !CFG_ENABLE_FW_DOWNLOAD_ACK
- WLAN_STATUS wlanImageQueryStatus(IN P_ADAPTER_T prAdapter);
- #else
- WLAN_STATUS wlanImageSectionDownloadStatus(IN P_ADAPTER_T prAdapter, IN UINT_8 ucCmdSeqNum);
- #endif
- WLAN_STATUS wlanConfigWifiFunc(IN P_ADAPTER_T prAdapter, IN BOOLEAN fgEnable, IN UINT_32 u4StartAddress);
- UINT_32 wlanCRC32(PUINT_8 buf, UINT_32 len);
- #endif
- WLAN_STATUS wlanSendNicPowerCtrlCmd(IN P_ADAPTER_T prAdapter, IN UINT_8 ucPowerMode);
- BOOLEAN wlanIsHandlerAllowedInRFTest(IN PFN_OID_HANDLER_FUNC pfnOidHandler, IN BOOLEAN fgSetInfo);
- WLAN_STATUS wlanProcessQueuedSwRfb(IN P_ADAPTER_T prAdapter, IN P_SW_RFB_T prSwRfbListHead);
- WLAN_STATUS wlanProcessQueuedMsduInfo(IN P_ADAPTER_T prAdapter, IN P_MSDU_INFO_T prMsduInfoListHead);
- BOOLEAN wlanoidTimeoutCheck(IN P_ADAPTER_T prAdapter, IN PFN_OID_HANDLER_FUNC pfnOidHandler);
- VOID wlanoidClearTimeoutCheck(IN P_ADAPTER_T prAdapter);
- WLAN_STATUS wlanUpdateNetworkAddress(IN P_ADAPTER_T prAdapter);
- BOOLEAN wlanQueryTestMode(IN P_ADAPTER_T prAdapter);
- /* Security Frame Handling */
- BOOLEAN wlanProcessSecurityFrame(IN P_ADAPTER_T prAdapter, IN P_NATIVE_PACKET prPacket);
- VOID wlanSecurityFrameTxDone(IN P_ADAPTER_T prAdapter, IN P_CMD_INFO_T prCmdInfo, IN PUINT_8 pucEventBuf);
- VOID wlanSecurityFrameTxTimeout(IN P_ADAPTER_T prAdapter, IN P_CMD_INFO_T prCmdInfo);
- /*----------------------------------------------------------------------------*/
- /* OID/IOCTL Handling */
- /*----------------------------------------------------------------------------*/
- VOID wlanClearScanningResult(IN P_ADAPTER_T prAdapter);
- VOID wlanClearBssInScanningResult(IN P_ADAPTER_T prAdapter, IN PUINT_8 arBSSID);
- #if CFG_TEST_WIFI_DIRECT_GO
- VOID wlanEnableP2pFunction(IN P_ADAPTER_T prAdapter);
- VOID wlanEnableATGO(IN P_ADAPTER_T prAdapter);
- #endif
- /*----------------------------------------------------------------------------*/
- /* Address Retrieve by Polling */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanQueryPermanentAddress(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* NIC Capability Retrieve by Polling */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanQueryNicCapability(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* NIC Capability Retrieve by Polling */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanQueryDebugCode(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* Compiler Flags Retrieve by Polling */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanQueryCompileFlags(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* PD MCR Retrieve by Polling */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanQueryPdMcr(IN P_ADAPTER_T prAdapter, IN P_PARAM_MCR_RW_STRUCT_T prMcrRdInfo);
- /*----------------------------------------------------------------------------*/
- /* Loading Manufacture Data */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanLoadManufactureData(IN P_ADAPTER_T prAdapter, IN P_REG_INFO_T prRegInfo);
- /*----------------------------------------------------------------------------*/
- /* Media Stream Mode */
- /*----------------------------------------------------------------------------*/
- BOOLEAN wlanResetMediaStreamMode(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* Timer Timeout Check (for Glue Layer) */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanTimerTimeoutCheck(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* Mailbox Message Check (for Glue Layer) */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanProcessMboxMessage(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* TX Pending Packets Handling (for Glue Layer) */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanEnqueueTxPacket(IN P_ADAPTER_T prAdapter, IN P_NATIVE_PACKET prNativePacket);
- WLAN_STATUS wlanFlushTxPendingPackets(IN P_ADAPTER_T prAdapter);
- WLAN_STATUS wlanTxPendingPackets(IN P_ADAPTER_T prAdapter, IN OUT PBOOLEAN pfgHwAccess);
- /*----------------------------------------------------------------------------*/
- /* Low Power Acquire/Release (for Glue Layer) */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanAcquirePowerControl(IN P_ADAPTER_T prAdapter);
- WLAN_STATUS wlanReleasePowerControl(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* Pending Packets Number Reporting (for Glue Layer) */
- /*----------------------------------------------------------------------------*/
- UINT_32 wlanGetTxPendingFrameCount(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* ACPI state inquiry (for Glue Layer) */
- /*----------------------------------------------------------------------------*/
- ENUM_ACPI_STATE_T wlanGetAcpiState(IN P_ADAPTER_T prAdapter);
- VOID wlanSetAcpiState(IN P_ADAPTER_T prAdapter, IN ENUM_ACPI_STATE_T ePowerState);
- VOID wlanDefTxPowerCfg(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* get ECO version from Revision ID register (for Win32) */
- /*----------------------------------------------------------------------------*/
- UINT_8 wlanGetEcoVersion(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* set preferred band configuration corresponding to network type */
- /*----------------------------------------------------------------------------*/
- VOID
- wlanSetPreferBandByNetwork(IN P_ADAPTER_T prAdapter, IN ENUM_BAND_T eBand, IN ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex);
- /*----------------------------------------------------------------------------*/
- /* get currently operating channel information */
- /*----------------------------------------------------------------------------*/
- UINT_8 wlanGetChannelNumberByNetwork(IN P_ADAPTER_T prAdapter, IN ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex);
- /*----------------------------------------------------------------------------*/
- /* get BSS Descriptor information */
- /*----------------------------------------------------------------------------*/
- P_BSS_DESC_T wlanGetTargetBssDescByNetwork(IN P_ADAPTER_T prAdapter, IN ENUM_NETWORK_TYPE_INDEX_T eNetTypeIndex);
- /*----------------------------------------------------------------------------*/
- /* check for system configuration to generate message on scan list */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS wlanCheckSystemConfiguration(IN P_ADAPTER_T prAdapter);
- /*----------------------------------------------------------------------------*/
- /* query sta statistics information from driver and firmware */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS
- wlanoidQueryStaStatistics(IN P_ADAPTER_T prAdapter,
- IN PVOID pvQueryBuffer, IN UINT_32 u4QueryBufferLen, OUT PUINT_32 pu4QueryInfoLen);
- WLAN_STATUS wlanCfgParseArgument(CHAR *cmdLine, INT_32 *argc, CHAR *argv[]);
- P_WLAN_CFG_ENTRY_T wlanCfgGetEntry(IN P_ADAPTER_T prAdapter, const PCHAR pucKey);
- WLAN_STATUS
- wlanCfgGet(IN P_ADAPTER_T prAdapter, const PCHAR pucKey, PCHAR pucValue, PCHAR pucValueDef, UINT_32 u4Flags);
- UINT_32 wlanCfgGetUint32(IN P_ADAPTER_T prAdapter, const PCHAR pucKey, UINT_32 u4ValueDef);
- INT_32 wlanCfgGetInt32(IN P_ADAPTER_T prAdapter, const PCHAR pucKey, INT_32 i4ValueDef);
- WLAN_STATUS wlanCfgSetUint32(IN P_ADAPTER_T prAdapter, const PCHAR pucKey, UINT_32 u4Value);
- WLAN_STATUS wlanCfgSet(IN P_ADAPTER_T prAdapter, const PCHAR pucKey, PCHAR pucValue, UINT_32 u4Flags);
- WLAN_STATUS
- wlanCfgSetCb(IN P_ADAPTER_T prAdapter, const PCHAR pucKey, WLAN_CFG_SET_CB pfSetCb, void *pPrivate, UINT_32 u4Flags);
- #if CFG_SUPPORT_CFG_FILE
- WLAN_STATUS wlanCfgInit(IN P_ADAPTER_T prAdapter, PUINT_8 pucConfigBuf, UINT_32 u4ConfigBufLen, UINT_32 u4Flags);
- VOID wlanCfgApply(IN P_ADAPTER_T prAdapter);
- #endif /* CFG_SUPPORT_CFG_FILE */
- #endif /* _WLAN_LIB_H */
|