mirror of
https://github.com/drasko/open-ameba.git
synced 2024-11-23 06:24:17 +00:00
eeb7f808ae
Signed-off-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
3437 lines
80 KiB
C
3437 lines
80 KiB
C
/*
|
|
wifi_lib.h
|
|
RTL871x pvvx
|
|
*/
|
|
#ifndef _WLAN_LIB_H
|
|
#define _WLAN_LIB_H
|
|
|
|
#include "osdep_service.h"
|
|
#include "freertos/wrapper.h"
|
|
#include "rtl_bios_data.h"
|
|
|
|
#define _atr_aligned2_ __attribute__((aligned(2)))
|
|
#define _atr_aligned4_ __attribute__((aligned(4)))
|
|
#define _atr_aligned8_ __attribute__((aligned(4)))
|
|
|
|
#define sint8_t char
|
|
#define sint16_t short
|
|
#define sint32_t int
|
|
//#define sint64_t long long // warning align(8)!
|
|
/*
|
|
struct _ADAPTER;
|
|
struct dvobj_priv;
|
|
union recv_frame;
|
|
struct sk_buff;
|
|
struct sk_buff_head;
|
|
struct sta_info;
|
|
struct _cus_ie;
|
|
struct fifo_more_data;
|
|
struct hw_xmit;
|
|
struct tx_buf_desc;
|
|
struct recv_buf_stat;
|
|
struct _wpa_sta_info;
|
|
struct xmit_frame;
|
|
struct xmit_buf;
|
|
struct submit_ctx;
|
|
struct net_device;
|
|
struct iwreq;
|
|
struct co_data_priv;
|
|
*/
|
|
//typedef int sint32_t_t;
|
|
//typedef char sint8_t_t;
|
|
//typedef sint8_t_t int8_t;
|
|
//typedef uint32_t __uint32_t;
|
|
//typedef sint32_t_t int32_t;
|
|
//typedef __uint32_t uint32_t;
|
|
//typedef uint32_t dma_addr_t; // basic_types.h
|
|
//typedef uint8_t uint8_t;
|
|
//typedef uint16_t uint16_t;
|
|
//typedef unsigned sint64_t u8Byte;
|
|
typedef int sint;
|
|
typedef uint8_t BOOL;
|
|
typedef uint8_t bool;
|
|
typedef uint8_t BOOLEAN;
|
|
|
|
typedef uint8_t u1Byte;
|
|
typedef uint16_t u2Byte;
|
|
typedef uint32_t u4Byte;
|
|
typedef uint64_t u8Byte;
|
|
typedef uint64_t __attribute__((aligned(4))) _u8Byte;
|
|
typedef sint8_t s1Byte;
|
|
typedef sint16_t s2Byte;
|
|
typedef sint32_t s4Byte;
|
|
typedef sint8_t *ps1Byte;
|
|
typedef uint8_t *pu1Byte;
|
|
typedef uint16_t *pu2Byte;
|
|
typedef uint32_t *pu4Byte;
|
|
|
|
typedef uint32_t sizetype;
|
|
typedef struct _ADAPTER _adapter;
|
|
typedef void *_lock;
|
|
typedef struct list_head _list;
|
|
typedef void *PVOID;
|
|
typedef struct __queue _queue;
|
|
typedef void *_mutex;
|
|
|
|
typedef int (*init_done_ptr)(void);
|
|
|
|
enum _EFUSE_DEF_TYPE // : sint32_t
|
|
{
|
|
TYPE_EFUSE_MAX_SECTION = 0x0,
|
|
TYPE_EFUSE_REAL_CONTENT_LEN = 0x1,
|
|
TYPE_AVAILABLE_EFUSE_BYTES_BANK = 0x2,
|
|
TYPE_AVAILABLE_EFUSE_BYTES_TOTAL = 0x3,
|
|
TYPE_EFUSE_MAP_LEN = 0x4,
|
|
TYPE_EFUSE_PROTECT_BYTES_BANK = 0x5,
|
|
TYPE_EFUSE_CONTENT_LEN_BANK = 0x6,
|
|
};
|
|
|
|
enum _IFACE_TYPE //: sint32_t
|
|
{
|
|
IFACE_PORT0 = 0x0, IFACE_PORT1 = 0x1, MAX_IFACE_PORT = 0x2,
|
|
};
|
|
|
|
enum _FW_ERR0_STATUS_ //: sint32_t
|
|
{
|
|
FES0_H2C_CMDID = 0x1,
|
|
FES0_H2C_PTR = 0x2,
|
|
FES0_BB_RW = 0x4,
|
|
FES0_TXPKT_TXPAUSE = 0x8,
|
|
FES0_TSF_STABLE = 0x10,
|
|
FES0_TXSM_STABLE = 0x20,
|
|
FES0_RPWM_STABLE = 0x40,
|
|
FES0_C2H_TIMEOUT_ERR = 0x80,
|
|
};
|
|
|
|
enum _TRPC_ //: sint32_t
|
|
{
|
|
TPRC_ISSUENULLDATA_1 = 0x26,
|
|
TPRC_ISSUENULLDATA_2 = 0x27,
|
|
TPRC_PSS2TS3 = 0x2B,
|
|
TPRC_PSS0TS1 = 0x2C,
|
|
TPRC_PSS2TS4 = 0x2D,
|
|
TPRC_PSS2TS5 = 0x2E,
|
|
TPRC_PSS0TS6 = 0x2F,
|
|
};
|
|
|
|
enum _PS_MODE_SETTING_SELECTION_ // : sint32_t
|
|
{
|
|
MODE_SETTING_ACTIVE = 0x0,
|
|
MODE_SETTING_LEGACY = 0x1,
|
|
MODE_SETTING_WMMPS = 0x2,
|
|
MODE_SETTING_TDMA = 0x3,
|
|
};
|
|
|
|
enum _RxListenBeaconMode_ // : sint32_t
|
|
{
|
|
RLBM_MIN = 0x0, RLBM_MAX = 0x1, RLBM_SELF_DEFINED = 0x2,
|
|
};
|
|
|
|
enum _SMART_PS_MODE_FOR_LEGACY_ // : sint32_t
|
|
{
|
|
SMART_PS_MODE_LEGACY_PWR1 = 0x0,
|
|
SMART_PS_MODE_TX_PWR0 = 0x1,
|
|
SMART_PS_MODE_TRX_PWR0 = 0x2,
|
|
};
|
|
|
|
enum $BFA04BDFA6C0C275C890D1E658AFCEEF // : sint32_t
|
|
{
|
|
ROM_E_RTW_MSGP_PWR_INDEX_1 = 0x0,
|
|
ROM_E_RTW_MSGP_PWR_INDEX_2 = 0x1,
|
|
ROM_E_RTW_MSGP_RX_INFO_1 = 0x2,
|
|
ROM_E_RTW_MSGP_RX_INFO_2 = 0x3,
|
|
ROM_E_RTW_MSGP_RX_INFO_3 = 0x4,
|
|
ROM_E_RTW_MSGP_RX_INFO_4 = 0x5,
|
|
ROM_E_RTW_MSGP_TX_RATE_1 = 0x6,
|
|
ROM_E_RTW_MSGP_TX_RATE_2 = 0x7,
|
|
ROM_E_RTW_MSGP_DM_RA_1 = 0x8,
|
|
ROM_E_RTW_MSGP_DM_RA_2 = 0x9,
|
|
ROM_E_RTW_MSGP_DM_RA_3 = 0xA,
|
|
ROM_E_RTW_MSGP_DM_RA_4 = 0xB,
|
|
ROM_E_RTW_MSGP_DM_DIG_1 = 0xC,
|
|
ROM_E_RTW_MSGP_PWR_TRACKING_1 = 0xD,
|
|
ROM_E_RTW_MSGP_PWR_TRACKING_2 = 0xE,
|
|
ROM_E_RTW_MSGP_PWR_TRACKING_3 = 0xF,
|
|
ROM_E_RTW_MSGP_PWR_TRACKING_4 = 0x10,
|
|
ROM_E_RTW_MSGP_PWR_TRACKING_5 = 0x11,
|
|
ROM_E_RTW_MSGP_PWR_TRACKING_6 = 0x12,
|
|
ROM_E_RTW_MSGP_PWR_TRACKING_7 = 0x13,
|
|
ROM_E_RTW_MSGP_RF_IQK_1 = 0x14,
|
|
ROM_E_RTW_MSGP_RF_IQK_2 = 0x15,
|
|
ROM_E_RTW_MSGP_RF_IQK_3 = 0x16,
|
|
ROM_E_RTW_MSGP_RF_IQK_4 = 0x17,
|
|
ROM_E_RTW_MSGP_RF_IQK_5 = 0x18,
|
|
ROM_E_RTW_MSGP_DM_ADAPTIVITY_1 = 0x19,
|
|
ROM_E_RTW_MSGP_DM_ADAPTIVITY_2 = 0x1A,
|
|
ROM_E_RTW_MSGP_DM_ADAPTIVITY_3 = 0x1B,
|
|
ROM_E_RTW_MSGP_DM_ANT_DIV_1 = 0x1C,
|
|
ROM_E_RTW_MSGP_DM_ANT_DIV_2 = 0x1D,
|
|
ROM_E_RTW_MSGP_DM_ANT_DIV_3 = 0x1E,
|
|
ROM_E_RTW_MSGP_DM_ANT_DIV_4 = 0x1F,
|
|
ROM_E_RTW_MSGP_DM_ANT_DIV_5 = 0x20,
|
|
ROM_E_RTW_MSGP_MAC_REG_DUMP_1 = 0x21,
|
|
ROM_E_RTW_MSGP_BB_REG_DUMP_1 = 0x22,
|
|
ROM_E_RTW_MSGP_RF_REG_DUMP_1 = 0x23,
|
|
ROM_E_RTW_MSGP_RF_REG_DUMP_2 = 0x24,
|
|
ROM_E_RTW_MSGP_REG_DUMP_1 = 0x25,
|
|
ROM_E_RTW_MSGP_REG_DUMP_2 = 0x26,
|
|
ROM_E_RTW_MSGP_REG_DUMP_3 = 0x27,
|
|
ROM_E_RTW_MSGP_READ_REG_1 = 0x28,
|
|
ROM_E_RTW_MSGP_READ_REG_2 = 0x29,
|
|
ROM_E_RTW_MSGP_READ_REG_3 = 0x2A,
|
|
ROM_E_RTW_MSGP_WRITE_REG_1 = 0x2B,
|
|
ROM_E_RTW_MSGP_WRITE_REG_2 = 0x2C,
|
|
ROM_E_RTW_MSGP_WRITE_REG_3 = 0x2D,
|
|
ROM_E_RTW_MSGP_READ_BB_1 = 0x2E,
|
|
ROM_E_RTW_MSGP_WRITE_BB_1 = 0x2F,
|
|
ROM_E_RTW_MSGP_READ_RF_1 = 0x30,
|
|
ROM_E_RTW_MSGP_WRITE_RF_1 = 0x31,
|
|
ROM_E_RTW_MSGP_READ_SYS_1 = 0x32,
|
|
ROM_E_RTW_MSGP_WRITE_SYS_1 = 0x33,
|
|
ROM_E_RTW_MSGP_FIX_CHANNEL_1 = 0x34,
|
|
ROM_E_RTW_MSGP_FIX_CHANNEL_2 = 0x35,
|
|
ROM_E_RTW_MSGP_PWR_SAVE_MODE_1 = 0x36,
|
|
ROM_E_RTW_MSGP_FIX_RATE_1 = 0x37,
|
|
ROM_E_RTW_MSGP_GET_ODM_DBG_FLAG_1 = 0x38,
|
|
ROM_E_RTW_MSGP_SET_ODM_DBG_FLAG_1 = 0x39,
|
|
ROM_E_RTW_MSGP_DUMP_PWR_IDX_1 = 0x3A,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_1 = 0x3B,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_2 = 0x3C,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_3 = 0x3D,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_4 = 0x3E,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_5 = 0x3F,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_6 = 0x40,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_7 = 0x41,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_8 = 0x42,
|
|
ROM_E_RTW_MSGP_DUMP_INFO_9 = 0x43,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_1 = 0x44,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_2 = 0x45,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_3 = 0x46,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_4 = 0x47,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_5 = 0x48,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_6 = 0x49,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_7 = 0x4A,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_8 = 0x4B,
|
|
ROM_E_RTW_MSGP_DM_FUNC_FLAG_9 = 0x4C,
|
|
ROM_E_RTW_MSGP_RX_MPDU_1 = 0x4D,
|
|
ROM_E_RTW_MSGP_AP_TIMEOUT_CHK_1 = 0x4E,
|
|
ROM_E_RTW_MSGP_INIT_DRV_SW_1 = 0x4F,
|
|
ROM_E_RTW_MSGP_SET_BSSID_1 = 0x50,
|
|
ROM_E_RTW_MSGP_SET_SSID_1 = 0x51,
|
|
ROM_E_RTW_MSGP_ON_BEACON_1 = 0x52,
|
|
ROM_E_RTW_MSGP_ON_AUTH_1 = 0x53,
|
|
ROM_E_RTW_MSGP_ON_AUTH_2 = 0x54,
|
|
ROM_E_RTW_MSGP_ON_AUTH_CLIENT_1 = 0x55,
|
|
ROM_E_RTW_MSGP_ON_ASSOC_REQ_1 = 0x56,
|
|
ROM_E_RTW_MSGP_ON_ASSOC_RSP_1 = 0x57,
|
|
ROM_E_RTW_MSGP_ON_DE_AUTH_1 = 0x58,
|
|
ROM_E_RTW_MSGP_ON_DE_AUTH_2 = 0x59,
|
|
ROM_E_RTW_MSGP_ON_DISASSOC_1 = 0x5A,
|
|
ROM_E_RTW_MSGP_ON_DISASSOC_2 = 0x5B,
|
|
ROM_E_RTW_MSGP_ISSUE_BEACON_1 = 0x5C,
|
|
ROM_E_RTW_MSGP_ISSUE_PROBERSP_1 = 0x5D,
|
|
ROM_E_RTW_MSGP_ISSUE_PROBEREQ_1 = 0x5E,
|
|
ROM_E_RTW_MSGP_ISSUE_AUTH_1 = 0x5F,
|
|
ROM_E_RTW_MSGP_ISSUE_ASSOCRSP_1 = 0x60,
|
|
ROM_E_RTW_MSGP_ISSUE_ASSOCREQ_1 = 0x61,
|
|
ROM_E_RTW_MSGP_ISSUE_NULLDATA_1 = 0x62,
|
|
ROM_E_RTW_MSGP_ISSUE_QOS_NULLDATA_1 = 0x63,
|
|
ROM_E_RTW_MSGP_ISSUE_DEAUTH_1 = 0x64,
|
|
ROM_E_RTW_MSGP_ISSUE_ACTION_BA_1 = 0x65,
|
|
ROM_E_RTW_MSGP_ISSUE_BSS_COEXIST_1 = 0x66,
|
|
ROM_E_RTW_MSGP_START_CLNT_AUTH_1 = 0x67,
|
|
ROM_E_RTW_MSGP_LINKED_STATUS_CHK_1 = 0x68,
|
|
ROM_E_RTW_MSGP_SETKEY_HDL_1 = 0x69,
|
|
ROM_E_RTW_MSGP_SET_STAKEY_HDL_1 = 0x6A,
|
|
ROM_E_RTW_MSGP_SET_STAKEY_HDL_2 = 0x6B,
|
|
ROM_E_RTW_MSGP_P2P_BUILD_MGNT_FRAME_1 = 0x6C,
|
|
ROM_E_RTW_MSGP_SEND_EAPOL_1 = 0x6D,
|
|
ROM_E_RTW_MSGP_SEND_EAPOL_2 = 0x6E,
|
|
ROM_E_RTW_MSGP_SEND_EAPOL_3 = 0x6F,
|
|
ROM_E_RTW_MSGP_EAPOL_KEY_RECVD_1 = 0x70,
|
|
ROM_E_RTW_MSGP_EAPOL_KEY_RECVD_2 = 0x71,
|
|
ROM_E_RTW_MSGP_EAPOL_KEY_RECVD_3 = 0x72,
|
|
ROM_E_RTW_MSGP_FREE_RECVFRAME_1 = 0x73,
|
|
ROM_E_RTW_MSGP_VAR_PORT_SWITCH_1 = 0x74,
|
|
ROM_E_RTW_MSGP_VAR_PORT_SWITCH_2 = 0x75,
|
|
ROM_E_RTW_MSGP_DOWN_SEMA_1 = 0x76,
|
|
ROM_E_RTW_MSGP_MAX = 0x77
|
|
};
|
|
|
|
struct _atr_aligned4_ _PS_PARM_ {
|
|
uint8_t Enter32KHzPermission;
|
|
uint8_t bAllQueueUAPSD;
|
|
uint8_t ps_dtim_flag;
|
|
uint8_t pstrx_rxcnt_period;
|
|
uint8_t NoConnect32k;
|
|
uint8_t ack_last_rpwm;
|
|
uint8_t TxNull0;
|
|
uint8_t TxNull1;
|
|
uint8_t TxNull0ok;
|
|
uint8_t TxNull1ok;
|
|
uint8_t RfOffLicenseForBCNRx;
|
|
uint8_t BCNAggEn;
|
|
uint8_t IsGoingTo32K;
|
|
uint8_t bMaxTrackingBcnMode;
|
|
uint8_t BcnTraceDone;
|
|
uint8_t smart_ps :4;
|
|
uint8_t RLBM :4;
|
|
uint8_t AwakeInterval;
|
|
uint8_t ps_mode;
|
|
uint8_t ClkRequestEnable;
|
|
uint8_t last_rpwm;
|
|
uint8_t current_ps_state;
|
|
uint8_t ps_data_open;
|
|
uint8_t ps_bcn_pass_time;
|
|
uint8_t ps_dtim_period;
|
|
uint8_t ps_dtim_cnt;
|
|
uint8_t ps_bcn_to;
|
|
uint8_t bcn_to_cnt;
|
|
uint8_t bcn_to_times_cnt;
|
|
uint8_t min_rate_in_rrsr;
|
|
uint16_t ps_drv_early_itv;
|
|
uint32_t null1_ok_cnt;
|
|
uint8_t SlotPeriod;
|
|
uint8_t FirstOnPeriod;
|
|
uint8_t SecondOnPeriod;
|
|
uint8_t ThirdOnPeriod;
|
|
uint8_t CurrentSlot;
|
|
BOOLEAN TDMAOnPeriod;
|
|
};
|
|
typedef struct _PS_PARM_ PS_PARM;
|
|
typedef struct _PS_PARM_ *PPS_PARM;
|
|
|
|
struct _LEGACY_PS_PPARM_ {
|
|
uint8_t ps_mode :7;
|
|
uint8_t ClkRequestEnable :1;
|
|
uint8_t RLBM :4;
|
|
uint8_t smart_ps :4;
|
|
uint8_t AwakeInterval;
|
|
uint8_t bAllQueueUAPSD :1;
|
|
uint8_t bMaxTrackingBcnMode :1;
|
|
uint8_t rsvd :6;
|
|
uint8_t PwrState;
|
|
uint8_t LowPwrRxBCN :1;
|
|
uint8_t AntAutoSwitch :1;
|
|
uint8_t PSAllowBTHighPri :1;
|
|
uint8_t ProtectBCN :1;
|
|
uint8_t SilencePeriod :1;
|
|
uint8_t FastBTConnect :1;
|
|
uint8_t TwoAntennaEn :1;
|
|
uint8_t rsvd2 :1;
|
|
uint8_t AdoptUserSetting :1;
|
|
uint8_t DrvBcnEarlyShift :3;
|
|
uint8_t DrvBcnTimeOut :4;
|
|
uint8_t SlotPeriod;
|
|
uint8_t FirstOnPeriod;
|
|
uint8_t SecondOnPeriod;
|
|
uint8_t ThirdOnPeriod;
|
|
};
|
|
typedef struct _LEGACY_PS_PPARM_ LEGACY_PS_PARM;
|
|
typedef struct _LEGACY_PS_PPARM_ *PLEGACY_PS_PARM;
|
|
|
|
struct _H2CParam_SetPwrMode_parm_ {
|
|
LEGACY_PS_PARM PwrModeParm;
|
|
};
|
|
typedef struct _H2CParam_SetPwrMode_parm_ *PH2CParam_PwrMode;
|
|
|
|
struct atomic_t {
|
|
volatile int counter;
|
|
};
|
|
|
|
/*
|
|
// dlist.h
|
|
struct list_head
|
|
{
|
|
_list *next;
|
|
_list *prev;
|
|
};
|
|
|
|
// freertos_service.h
|
|
struct __queue
|
|
{
|
|
_list queue;
|
|
_lock lock;
|
|
};
|
|
*/
|
|
|
|
struct iw_request_info {
|
|
uint16_t cmd;
|
|
uint16_t flags;
|
|
};
|
|
|
|
typedef int (*iw_handler)(struct net_device *, struct iw_request_info *,
|
|
union iwreq_data *, char *);
|
|
|
|
struct _NDIS_802_11_SSID {
|
|
uint32_t SsidLength; //+164
|
|
uint8_t Ssid[36];
|
|
};
|
|
typedef struct _NDIS_802_11_SSID NDIS_802_11_SSID;
|
|
typedef uint8_t NDIS_802_11_MAC_ADDRESS[6];
|
|
typedef int NDIS_802_11_RSSI;
|
|
|
|
enum _NDIS_802_11_NETWORK_TYPE //sint32_t
|
|
{
|
|
Ndis802_11FH = 0x0,
|
|
Ndis802_11DS = 0x1,
|
|
Ndis802_11OFDM5 = 0x2,
|
|
Ndis802_11OFDM24 = 0x3,
|
|
Ndis802_11NetworkTypeMax = 0x4,
|
|
};
|
|
typedef enum _NDIS_802_11_NETWORK_TYPE NDIS_802_11_NETWORK_TYPE;
|
|
|
|
struct _NDIS_802_11_CONFIGURATION_FH {
|
|
uint32_t Length;
|
|
uint32_t HopPattern;
|
|
uint32_t HopSet;
|
|
uint32_t DwellTime;
|
|
};
|
|
typedef struct _NDIS_802_11_CONFIGURATION_FH NDIS_802_11_CONFIGURATION_FH;
|
|
|
|
struct _NDIS_802_11_CONFIGURATION {
|
|
uint32_t Length;
|
|
uint32_t BeaconPeriod;
|
|
uint32_t ATIMWindow;
|
|
uint32_t DSConfig;
|
|
NDIS_802_11_CONFIGURATION_FH FHConfig;
|
|
};
|
|
typedef struct _NDIS_802_11_CONFIGURATION NDIS_802_11_CONFIGURATION;
|
|
|
|
enum _NDIS_802_11_NETWORK_INFRASTRUCTURE // : sint32_t
|
|
{
|
|
Ndis802_11IBSS = 0x0,
|
|
Ndis802_11Infrastructure = 0x1,
|
|
Ndis802_11AutoUnknown = 0x2,
|
|
Ndis802_11InfrastructureMax = 0x3,
|
|
Ndis802_11APMode = 0x4,
|
|
};
|
|
typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE NDIS_802_11_NETWORK_INFRASTRUCTURE;
|
|
|
|
typedef uint8_t NDIS_802_11_RATES_EX[16];
|
|
|
|
struct _WLAN_PHY_INFO {
|
|
uint8_t SignalStrength;
|
|
uint8_t SignalQuality;
|
|
uint8_t Optimum_antenna;
|
|
uint8_t Reserved_0;
|
|
};
|
|
typedef struct _WLAN_PHY_INFO WLAN_PHY_INFO;
|
|
|
|
struct _WLAN_BSSID_EX {
|
|
uint32_t Length;
|
|
NDIS_802_11_MAC_ADDRESS MacAddress;
|
|
uint8_t Reserved[2];
|
|
NDIS_802_11_SSID Ssid; // +164
|
|
uint32_t Privacy;
|
|
NDIS_802_11_RSSI Rssi;
|
|
NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
|
|
NDIS_802_11_CONFIGURATION Configuration;
|
|
NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
|
|
NDIS_802_11_RATES_EX SupportedRates;
|
|
WLAN_PHY_INFO PhyInfo;
|
|
uint32_t IELength;
|
|
uint8_t IEs[768];
|
|
};
|
|
typedef struct _WLAN_BSSID_EX WLAN_BSSID_EX;
|
|
|
|
struct _atr_aligned2_ _WLAN_BCN_INFO { // __attribute__((packed))!?
|
|
uint8_t encryp_protocol;
|
|
int group_cipher;
|
|
int pairwise_cipher;
|
|
int is_8021x;
|
|
uint16_t ht_cap_info;
|
|
uint8_t ht_info_infos_0;
|
|
};
|
|
typedef struct _WLAN_BCN_INFO WLAN_BCN_INFO;
|
|
|
|
struct wlan_network {
|
|
_list list;
|
|
int network_type;
|
|
int fixed;
|
|
uint32_t last_scanned;
|
|
int aid;
|
|
int join_res;
|
|
WLAN_BSSID_EX network;
|
|
WLAN_BCN_INFO BcnInfo;
|
|
};
|
|
|
|
/* osdep_service.h
|
|
typedef void *_timerHandle;
|
|
|
|
struct timer_list
|
|
{
|
|
_timerHandle timer_hdl;
|
|
uint32_t data;
|
|
void (*function)(void *);
|
|
};
|
|
|
|
typedef struct timer_list _timer;
|
|
*/
|
|
|
|
struct qos_priv {
|
|
uint32_t qos_option;
|
|
};
|
|
|
|
struct __attribute__((packed)) _atr_aligned2_ rtw_ieee80211_ht_cap {
|
|
uint16_t cap_info;
|
|
uint8_t ampdu_params_info;
|
|
uint8_t supp_mcs_set[16];
|
|
uint16_t extended_ht_cap_info;
|
|
uint32_t tx_BF_cap_info;
|
|
uint8_t antenna_selection_info;
|
|
};
|
|
|
|
struct ht_priv {
|
|
uint32_t ht_option;
|
|
uint32_t ampdu_enable;
|
|
uint8_t bwmode;
|
|
uint8_t ch_offset;
|
|
uint8_t sgi;
|
|
uint8_t agg_enable_bitmap;
|
|
uint8_t candidate_tid_bitmap;
|
|
uint8_t stbc_cap;
|
|
struct rtw_ieee80211_ht_cap ht_cap;
|
|
};
|
|
|
|
struct _atr_aligned4_ _RT_LINK_DETECT_T {
|
|
uint32_t NumTxOkInPeriod;
|
|
uint32_t NumRxOkInPeriod;
|
|
uint32_t NumRxUnicastOkInPeriod;
|
|
BOOLEAN bBusyTraffic;
|
|
BOOLEAN bTxBusyTraffic;
|
|
BOOLEAN bRxBusyTraffic;
|
|
BOOLEAN bHigherBusyTraffic;
|
|
BOOLEAN bHigherBusyRxTraffic;
|
|
BOOLEAN bHigherBusyTxTraffic;
|
|
};
|
|
typedef struct _RT_LINK_DETECT_T RT_LINK_DETECT_T;
|
|
|
|
enum _RT_SCAN_TYPE //: sint32_t
|
|
{
|
|
SCAN_PASSIVE = 0x0, SCAN_ACTIVE = 0x1, SCAN_MIX = 0x2
|
|
};
|
|
typedef enum _RT_SCAN_TYPE RT_SCAN_TYPE;
|
|
|
|
struct mlme_priv {
|
|
_lock lock; //+12
|
|
sint fw_state; //+16
|
|
uint8_t bScanInProcess; //+20
|
|
uint8_t to_join; //+21
|
|
uint8_t *nic_hdl; //+24
|
|
_list *pscanned; //+28
|
|
_queue free_bss_pool; //+32
|
|
_queue scanned_queue; //+44
|
|
uint8_t *free_bss_buf; //+56
|
|
uint16_t num_of_scanned; //+60
|
|
uint8_t *scan_buf; //+64
|
|
uint32_t scan_buf_len; //+68
|
|
uint16_t scan_cnt; //+72
|
|
uint16_t scan_type; //+74
|
|
NDIS_802_11_SSID assoc_ssid; //+76
|
|
uint8_t assoc_bssid[6];
|
|
struct wlan_network cur_network;
|
|
uint32_t scan_interval;
|
|
_timer assoc_timer;
|
|
uint8_t assoc_by_bssid;
|
|
uint8_t assoc_by_rssi;
|
|
_timer scan_to_timer;
|
|
uint32_t scan_start_time;
|
|
struct qos_priv qospriv;
|
|
uint16_t num_sta_no_ht;
|
|
uint16_t num_FortyMHzIntolerant;
|
|
struct ht_priv htpriv;
|
|
RT_LINK_DETECT_T LinkDetectInfo;
|
|
_timer dynamic_chk_timer;
|
|
uint8_t key_mask;
|
|
uint8_t acm_mask;
|
|
uint8_t ChannelPlan;
|
|
uint8_t scan_mode; // RT_SCAN_TYPE scan_mode; byte/dword ??
|
|
uint8_t *wps_probe_req_ie;
|
|
uint32_t wps_probe_req_ie_len;
|
|
uint8_t *wps_assoc_req_ie;
|
|
uint32_t wps_assoc_req_ie_len;
|
|
uint16_t num_sta_non_erp;
|
|
uint16_t num_sta_no_short_slot_time;
|
|
uint16_t num_sta_no_short_preamble;
|
|
uint16_t num_sta_ht_no_gf;
|
|
uint16_t num_sta_ht_20mhz;
|
|
uint8_t olbc_ht;
|
|
uint16_t ht_op_mode;
|
|
uint8_t *wps_beacon_ie;
|
|
uint8_t *wps_probe_resp_ie;
|
|
uint8_t *wps_assoc_resp_ie;
|
|
uint32_t wps_beacon_ie_len;
|
|
uint32_t wps_probe_resp_ie_len;
|
|
uint32_t wps_assoc_resp_ie_len;
|
|
_lock bcn_update_lock;
|
|
uint8_t update_bcn;
|
|
uint8_t scanning_via_buddy_intf;
|
|
struct recv_frame *p_copy_recv_frame;
|
|
};
|
|
|
|
struct _atr_aligned4_ _RT_CHANNEL_INFO {
|
|
uint8_t ChannelNum;
|
|
RT_SCAN_TYPE ScanType; // uint8_t ScanType; // byte/dword?
|
|
uint8_t pscan_config;
|
|
};
|
|
typedef struct _RT_CHANNEL_INFO RT_CHANNEL_INFO;
|
|
|
|
struct ss_res {
|
|
int state;
|
|
int bss_cnt;
|
|
int channel_idx;
|
|
int scan_mode;
|
|
NDIS_802_11_SSID ssid[1];
|
|
};
|
|
|
|
struct __attribute__((packed)) __attribute__((aligned(1))) ADDBA_request {
|
|
uint8_t dialog_token;
|
|
uint16_t BA_para_set;
|
|
uint16_t BA_timeout_value;
|
|
uint16_t BA_starting_seqctrl;
|
|
};
|
|
|
|
struct AC_param {
|
|
uint8_t ACI_AIFSN;
|
|
uint8_t CW;
|
|
uint16_t TXOP_limit;
|
|
};
|
|
|
|
struct WMM_para_element {
|
|
uint8_t QoS_info;
|
|
uint8_t reserved;
|
|
struct AC_param ac_param[4];
|
|
};
|
|
|
|
struct HT_caps_element {
|
|
union {
|
|
struct _atr_aligned4_ {
|
|
uint16_t HT_caps_info;
|
|
uint8_t AMPDU_para;
|
|
uint8_t MCS_rate[16];
|
|
uint16_t HT_ext_caps;
|
|
uint32_t Beamforming_caps;
|
|
uint8_t ASEL_caps;
|
|
} HT_cap_element;
|
|
uint8_t HT_cap[26];
|
|
}u;
|
|
};
|
|
|
|
struct HT_info_element {
|
|
uint8_t primary_channel;
|
|
uint8_t infos[5];
|
|
uint8_t MCS_rate[16];
|
|
};
|
|
|
|
struct FW_Sta_Info {
|
|
struct sta_info *psta;
|
|
uint32_t status;
|
|
uint32_t rx_pkt;
|
|
uint32_t retry;
|
|
NDIS_802_11_RATES_EX SupportedRates;
|
|
};
|
|
|
|
struct mlme_ext_info {
|
|
uint32_t state;
|
|
uint32_t reauth_count;
|
|
uint32_t reassoc_count;
|
|
uint32_t link_count;
|
|
uint32_t auth_seq;
|
|
uint32_t auth_algo;
|
|
uint32_t authModeToggle;
|
|
uint32_t enc_algo;
|
|
uint32_t key_index;
|
|
uint32_t iv;
|
|
uint8_t chg_txt[128];
|
|
uint16_t aid;
|
|
uint16_t bcn_interval;
|
|
uint16_t capability;
|
|
uint8_t assoc_AP_vendor;
|
|
uint8_t slotTime;
|
|
uint8_t preamble_mode;
|
|
uint8_t WMM_enable;
|
|
uint8_t ERP_enable;
|
|
uint8_t ERP_IE;
|
|
uint8_t HT_enable;
|
|
uint8_t HT_caps_enable;
|
|
uint8_t HT_info_enable;
|
|
uint8_t HT_protection;
|
|
uint8_t turboMode_cts2self;
|
|
uint8_t turboMode_rtsen;
|
|
uint8_t SM_PS;
|
|
uint8_t agg_enable_bitmap;
|
|
uint8_t ADDBA_retry_count;
|
|
uint8_t candidate_tid_bitmap;
|
|
uint8_t dialogToken;
|
|
uint8_t bwmode_updated;
|
|
uint8_t hidden_ssid_mode;
|
|
struct ADDBA_request ADDBA_req;
|
|
struct WMM_para_element WMM_param;
|
|
struct __attribute__((packed)) __attribute__((aligned(1))) HT_caps_element HT_caps;
|
|
struct HT_info_element HT_info;
|
|
struct FW_Sta_Info FW_sta_info[5];
|
|
};
|
|
|
|
#ifndef _CUS_IE_
|
|
#define _CUS_IE_
|
|
typedef struct _cus_ie{
|
|
__u8 *ie;
|
|
__u8 type;
|
|
} cus_ie, *p_cus_ie;
|
|
#endif /* _CUS_IE_ */
|
|
// typedef struct _cus_ie *p_cus_ie;
|
|
|
|
struct mlme_ext_priv { //__attribute__((packed))?
|
|
_adapter *padapter; //+0 padapter+1256 [912]
|
|
uint8_t mlmeext_init;
|
|
struct atomic_t event_seq;
|
|
uint16_t mgnt_seq;
|
|
uint8_t cur_channel; // padapter+1270
|
|
uint8_t cur_bwmode;
|
|
uint8_t cur_ch_offset;
|
|
uint8_t cur_wireless_mode;
|
|
uint8_t max_chan_nums;
|
|
RT_CHANNEL_INFO channel_set[14];
|
|
uint8_t basicrate[13];
|
|
uint8_t datarate[13];
|
|
struct ss_res sitesurvey_res; //padapter+1472
|
|
struct mlme_ext_info mlmext_info; //padapter+1528
|
|
_timer survey_timer;
|
|
_timer link_timer;
|
|
uint16_t chan_scan_time; //padapter+1984
|
|
uint8_t scan_abort; //padapter+1986
|
|
uint8_t tx_rate; //padapter+1987
|
|
uint8_t retry; //padapter+1988
|
|
_u8Byte TSFValue; //+740? padapter+1992
|
|
uint8_t bstart_bss;
|
|
uint16_t action_public_rxseq;
|
|
_timer reconnect_timer;
|
|
uint8_t reconnect_deauth_filtered;
|
|
uint8_t reconnect_times; //+2017
|
|
uint8_t reconnect_cnt;
|
|
uint16_t reconnect_timeout; //+ 2020
|
|
uint8_t saved_alg;
|
|
uint8_t saved_essid[33];
|
|
uint8_t saved_key[32];
|
|
uint16_t saved_key_len;
|
|
uint8_t saved_key_idx;
|
|
uint8_t saved_wpa_passphrase[65];
|
|
uint8_t saved_eap_method;
|
|
uint8_t auto_reconnect; // + 2157 ?
|
|
uint8_t partial_scan;
|
|
p_cus_ie cus_ven_ie;
|
|
uint8_t ie_num;
|
|
uint8_t bChDeauthDisabled;
|
|
uint8_t bConcurrentFlushingSTA;
|
|
};
|
|
|
|
struct cmd_priv {
|
|
_queue cmd_queue;
|
|
uint8_t cmdthd_running;
|
|
_adapter *padapter;
|
|
};
|
|
|
|
struct evt_priv {
|
|
struct atomic_t event_seq;
|
|
uint8_t *evt_buf;
|
|
uint8_t *evt_allocated_buf;
|
|
uint32_t evt_done_cnt;
|
|
};
|
|
|
|
struct _io_ops {
|
|
int (*init_io_priv)(struct dvobj_priv *);
|
|
int (*write8_endian)(struct dvobj_priv *, uint32_t, uint32_t, uint32_t);
|
|
uint8_t (*_read8)(struct dvobj_priv *, uint32_t, int32_t *);
|
|
uint16_t (*_read16)(struct dvobj_priv *, uint32_t, int32_t *);
|
|
uint32_t (*_read32)(struct dvobj_priv *, uint32_t, int32_t *);
|
|
int32_t (*_write8)(struct dvobj_priv *, uint32_t, uint8_t, int32_t *);
|
|
int32_t (*_write16)(struct dvobj_priv *, uint32_t, uint16_t, int32_t *);
|
|
int32_t (*_write32)(struct dvobj_priv *, uint32_t, uint32_t, int32_t *);
|
|
int (*read_rx_fifo)(struct dvobj_priv *, uint32_t, uint8_t *, uint32_t,
|
|
struct fifo_more_data *);
|
|
int (*write_tx_fifo)(struct dvobj_priv *, uint32_t, uint8_t *, uint32_t);
|
|
};
|
|
|
|
struct io_priv {
|
|
struct _io_ops io_ops;
|
|
};
|
|
|
|
struct rtw_tx_ring {
|
|
struct tx_buf_desc *desc;
|
|
dma_addr_t dma;
|
|
uint32_t idx;
|
|
uint32_t entries;
|
|
_queue queue;
|
|
uint32_t qlen;
|
|
};
|
|
|
|
struct _atr_aligned8_ xmit_priv {
|
|
_lock lock;
|
|
_queue be_pending;
|
|
_queue bk_pending;
|
|
_queue vi_pending;
|
|
_queue vo_pending;
|
|
_queue bm_pending;
|
|
uint8_t *pallocated_frame_buf;
|
|
uint8_t *pxmit_frame_buf;
|
|
uint32_t free_xmitframe_cnt;
|
|
_queue free_xmit_queue;
|
|
_adapter *adapter;
|
|
uint8_t vcs_setting;
|
|
uint8_t vcs;
|
|
uint8_t vcs_type;
|
|
u8Byte tx_bytes;
|
|
u8Byte tx_pkts;
|
|
u8Byte tx_drop;
|
|
u8Byte last_tx_bytes;
|
|
u8Byte last_tx_pkts;
|
|
struct hw_xmit *hwxmits;
|
|
uint8_t hwxmit_entry;
|
|
struct rtw_tx_ring tx_ring[8];
|
|
int txringcount[8];
|
|
uint8_t beaconDMAing;
|
|
_queue free_xmitbuf_queue;
|
|
_queue pending_xmitbuf_queue;
|
|
uint8_t *pallocated_xmitbuf;
|
|
uint8_t *pxmitbuf;
|
|
uint32_t free_xmitbuf_cnt;
|
|
_queue free_xmit_extbuf_queue;
|
|
uint8_t *pallocated_xmit_extbuf;
|
|
uint8_t *pxmit_extbuf;
|
|
uint32_t free_xmit_extbuf_cnt;
|
|
uint16_t nqos_ssn;
|
|
};
|
|
|
|
struct rtw_rx_ring {
|
|
struct recv_buf_stat *desc;
|
|
dma_addr_t dma;
|
|
uint32_t idx;
|
|
struct sk_buff *rx_buf[4];
|
|
};
|
|
|
|
struct signal_stat {
|
|
uint8_t update_req;
|
|
uint8_t avg_val;
|
|
uint32_t total_num;
|
|
uint32_t total_val;
|
|
};
|
|
|
|
struct _atr_aligned8_ recv_priv {
|
|
_lock lock;
|
|
_queue free_recv_queue;
|
|
_queue recv_pending_queue;
|
|
_queue uc_swdec_pending_queue;
|
|
uint8_t *pallocated_frame_buf;
|
|
uint8_t *precv_frame_buf;
|
|
uint32_t free_recvframe_cnt;
|
|
_adapter *adapter;
|
|
uint32_t bIsAnyNonBEPkts;
|
|
u8Byte rx_bytes;
|
|
u8Byte rx_pkts;
|
|
u8Byte rx_drop;
|
|
u8Byte rx_overflow;
|
|
u8Byte last_rx_bytes;
|
|
uint32_t rx_icv_err;
|
|
uint32_t rx_largepacket_crcerr;
|
|
uint32_t rx_smallpacket_crcerr;
|
|
uint32_t rx_middlepacket_crcerr;
|
|
uint8_t *pallocated_recv_buf;
|
|
uint8_t *precv_buf;
|
|
_queue free_recv_buf_queue;
|
|
uint32_t free_recv_buf_queue_cnt;
|
|
struct rtw_rx_ring rx_ring[1];
|
|
int rxringcount;
|
|
uint16_t rxbuffersize;
|
|
uint8_t is_signal_dbg;
|
|
uint8_t signal_strength_dbg;
|
|
int8_t rssi; // +2932
|
|
int8_t rxpwdb;
|
|
uint8_t signal_strength;
|
|
uint8_t signal_qual;
|
|
uint8_t noise;
|
|
int RxSNRdB[2];
|
|
int8_t RxRssi[2];
|
|
int FalseAlmCnt_all;
|
|
_timer signal_stat_timer;
|
|
uint32_t signal_stat_sampling_interval;
|
|
struct signal_stat signal_qual_data;
|
|
struct signal_stat signal_strength_data;
|
|
uint8_t promisc_enabled;
|
|
uint8_t promisc_len_used;
|
|
_list promisc_list;
|
|
_lock promisc_lock;
|
|
uint32_t promisc_bk_rcr;
|
|
uint16_t promisc_bk_rxfltmap2;
|
|
uint8_t promisc_mgntframe_enabled;
|
|
};
|
|
|
|
struct _atr_aligned4_ sta_priv {
|
|
uint8_t *pallocated_stainfo_buf;
|
|
uint32_t allocated_stainfo_size;
|
|
uint8_t *pstainfo_buf;
|
|
_queue free_sta_queue;
|
|
_lock sta_hash_lock;
|
|
_list sta_hash[5];
|
|
int asoc_sta_count;
|
|
_queue sleep_q;
|
|
_queue wakeup_q;
|
|
_adapter *padapter;
|
|
_list asoc_list;
|
|
_list auth_list;
|
|
_lock asoc_list_lock;
|
|
_lock auth_list_lock;
|
|
uint32_t auth_to;
|
|
uint32_t assoc_to;
|
|
uint32_t expire_to;
|
|
struct sta_info *sta_aid[5];
|
|
uint16_t sta_dz_bitmap;
|
|
uint16_t tim_bitmap;
|
|
uint16_t max_num_sta;
|
|
};
|
|
|
|
union Keytype {
|
|
uint8_t skey[16];
|
|
uint32_t lkey[4];
|
|
};
|
|
|
|
|
|
|
|
union pn48 {
|
|
u8Byte val;
|
|
struct {
|
|
uint8_t TSC0;
|
|
uint8_t TSC1;
|
|
uint8_t TSC2;
|
|
uint8_t TSC3;
|
|
uint8_t TSC4;
|
|
uint8_t TSC5;
|
|
uint8_t TSC6;
|
|
uint8_t TSC7;
|
|
}_byte_;
|
|
};
|
|
|
|
struct _NDIS_802_11_WEP {
|
|
uint32_t Length;
|
|
uint32_t KeyIndex;
|
|
uint32_t KeyLength;
|
|
uint8_t KeyMaterial[16];
|
|
};
|
|
typedef struct _NDIS_802_11_WEP NDIS_802_11_WEP;
|
|
|
|
struct $D75518714447A990003EBC933C23F70E {
|
|
uint32_t HighPart;
|
|
uint32_t LowPart;
|
|
};
|
|
|
|
union _LARGE_INTEGER {
|
|
uint8_t charData[8];
|
|
struct $D75518714447A990003EBC933C23F70E field;
|
|
};
|
|
typedef union _LARGE_INTEGER LARGE_INTEGER;
|
|
|
|
struct $121C25F90E4E195D1524BBC5399ADEBE {
|
|
LARGE_INTEGER HighPart;
|
|
LARGE_INTEGER LowPart;
|
|
};
|
|
|
|
union _OCTET16_INTEGER {
|
|
uint8_t charData[16];
|
|
struct $121C25F90E4E195D1524BBC5399ADEBE field;
|
|
};
|
|
typedef union _OCTET16_INTEGER OCTET16_INTEGER;
|
|
|
|
struct $BB6DA6E37D48DEE353E02A8C8F92DDF7 {
|
|
OCTET16_INTEGER HighPart;
|
|
OCTET16_INTEGER LowPart;
|
|
};
|
|
|
|
union _OCTET32_INTEGER {
|
|
uint8_t charData[32];
|
|
struct $BB6DA6E37D48DEE353E02A8C8F92DDF7 field;
|
|
};
|
|
typedef union _OCTET32_INTEGER OCTET32_INTEGER;
|
|
|
|
struct _OCTET_STRING {
|
|
uint8_t *Octet;
|
|
int Length;
|
|
};
|
|
typedef struct _OCTET_STRING OCTET_STRING;
|
|
|
|
struct _wpa_global_info {
|
|
OCTET32_INTEGER Counter;
|
|
int GTKAuthenticator;
|
|
int GKeyDoneStations;
|
|
int GInitAKeys;
|
|
int GUpdateStationKeys;
|
|
int GkeyReady;
|
|
OCTET_STRING AuthInfoElement;
|
|
uint8_t AuthInfoBuf[128];
|
|
uint8_t MulticastCipher;
|
|
OCTET_STRING GNonce;
|
|
uint8_t GNonceBuf[32];
|
|
uint8_t GTK[4][32];
|
|
uint8_t GMK[32];
|
|
int GN;
|
|
int GM;
|
|
int GTKRekey;
|
|
};
|
|
typedef struct _wpa_global_info WPA_GLOBAL_INFO;
|
|
|
|
typedef struct _wpa_sta_info WPA_STA_INFO;
|
|
|
|
struct _atr_aligned4_ security_priv {
|
|
uint32_t dot11AuthAlgrthm;
|
|
uint32_t dot11PrivacyAlgrthm;
|
|
uint32_t dot11PrivacyKeyIndex;
|
|
union Keytype dot11DefKey[4];
|
|
uint32_t dot11DefKeylen[4];
|
|
uint32_t dot118021XGrpPrivacy;
|
|
uint32_t dot118021XGrpKeyid;
|
|
union Keytype dot118021XGrpKey[4];
|
|
union Keytype dot118021XGrptxmickey[4];
|
|
union Keytype dot118021XGrprxmickey[4];
|
|
union pn48 dot11Grptxpn;
|
|
union pn48 dot11Grprxpn;
|
|
uint32_t dot8021xalg;
|
|
uint32_t wpa_psk;
|
|
uint32_t wpa_group_cipher;
|
|
uint32_t wpa2_group_cipher;
|
|
uint32_t wpa_pairwise_cipher;
|
|
uint32_t wpa2_pairwise_cipher;
|
|
uint8_t wps_ie[512];
|
|
int wps_ie_len;
|
|
uint8_t binstallGrpkey;
|
|
uint8_t busetkipkey;
|
|
uint8_t bcheck_grpkey;
|
|
uint8_t bgrpkey_handshake;
|
|
int32_t sw_encrypt;
|
|
int32_t sw_decrypt;
|
|
int32_t hw_decrypted;
|
|
uint32_t ndisauthtype;
|
|
uint32_t ndisencryptstatus;
|
|
NDIS_802_11_WEP ndiswep;
|
|
uint8_t supplicant_ie[256];
|
|
uint32_t last_mic_err_time;
|
|
uint8_t btkip_countermeasure;
|
|
uint8_t btkip_wait_report;
|
|
uint32_t btkip_countermeasure_time;
|
|
WPA_GLOBAL_INFO wpa_global_info;
|
|
uint8_t *palloc_wpastainfo_buf;
|
|
uint32_t alloc_wpastainfo_size;
|
|
WPA_STA_INFO *wpa_sta_info[3];
|
|
uint8_t wpa_passphrase[65];
|
|
uint8_t wps_phase;
|
|
};
|
|
|
|
struct _atr_aligned4_ registry_priv {
|
|
uint8_t chip_version;
|
|
uint8_t hci;
|
|
NDIS_802_11_SSID ssid;
|
|
uint8_t channel;
|
|
uint8_t wireless_mode;
|
|
uint8_t scan_mode;
|
|
uint8_t vrtl_carrier_sense;
|
|
uint8_t vcs_type;
|
|
uint16_t rts_thresh;
|
|
uint8_t soft_ap;
|
|
uint8_t power_mgnt;
|
|
uint8_t ps_enable;
|
|
uint8_t ips_mode;
|
|
uint8_t smart_ps;
|
|
uint8_t mp_mode;
|
|
uint8_t software_encrypt;
|
|
uint8_t software_decrypt;
|
|
uint8_t acm_method;
|
|
uint8_t wmm_enable;
|
|
uint8_t uapsd_enable;
|
|
uint32_t beacon_period;
|
|
uint8_t ht_enable;
|
|
uint8_t ampdu_enable;
|
|
uint8_t rx_stbc;
|
|
uint8_t ampdu_amsdu;
|
|
uint8_t rf_config;
|
|
uint8_t power_percentage_idx;
|
|
uint8_t wifi_spec;
|
|
uint8_t channel_plan;
|
|
uint8_t ifname[16];
|
|
uint8_t if2name[16];
|
|
uint8_t RegEnableTxPowerLimit;
|
|
uint8_t RegEnableTxPowerByRate;
|
|
uint8_t RegEnableKFree;
|
|
uint8_t RegPowerBase;
|
|
uint8_t RegPwrTblSel;
|
|
uint8_t adaptivity_en;
|
|
uint8_t adaptivity_mode;
|
|
uint8_t adaptivity_dml;
|
|
uint8_t adaptivity_dc_backoff;
|
|
int8_t adaptivity_th_l2h_ini;
|
|
};
|
|
|
|
typedef void *_sema;
|
|
|
|
typedef _sema _pwrlock;
|
|
|
|
enum _rt_rf_power_state //: sint32_t
|
|
{
|
|
rf_on = 0x0, rf_sleep = 0x1, rf_off = 0x2, rf_max = 0x3,
|
|
};
|
|
typedef enum _rt_rf_power_state rt_rf_power_state;
|
|
|
|
struct _atr_aligned4_ pwrctrl_priv {
|
|
_pwrlock lock;
|
|
volatile uint8_t rpwm;
|
|
volatile uint8_t cpwm;
|
|
volatile uint8_t tog;
|
|
volatile uint8_t cpwm_tog;
|
|
uint8_t pwr_mode;
|
|
uint8_t smart_ps;
|
|
uint8_t bcn_ant_mode;
|
|
uint32_t alives;
|
|
u8Byte wowlan_fw_iv;
|
|
uint8_t bpower_saving;
|
|
uint8_t b_hw_radio_off;
|
|
uint8_t reg_rfoff;
|
|
uint8_t reg_pdnmode;
|
|
uint32_t rfoff_reason;
|
|
uint32_t cur_ps_level;
|
|
uint32_t reg_rfps_level;
|
|
uint8_t b_support_aspm;
|
|
uint8_t b_support_backdoor;
|
|
uint8_t const_amdpci_aspm;
|
|
uint32_t ips_enter_cnts;
|
|
uint32_t ips_leave_cnts;
|
|
uint8_t ps_enable;
|
|
uint8_t ips_mode;
|
|
uint8_t ips_org_mode;
|
|
uint8_t ips_mode_req;
|
|
uint32_t bips_processing;
|
|
uint32_t ips_deny_time;
|
|
uint8_t ps_processing;
|
|
uint8_t bLeisurePs;
|
|
uint8_t LpsIdleCount;
|
|
uint8_t power_mgnt;
|
|
uint8_t org_power_mgnt;
|
|
uint8_t bFwCurrentInPSMode;
|
|
uint32_t DelayLPSLastTimeStamp;
|
|
uint8_t btcoex_rfon;
|
|
int32_t pnp_current_pwr_state;
|
|
uint8_t pnp_bstop_trx;
|
|
uint8_t bInternalAutoSuspend;
|
|
uint8_t bInSuspend;
|
|
uint8_t bSupportRemoteWakeup;
|
|
_timer pwr_state_check_timer;
|
|
int pwr_state_check_interval;
|
|
uint8_t pwr_state_check_cnts;
|
|
int ps_flag;
|
|
rt_rf_power_state rf_pwrstate;
|
|
rt_rf_power_state change_rfpwrstate;
|
|
uint8_t wepkeymask;
|
|
uint8_t bHWPowerdown;
|
|
uint8_t bHWPwrPindetect;
|
|
uint8_t bkeepfwalive;
|
|
uint8_t brfoffbyhw;
|
|
uint32_t PS_BBRegBackup[4];
|
|
uint8_t tdma_slot_period;
|
|
uint8_t tdma_rfon_period_len_1;
|
|
uint8_t tdma_rfon_period_len_2;
|
|
uint8_t tdma_rfon_period_len_3;
|
|
uint8_t lps_dtim;
|
|
};
|
|
|
|
struct _atr_aligned2_ eeprom_priv { // __attribute__((packed))!?
|
|
uint8_t bautoload_fail_flag;
|
|
uint8_t mac_addr[6];
|
|
uint16_t CustomerID;
|
|
uint8_t EepromOrEfuse;
|
|
uint8_t efuse_eeprom_data[512];
|
|
uint8_t EEPROMRFGainOffset;
|
|
uint8_t EEPROMRFGainVal;
|
|
};
|
|
|
|
enum _CHANNEL_WIDTH // : sint32_t
|
|
{
|
|
CHANNEL_WIDTH_20 = 0x0,
|
|
CHANNEL_WIDTH_40 = 0x1,
|
|
CHANNEL_WIDTH_80 = 0x2,
|
|
CHANNEL_WIDTH_160 = 0x3,
|
|
CHANNEL_WIDTH_80_80 = 0x4,
|
|
CHANNEL_WIDTH_MAX = 0x5,
|
|
};
|
|
typedef enum _CHANNEL_WIDTH CHANNEL_WIDTH;
|
|
|
|
enum _HAL_DEF_VARIABLE // : sint32_t
|
|
{
|
|
HAL_DEF_UNDERCORATEDSMOOTHEDPWDB = 0x0,
|
|
HAL_DEF_IS_SUPPORT_ANT_DIV = 0x1,
|
|
HAL_DEF_CURRENT_ANTENNA = 0x2,
|
|
HAL_DEF_DRVINFO_SZ = 0x3,
|
|
HAL_DEF_MAX_RECVBUF_SZ = 0x4,
|
|
HAL_DEF_RX_PACKET_OFFSET = 0x5,
|
|
HAL_DEF_RX_DMA_SZ_WOW = 0x6,
|
|
HAL_DEF_RX_DMA_SZ = 0x7,
|
|
HAL_DEF_RX_PAGE_SIZE = 0x8,
|
|
HAL_DEF_DBG_DM_FUNC = 0x9,
|
|
HAL_DEF_RA_DECISION_RATE = 0xA,
|
|
HAL_DEF_RA_SGI = 0xB,
|
|
HAL_DEF_PT_PWR_STATUS = 0xC,
|
|
HW_VAR_MAX_RX_AMPDU_FACTOR = 0xD,
|
|
HW_DEF_RA_INFO_DUMP = 0xE,
|
|
HAL_DEF_DBG_DUMP_TXPKT = 0xF,
|
|
HW_DEF_ODM_DBG_FLAG = 0x10,
|
|
HW_DEF_ODM_DBG_LEVEL = 0x11,
|
|
HAL_DEF_TX_PAGE_SIZE = 0x12,
|
|
HAL_DEF_TX_PAGE_BOUNDARY = 0x13,
|
|
HAL_DEF_MACID_SLEEP = 0x14,
|
|
HAL_DEF_DBG_RX_INFO_DUMP = 0x15,
|
|
};
|
|
typedef enum _HAL_DEF_VARIABLE HAL_DEF_VARIABLE;
|
|
|
|
enum _HAL_ODM_VARIABLE // : sint32_t
|
|
{
|
|
HAL_ODM_STA_INFO = 0x0,
|
|
HAL_ODM_DBG_FLAG = 0x1,
|
|
HAL_ODM_RX_INFO_DUMP = 0x2,
|
|
HAL_ODM_NOISE_MONITOR = 0x3,
|
|
HAL_ODM_REGULATION = 0x4,
|
|
};
|
|
typedef enum _HAL_ODM_VARIABLE HAL_ODM_VARIABLE;
|
|
|
|
typedef void *_thread_hdl_;
|
|
|
|
/*
|
|
// osdep_service.h
|
|
struct task_struct
|
|
{
|
|
const char *task_name;
|
|
_thread_hdl_ task;
|
|
_sema wakeup_sema;
|
|
_sema terminate_sema;
|
|
uint32_t blocked;
|
|
uint32_t callback_running;
|
|
};
|
|
*/
|
|
|
|
typedef struct net_device *_nic_hdl;
|
|
/*
|
|
// wrapper.h
|
|
struct net_device_stats
|
|
{
|
|
uint32_t rx_packets;
|
|
uint32_t tx_packets;
|
|
uint32_t rx_dropped;
|
|
uint32_t tx_dropped;
|
|
uint32_t rx_bytes;
|
|
uint32_t tx_bytes;
|
|
uint32_t rx_overflow;
|
|
};
|
|
*/
|
|
|
|
struct dvobj_priv {
|
|
void *if1;
|
|
void *if2;
|
|
void *padapters[2];
|
|
uint8_t iface_nums;
|
|
uint8_t RtOutPipe[3];
|
|
uint8_t Queue2Pipe[8];
|
|
uint8_t irq_alloc;
|
|
uint8_t irq_enabled;
|
|
_lock irq_th_lock;
|
|
};
|
|
|
|
struct phy_info {
|
|
uint8_t RxPWDBAll;
|
|
uint8_t SignalQuality;
|
|
uint8_t RxMIMOSignalStrength[1];
|
|
int8_t RecvSignalPower;
|
|
uint8_t SignalStrength;
|
|
};
|
|
|
|
struct _atr_aligned4_ rx_pkt_attrib {
|
|
uint16_t pkt_len;
|
|
uint8_t physt;
|
|
uint8_t drvinfo_sz;
|
|
uint8_t shift_sz;
|
|
uint8_t hdrlen;
|
|
uint8_t to_fr_ds;
|
|
uint8_t amsdu;
|
|
uint8_t qos;
|
|
uint8_t priority;
|
|
uint8_t pw_save;
|
|
uint8_t mdata;
|
|
uint16_t seq_num;
|
|
uint8_t frag_num;
|
|
uint8_t mfrag;
|
|
uint8_t order;
|
|
uint8_t privacy;
|
|
uint8_t bdecrypted;
|
|
uint8_t encrypt;
|
|
uint8_t iv_len;
|
|
uint8_t icv_len;
|
|
uint8_t crc_err;
|
|
uint8_t icv_err;
|
|
uint16_t eth_type;
|
|
uint8_t dst[6];
|
|
uint8_t src[6];
|
|
uint8_t ta[6];
|
|
uint8_t ra[6];
|
|
uint8_t bssid[6];
|
|
uint8_t ack_policy;
|
|
uint8_t tcpchk_valid;
|
|
uint8_t ip_chkrpt;
|
|
uint8_t tcp_chkrpt;
|
|
uint8_t key_index;
|
|
uint8_t mcs_rate;
|
|
uint8_t rxht;
|
|
uint8_t sgi;
|
|
uint8_t pkt_rpt_type;
|
|
uint32_t MacIDValidEntry[2];
|
|
uint8_t data_rate;
|
|
struct phy_info phy_info;
|
|
};
|
|
|
|
struct recv_frame_hdr {
|
|
_list list;
|
|
struct sk_buff *pkt;
|
|
struct sk_buff *pkt_newalloc;
|
|
_adapter *adapter;
|
|
uint8_t fragcnt;
|
|
int frame_tag;
|
|
struct rx_pkt_attrib attrib;
|
|
uint32_t len;
|
|
uint8_t *rx_head;
|
|
uint8_t *rx_data;
|
|
uint8_t *rx_tail;
|
|
uint8_t *rx_end;
|
|
void *precvbuf;
|
|
struct sta_info *psta;
|
|
};
|
|
|
|
struct recv_frame {
|
|
union {
|
|
_list list;
|
|
struct recv_frame_hdr hdr;
|
|
uint32_t mem[32];
|
|
};
|
|
};
|
|
/*
|
|
union $AB04817EA6EB89125E28056B7464A4D7 {
|
|
_list list;
|
|
struct recv_frame_hdr hdr;
|
|
uint32_t mem[32];
|
|
};
|
|
|
|
union recv_frame {
|
|
union $AB04817EA6EB89125E28056B7464A4D7 u;
|
|
};
|
|
*/
|
|
/*
|
|
// skbuff.h
|
|
struct sk_buff
|
|
{
|
|
struct sk_buff *next;
|
|
struct sk_buff *prev;
|
|
struct sk_buff_head *list;
|
|
uint8_t *head;
|
|
uint8_t *data;
|
|
uint8_t *tail;
|
|
uint8_t *end;
|
|
void *dev;
|
|
uint32_t len;
|
|
};
|
|
|
|
struct sk_buff_head
|
|
{
|
|
struct list_head *next;
|
|
struct list_head *prev;
|
|
uint32_t qlen;
|
|
};
|
|
*/
|
|
|
|
struct tx_servq {
|
|
_list tx_pending;
|
|
_queue sta_pending;
|
|
int qcnt;
|
|
};
|
|
|
|
struct sta_xmit_priv {
|
|
_lock lock;
|
|
sint option;
|
|
sint apsd_setting;
|
|
struct tx_servq be_q;
|
|
struct tx_servq bk_q;
|
|
struct tx_servq vi_q;
|
|
struct tx_servq vo_q;
|
|
_list legacy_dz;
|
|
_list apsd;
|
|
uint16_t txseq_tid[16];
|
|
};
|
|
|
|
struct stainfo_rxcache {
|
|
uint16_t tid_rxseq[16];
|
|
};
|
|
|
|
struct sta_recv_priv {
|
|
_lock lock;
|
|
sint option;
|
|
_queue defrag_q;
|
|
struct stainfo_rxcache rxcache;
|
|
};
|
|
|
|
struct stainfo_stats {
|
|
u8Byte rx_mgnt_pkts;
|
|
u8Byte rx_ctrl_pkts;
|
|
u8Byte rx_data_pkts;
|
|
u8Byte last_rx_mgnt_pkts;
|
|
u8Byte last_rx_ctrl_pkts;
|
|
u8Byte last_rx_data_pkts;
|
|
u8Byte rx_bytes;
|
|
u8Byte tx_pkts;
|
|
u8Byte tx_bytes;
|
|
};
|
|
|
|
struct _RSSI_STA {
|
|
int32_t UndecoratedSmoothedPWDB;
|
|
int32_t UndecoratedSmoothedCCK;
|
|
int32_t UndecoratedSmoothedOFDM;
|
|
u8Byte PacketMap;
|
|
uint8_t ValidBit;
|
|
uint32_t OFDM_pkt;
|
|
};
|
|
typedef struct _RSSI_STA RSSI_STA;
|
|
|
|
struct sta_info {
|
|
_lock lock;
|
|
_list list;
|
|
_list hash_list;
|
|
_adapter *padapter;
|
|
struct sta_xmit_priv sta_xmitpriv;
|
|
struct sta_recv_priv sta_recvpriv;
|
|
_queue sleep_q;
|
|
uint32_t sleepq_len;
|
|
uint32_t state;
|
|
uint32_t aid;
|
|
uint32_t mac_id;
|
|
uint32_t qos_option;
|
|
uint8_t hwaddr[6];
|
|
uint32_t ieee8021x_blocked;
|
|
uint32_t dot118021XPrivacy;
|
|
union Keytype dot11tkiptxmickey;
|
|
union Keytype dot11tkiprxmickey;
|
|
union Keytype dot118021x_UncstKey;
|
|
union pn48 dot11txpn;
|
|
union pn48 dot11rxpn;
|
|
uint8_t bssrateset[16];
|
|
uint32_t bssratelen;
|
|
int32_t rssi;
|
|
int32_t signal_quality;
|
|
uint8_t cts2self;
|
|
uint8_t rtsen;
|
|
uint8_t raid;
|
|
uint8_t init_rate;
|
|
uint32_t ra_mask;
|
|
uint8_t wireless_mode;
|
|
struct stainfo_stats sta_stats;
|
|
_timer addba_retry_timer;
|
|
uint16_t BA_starting_seqctrl[16];
|
|
struct ht_priv htpriv;
|
|
_list asoc_list;
|
|
_list auth_list;
|
|
uint32_t expire_to;
|
|
uint32_t auth_seq;
|
|
uint32_t authalg;
|
|
uint8_t chg_txt[128];
|
|
uint16_t capability;
|
|
uint32_t flags;
|
|
int dot8021xalg;
|
|
int wpa_psk;
|
|
int wpa_group_cipher;
|
|
int wpa2_group_cipher;
|
|
int wpa_pairwise_cipher;
|
|
int wpa2_pairwise_cipher;
|
|
uint8_t bpairwise_key_installed;
|
|
uint8_t wpa_ie[32];
|
|
uint8_t nonerp_set;
|
|
uint8_t no_short_slot_time_set;
|
|
uint8_t no_short_preamble_set;
|
|
uint8_t no_ht_gf_set;
|
|
uint8_t no_ht_set;
|
|
uint8_t ht_20mhz_set;
|
|
uint32_t tx_ra_bitmap;
|
|
uint8_t qos_info;
|
|
uint8_t max_sp_len;
|
|
uint8_t uapsd_bk;
|
|
uint8_t uapsd_be;
|
|
uint8_t uapsd_vi;
|
|
uint8_t uapsd_vo;
|
|
uint8_t has_legacy_ac;
|
|
uint32_t sleepq_ac_len;
|
|
RSSI_STA rssi_stat;
|
|
uint8_t bValid;
|
|
uint8_t IOTPeer;
|
|
uint8_t rssi_level;
|
|
uint8_t RSSI_Path[4];
|
|
uint8_t RSSI_Ave;
|
|
uint8_t RXEVM[4];
|
|
uint8_t RXSNR[4];
|
|
};
|
|
/*
|
|
// wifi_conf.h
|
|
struct _atr_aligned4_ _cus_ie
|
|
{
|
|
uint8_t *ie;
|
|
uint8_t type;
|
|
};
|
|
*/
|
|
|
|
struct fifo_more_data {
|
|
uint32_t more_data;
|
|
uint32_t len;
|
|
};
|
|
|
|
struct hw_xmit {
|
|
_queue *sta_queue;
|
|
int accnt;
|
|
};
|
|
|
|
struct tx_buf_desc {
|
|
uint32_t txdw0;
|
|
uint32_t txdw1;
|
|
uint32_t txdw2;
|
|
uint32_t txdw3;
|
|
uint32_t txdw4;
|
|
uint32_t txdw5;
|
|
uint32_t txdw6;
|
|
uint32_t txdw7;
|
|
};
|
|
|
|
struct recv_buf_stat {
|
|
uint32_t rxdw0;
|
|
uint32_t rxdw1;
|
|
};
|
|
|
|
struct _wpa_sta_info {
|
|
int state;
|
|
int gstate;
|
|
int RSNEnabled;
|
|
int PInitAKeys;
|
|
uint8_t UnicastCipher;
|
|
LARGE_INTEGER CurrentReplayCounter;
|
|
LARGE_INTEGER ReplayCounterStarted;
|
|
OCTET_STRING ANonce;
|
|
OCTET_STRING SNonce;
|
|
uint8_t AnonceBuf[32];
|
|
uint8_t SnonceBuf[32];
|
|
uint8_t PMK[32];
|
|
uint8_t PTK[64];
|
|
OCTET_STRING EAPOLMsgRecvd;
|
|
OCTET_STRING EAPOLMsgSend;
|
|
OCTET_STRING EapolKeyMsgRecvd;
|
|
OCTET_STRING EapolKeyMsgSend;
|
|
uint8_t eapSendBuf[512];
|
|
struct timer_list resendTimer;
|
|
int resendCnt;
|
|
int clientHndshkProcessing;
|
|
int clientHndshkDone;
|
|
int clientGkeyUpdate;
|
|
LARGE_INTEGER clientMICReportReplayCounter;
|
|
};
|
|
|
|
struct pkt_attrib {
|
|
uint8_t type;
|
|
uint8_t subtype;
|
|
uint8_t bswenc;
|
|
uint8_t dhcp_pkt;
|
|
uint16_t ether_type;
|
|
uint16_t seqnum;
|
|
uint16_t pkt_hdrlen;
|
|
uint16_t hdrlen;
|
|
uint32_t pktlen;
|
|
uint32_t last_txcmdsz;
|
|
uint8_t encrypt;
|
|
uint8_t iv_len;
|
|
uint8_t icv_len;
|
|
uint8_t iv[18];
|
|
uint8_t icv[16];
|
|
uint8_t priority;
|
|
uint8_t ack_policy;
|
|
uint8_t mac_id;
|
|
uint8_t vcs_mode;
|
|
uint8_t dst[6];
|
|
uint8_t src[6];
|
|
uint8_t ta[6];
|
|
uint8_t ra[6];
|
|
uint8_t key_idx;
|
|
uint8_t qos_en;
|
|
uint8_t ht_en;
|
|
uint8_t raid;
|
|
uint8_t bwmode;
|
|
uint8_t ch_offset;
|
|
uint8_t sgi;
|
|
uint8_t ampdu_en;
|
|
uint8_t mdata;
|
|
uint8_t pctrl;
|
|
uint8_t triggered;
|
|
uint8_t qsel;
|
|
uint8_t eosp;
|
|
uint8_t rate;
|
|
uint8_t intel_proxim;
|
|
uint8_t retry_ctrl;
|
|
struct sta_info *psta;
|
|
};
|
|
|
|
typedef struct sk_buff _pkt;
|
|
|
|
struct _XIMT_BUF_ {
|
|
uint32_t AllocatBufAddr;
|
|
uint32_t BufAddr;
|
|
uint32_t BufLen;
|
|
};
|
|
typedef struct _XIMT_BUF_ XIMT_BUF;
|
|
|
|
struct _atr_aligned4_ xmit_frame {
|
|
_list list;
|
|
struct pkt_attrib attrib;
|
|
_pkt *pkt;
|
|
int frame_tag;
|
|
_adapter *padapter;
|
|
uint8_t *buf_addr;
|
|
struct xmit_buf *pxmitbuf;
|
|
uint32_t TxDexAddr;
|
|
uint32_t HdrLen;
|
|
uint32_t PayLoadAddr;
|
|
uint32_t PayLoadLen;
|
|
uint32_t TotalLen;
|
|
uint32_t BlockNum;
|
|
XIMT_BUF BufInfo[4];
|
|
BOOLEAN NoCoalesce;
|
|
};
|
|
|
|
struct xmit_buf {
|
|
_list list;
|
|
_adapter *padapter;
|
|
_pkt *pkt;
|
|
uint8_t *pbuf;
|
|
void *priv_data;
|
|
uint16_t buf_tag;
|
|
uint16_t flags;
|
|
uint32_t alloc_sz;
|
|
uint32_t len;
|
|
struct submit_ctx *sctx;
|
|
XIMT_BUF BufInfo[4];
|
|
uint32_t BlockNum;
|
|
};
|
|
|
|
struct submit_ctx {
|
|
uint32_t submit_time;
|
|
uint32_t timeout_ms;
|
|
int status;
|
|
};
|
|
/*
|
|
// wrapper.h
|
|
struct net_device
|
|
{
|
|
char name[16];
|
|
void *priv;
|
|
uint8_t dev_addr[6];
|
|
int (*init)(void);
|
|
int (*open)(struct net_device *);
|
|
int (*stop)(struct net_device *);
|
|
int (*hard_start_xmit)(struct sk_buff *, struct net_device *);
|
|
int (*do_ioctl)(struct net_device *, struct iwreq *, int);
|
|
struct net_device_stats *(*get_stats)(struct net_device *);
|
|
};
|
|
*/
|
|
/*
|
|
// wireless.h
|
|
struct iw_point
|
|
{
|
|
void *pointer;
|
|
uint16_t length;
|
|
uint16_t flags;
|
|
};
|
|
|
|
struct iw_param
|
|
{
|
|
sint32_t value;
|
|
uint8_t fixed;
|
|
uint8_t disabled;
|
|
uint16_t flags;
|
|
};
|
|
|
|
|
|
struct iw_freq
|
|
{
|
|
sint32_t m;
|
|
sint16_t e;
|
|
uint8_t i;
|
|
uint8_t flags;
|
|
};
|
|
|
|
struct iw_quality
|
|
{
|
|
uint8_t qual;
|
|
uint8_t level;
|
|
uint8_t noise;
|
|
uint8_t updated;
|
|
};
|
|
|
|
struct sockaddr_t
|
|
{
|
|
uint8_t sa_len;
|
|
uint8_t sa_family;
|
|
char sa_data[14];
|
|
};
|
|
|
|
union iwreq_data
|
|
{
|
|
char name[16];
|
|
struct iw_point essid;
|
|
struct iw_param nwid;
|
|
struct iw_freq freq;
|
|
struct iw_param sens;
|
|
struct iw_param bitrate;
|
|
struct iw_param txpower;
|
|
struct iw_param rts;
|
|
struct iw_param frag;
|
|
uint32_t mode;
|
|
struct iw_param retry;
|
|
struct iw_point encoding;
|
|
struct iw_param power;
|
|
struct iw_quality qual;
|
|
struct sockaddr_t ap_addr;
|
|
struct sockaddr_t addr;
|
|
struct iw_param param;
|
|
struct iw_point data;
|
|
struct iw_point passphrase;
|
|
};
|
|
|
|
struct iwreq
|
|
{
|
|
char ifr_name[16];
|
|
union iwreq_data u;
|
|
};
|
|
*/
|
|
struct co_data_priv {
|
|
uint8_t co_ch;
|
|
uint8_t co_bw;
|
|
uint8_t co_ch_offset;
|
|
uint8_t rsvd;
|
|
};
|
|
|
|
enum _HARDWARE_TYPE // : sint32_t
|
|
{
|
|
HARDWARE_TYPE_RTL8180 = 0x0,
|
|
HARDWARE_TYPE_RTL8185 = 0x1,
|
|
HARDWARE_TYPE_RTL8187 = 0x2,
|
|
HARDWARE_TYPE_RTL8188 = 0x3,
|
|
HARDWARE_TYPE_RTL8190P = 0x4,
|
|
HARDWARE_TYPE_RTL8192E = 0x5,
|
|
HARDWARE_TYPE_RTL819xU = 0x6,
|
|
HARDWARE_TYPE_RTL8192SE = 0x7,
|
|
HARDWARE_TYPE_RTL8192SU = 0x8,
|
|
HARDWARE_TYPE_RTL8192CE = 0x9,
|
|
HARDWARE_TYPE_RTL8192CU = 0xA,
|
|
HARDWARE_TYPE_RTL8192DE = 0xB,
|
|
HARDWARE_TYPE_RTL8192DU = 0xC,
|
|
HARDWARE_TYPE_RTL8723AE = 0xD,
|
|
HARDWARE_TYPE_RTL8723AU = 0xE,
|
|
HARDWARE_TYPE_RTL8723AS = 0xF,
|
|
HARDWARE_TYPE_RTL8188EE = 0x10,
|
|
HARDWARE_TYPE_RTL8188EU = 0x11,
|
|
HARDWARE_TYPE_RTL8188ES = 0x12,
|
|
HARDWARE_TYPE_RTL8192EE = 0x13,
|
|
HARDWARE_TYPE_RTL8192EU = 0x14,
|
|
HARDWARE_TYPE_RTL8192ES = 0x15,
|
|
HARDWARE_TYPE_RTL8812E = 0x16,
|
|
HARDWARE_TYPE_RTL8812AU = 0x17,
|
|
HARDWARE_TYPE_RTL8811AU = 0x18,
|
|
HARDWARE_TYPE_RTL8821E = 0x19,
|
|
HARDWARE_TYPE_RTL8821U = 0x1A,
|
|
HARDWARE_TYPE_RTL8821S = 0x1B,
|
|
HARDWARE_TYPE_RTL8723BE = 0x1C,
|
|
HARDWARE_TYPE_RTL8723BU = 0x1D,
|
|
HARDWARE_TYPE_RTL8723BS = 0x1E,
|
|
HARDWARE_TYPE_RTL8195A = 0x1F,
|
|
HARDWARE_TYPE_RTL8711B = 0x20,
|
|
HARDWARE_TYPE_RTL8188FE = 0x21,
|
|
HARDWARE_TYPE_RTL8188FU = 0x22,
|
|
HARDWARE_TYPE_RTL8188FS = 0x23,
|
|
HARDWARE_TYPE_MAX = 0x24,
|
|
};
|
|
|
|
struct RF_Shadow_Compare_Map {
|
|
uint32_t Value;
|
|
uint8_t Compare;
|
|
uint8_t ErrorOrNot;
|
|
uint8_t Recorver;
|
|
uint8_t Driver_Write;
|
|
};
|
|
typedef struct RF_Shadow_Compare_Map RF_SHADOW_T;
|
|
|
|
enum _PS_BBRegBackup_ // : sint32_t
|
|
{
|
|
PSBBREG_RF0 = 0x0,
|
|
PSBBREG_RF1 = 0x1,
|
|
PSBBREG_RF2 = 0x2,
|
|
PSBBREG_AFE0 = 0x3,
|
|
PSBBREG_TOTALCNT = 0x4,
|
|
};
|
|
|
|
/*
|
|
// hal_irqn.h
|
|
enum _IRQn_Type_ // : sint32_t
|
|
{
|
|
NonMaskableInt_IRQn = 0xFFFFFFF2,
|
|
HardFault_IRQn = 0xFFFFFFF3,
|
|
MemoryManagement_IRQn = 0xFFFFFFF4,
|
|
BusFault_IRQn = 0xFFFFFFF5,
|
|
UsageFault_IRQn = 0xFFFFFFF6,
|
|
SVCall_IRQn = 0xFFFFFFFB,
|
|
DebugMonitor_IRQn = 0xFFFFFFFC,
|
|
PendSV_IRQn = 0xFFFFFFFE,
|
|
SysTick_IRQn = 0xFFFFFFFF,
|
|
SYSTEM_ON_IRQ = 0x0,
|
|
WDG_IRQ = 0x1,
|
|
TIMER0_IRQ = 0x2,
|
|
TIMER1_IRQ = 0x3,
|
|
I2C3_IRQ = 0x4,
|
|
TIMER2_7_IRQ = 0x5,
|
|
SPI0_IRQ = 0x6,
|
|
GPIO_IRQ = 0x7,
|
|
UART0_IRQ = 0x8,
|
|
SPI_FLASH_IRQ = 0x9,
|
|
USB_OTG_IRQ = 0xA,
|
|
SDIO_HOST_IRQ = 0xB,
|
|
SDIO_DEVICE_IRQ = 0xC,
|
|
I2S0_PCM0_IRQ = 0xD,
|
|
I2S1_PCM1_IRQ = 0xE,
|
|
WL_DMA_IRQ = 0xF,
|
|
WL_PROTOCOL_IRQ = 0x10,
|
|
CRYPTO_IRQ = 0x11,
|
|
GMAC_IRQ = 0x12,
|
|
PERIPHERAL_IRQ = 0x13,
|
|
GDMA0_CHANNEL0_IRQ = 0x14,
|
|
GDMA0_CHANNEL1_IRQ = 0x15,
|
|
GDMA0_CHANNEL2_IRQ = 0x16,
|
|
GDMA0_CHANNEL3_IRQ = 0x17,
|
|
GDMA0_CHANNEL4_IRQ = 0x18,
|
|
GDMA0_CHANNEL5_IRQ = 0x19,
|
|
GDMA1_CHANNEL0_IRQ = 0x1A,
|
|
GDMA1_CHANNEL1_IRQ = 0x1B,
|
|
GDMA1_CHANNEL2_IRQ = 0x1C,
|
|
GDMA1_CHANNEL3_IRQ = 0x1D,
|
|
GDMA1_CHANNEL4_IRQ = 0x1E,
|
|
GDMA1_CHANNEL5_IRQ = 0x1F,
|
|
I2C0_IRQ = 0x40,
|
|
I2C1_IRQ = 0x41,
|
|
I2C2_IRQ = 0x42,
|
|
SPI1_IRQ = 0x48,
|
|
SPI2_IRQ = 0x49,
|
|
UART1_IRQ = 0x50,
|
|
UART2_IRQ = 0x51,
|
|
UART_LOG_IRQ = 0x58,
|
|
ADC_IRQ = 0x59,
|
|
DAC0_IRQ = 0x5B,
|
|
DAC1_IRQ = 0x5C,
|
|
LP_EXTENSION_IRQ = 0x5D,
|
|
PTA_TRX_IRQ = 0x5F,
|
|
RXI300_IRQ = 0x60,
|
|
NFC_IRQ = 0x61,
|
|
};
|
|
|
|
typedef enum _IRQn_Type_ IRQn_Type;
|
|
|
|
typedef void (*IRQ_FUN)(void *);
|
|
|
|
struct _IRQ_HANDLE_
|
|
{
|
|
IRQ_FUN IrqFun;
|
|
IRQn_Type IrqNum;
|
|
uint32_t Data;
|
|
uint32_t Priority;
|
|
};
|
|
typedef struct _IRQ_HANDLE_ IRQ_HANDLE;
|
|
*/
|
|
/*
|
|
// hal_soc_ps_monitor.h
|
|
struct _power_state_
|
|
{
|
|
uint8_t FuncIdx;
|
|
uint8_t PowerState;
|
|
};
|
|
|
|
typedef struct _power_state_ POWER_STATE;
|
|
|
|
struct _atr_aligned4_ _power_mgn_
|
|
{
|
|
uint8_t ActFuncCount;
|
|
POWER_STATE PwrState[10];
|
|
uint8_t CurrentState;
|
|
uint8_t SDREn;
|
|
uint32_t MSPbackup[129];
|
|
uint32_t CPURegbackup[25];
|
|
uint32_t CPUPSP;
|
|
uint32_t WakeEventFlag;
|
|
BOOL SleepFlag;
|
|
};
|
|
typedef struct _power_mgn_ Power_Mgn;
|
|
|
|
/*
|
|
// hal_gpio.h
|
|
enum $E1AD70AB12E7AA6E98B8D89D9B965EB5 //: sint32_t
|
|
{
|
|
_PORT_A = 0x0,
|
|
_PORT_B = 0x1,
|
|
_PORT_C = 0x2,
|
|
_PORT_D = 0x3,
|
|
_PORT_E = 0x4,
|
|
_PORT_F = 0x5,
|
|
_PORT_G = 0x6,
|
|
_PORT_H = 0x7,
|
|
_PORT_I = 0x8,
|
|
_PORT_J = 0x9,
|
|
_PORT_K = 0xA,
|
|
_PORT_MAX = 0xB,
|
|
};
|
|
|
|
typedef void (*GPIO_IRQ_FUN)(void *, uint32_t);
|
|
|
|
typedef void (*GPIO_USER_IRQ_FUN)(uint32_t);
|
|
|
|
struct _atr_aligned4_ _HAL_GPIO_ADAPTER_
|
|
{
|
|
IRQ_HANDLE IrqHandle;
|
|
GPIO_USER_IRQ_FUN UserIrqHandler;
|
|
GPIO_IRQ_FUN PortA_IrqHandler[32];
|
|
void *PortA_IrqData[32];
|
|
void (*EnterCritical)(void);
|
|
void (*ExitCritical)(void);
|
|
uint32_t Local_Gpio_Dir[3];
|
|
uint8_t Gpio_Func_En;
|
|
uint8_t Locked;
|
|
};
|
|
typedef struct _HAL_GPIO_ADAPTER_ *PHAL_GPIO_ADAPTER;
|
|
*/
|
|
|
|
struct hal_ops {
|
|
uint32_t (*hal_power_on)(_adapter *);
|
|
uint32_t (*hal_init)(_adapter *);
|
|
uint32_t (*hal_deinit)(_adapter *);
|
|
void (*free_hal_data)(_adapter *);
|
|
uint32_t (*inirp_init)(_adapter *);
|
|
uint32_t (*inirp_deinit)(_adapter *);
|
|
void (*irp_reset)(_adapter *);
|
|
int32_t (*init_xmit_priv)(_adapter *);
|
|
void (*free_xmit_priv)(_adapter *);
|
|
int32_t (*init_recv_priv)(_adapter *);
|
|
void (*free_recv_priv)(_adapter *);
|
|
void (*update_txdesc)(struct xmit_frame *, uint8_t *);
|
|
void (*InitSwLeds)(_adapter *);
|
|
void (*DeInitSwLeds)(_adapter *);
|
|
void (*dm_init)(_adapter *);
|
|
void (*dm_deinit)(_adapter *);
|
|
void (*read_chip_version)(_adapter *);
|
|
void (*init_default_value)(_adapter *);
|
|
void (*intf_chip_configure)(_adapter *);
|
|
void (*read_adapter_info)(_adapter *);
|
|
void (*enable_interrupt)(_adapter *);
|
|
void (*disable_interrupt)(_adapter *);
|
|
int32_t (*interrupt_handler)(_adapter *);
|
|
void (*set_bwmode_handler)(_adapter *, CHANNEL_WIDTH, uint8_t);
|
|
void (*set_channel_handler)(_adapter *, uint8_t);
|
|
void (*set_chnl_bw_handler)(_adapter *, uint8_t, CHANNEL_WIDTH, uint8_t,
|
|
uint8_t);
|
|
void (*hal_dm_watchdog)(_adapter *);
|
|
void (*SetHwRegHandler)(_adapter *, uint8_t, uint8_t *);
|
|
void (*GetHwRegHandler)(_adapter *, uint8_t, uint8_t *);
|
|
uint8_t (*GetHalDefVarHandler)(_adapter *, HAL_DEF_VARIABLE, PVOID);
|
|
uint8_t (*SetHalDefVarHandler)(_adapter *, HAL_DEF_VARIABLE, PVOID);
|
|
void (*GetHalODMVarHandler)(_adapter *, HAL_ODM_VARIABLE, PVOID, BOOLEAN);
|
|
void (*SetHalODMVarHandler)(_adapter *, HAL_ODM_VARIABLE, PVOID, BOOLEAN);
|
|
void (*UpdateRAMaskHandler)(_adapter *, uint32_t, uint8_t);
|
|
void (*Add_RateATid)(_adapter *, uint32_t, uint8_t *, uint8_t);
|
|
void (*clone_haldata)(_adapter *, _adapter *);
|
|
void (*run_thread)(_adapter *);
|
|
void (*cancel_thread)(_adapter *);
|
|
int32_t (*hal_xmit)(_adapter *, struct xmit_frame *);
|
|
int32_t (*mgnt_xmit)(_adapter *, struct xmit_frame *);
|
|
uint32_t (*read_bbreg)(_adapter *, uint32_t, uint32_t);
|
|
void (*write_bbreg)(_adapter *, uint32_t, uint32_t, uint32_t);
|
|
uint32_t (*read_rfreg)(_adapter *, uint32_t, uint32_t, uint32_t);
|
|
void (*write_rfreg)(_adapter *, uint32_t, uint32_t, uint32_t, uint32_t);
|
|
void (*EfusePowerSwitch)(_adapter *, uint8_t, uint8_t);
|
|
void (*ReadEFuse)(_adapter *, uint8_t, uint16_t, uint16_t, uint8_t *,
|
|
BOOLEAN);
|
|
void (*EFUSEGetEfuseDefinition)(_adapter *, uint8_t, uint8_t, void *,
|
|
BOOLEAN);
|
|
uint16_t (*EfuseGetCurrentSize)(_adapter *, uint8_t, BOOLEAN);
|
|
int (*Efuse_PgPacketWrite)(_adapter *, uint8_t, uint8_t, uint8_t *,
|
|
BOOLEAN);
|
|
uint8_t (*Efuse_WordEnableDataWrite)(_adapter *, uint16_t, uint8_t,
|
|
uint8_t *, BOOLEAN);
|
|
void (*recv_tasklet)(void *);
|
|
int32_t (*fill_h2c_cmd)(_adapter *, uint8_t, uint32_t, uint8_t *);
|
|
void (*fill_fake_txdesc)(_adapter *, uint8_t *, uint32_t, uint8_t, uint8_t,
|
|
uint8_t);
|
|
uint8_t (*hal_get_tx_buff_rsvd_page_num)(_adapter *, bool);
|
|
};
|
|
|
|
struct _atr_aligned4_ _ADAPTER {
|
|
uint16_t HardwareType;
|
|
uint16_t interface_type; //+2
|
|
uint32_t work_mode; //+4
|
|
struct dvobj_priv *dvobj; //+8
|
|
struct mlme_priv mlmepriv; //+12 [1244]
|
|
struct mlme_ext_priv mlmeextpriv; //+1256 [912]
|
|
struct cmd_priv cmdpriv; //+2168
|
|
struct evt_priv evtpriv; //+
|
|
struct io_priv iopriv;
|
|
struct xmit_priv xmitpriv; //+2248
|
|
struct recv_priv recvpriv; //+2752
|
|
struct sta_priv stapriv; //+3024 [164]
|
|
struct security_priv securitypriv;
|
|
struct registry_priv registrypriv;
|
|
struct pwrctrl_priv pwrctrlpriv; // pwrctrlpriv.bInternalAutoSuspend //+5061
|
|
struct eeprom_priv eeprompriv;
|
|
PVOID HalData;
|
|
uint32_t hal_data_sz;
|
|
struct hal_ops HalFunc;
|
|
int32_t bDriverStopped; //+5880
|
|
int32_t bSurpriseRemoved; //+5884
|
|
int32_t bCardDisableWOHSM; //+5888
|
|
uint8_t RxStop; //+5892
|
|
uint32_t IsrContent;
|
|
uint32_t ImrContent;
|
|
uint8_t EepromAddressSize;
|
|
uint8_t hw_init_completed; //+5905
|
|
uint8_t bDriverIsGoingToUnload;
|
|
uint8_t init_adpt_in_progress;
|
|
uint8_t bMpDriver;
|
|
uint8_t bForwardingDisabled;
|
|
struct task_struct isrThread; //+5888
|
|
struct task_struct cmdThread; //+5920
|
|
struct task_struct recvtasklet_thread; //+5952
|
|
struct task_struct xmittasklet_thread; //+5984
|
|
void (*intf_start)(_adapter *); //+6008
|
|
void (*intf_stop)(_adapter *); //+6012
|
|
_nic_hdl pnetdev; //+6016
|
|
int bup; //+6020
|
|
struct net_device_stats stats;
|
|
uint8_t net_closed; //+6052
|
|
uint8_t bFWReady;
|
|
uint8_t bLinkInfoDump;
|
|
uint8_t bRxRSSIDisplay;
|
|
_adapter *pbuddy_adapter; //+6056
|
|
_mutex *hw_init_mutex; //+6060
|
|
uint8_t isprimary; //+6064
|
|
uint8_t adapter_type; //+6065
|
|
uint8_t iface_type; //+6056
|
|
_mutex *ph2c_fwcmd_mutex; //+6068
|
|
_mutex *psetch_mutex; //+6072
|
|
_mutex *psetbw_mutex; //+6076
|
|
struct co_data_priv *pcodatapriv; //+6080
|
|
uint8_t fix_rate; //+6084
|
|
}; // [6088] (!)
|
|
typedef struct _ADAPTER *PADAPTER;
|
|
// if sizeof(struct _ADAPTER) != 6088 #error "Check aligned struct!" !
|
|
|
|
enum tag_HAL_IC_Type_Definition // : sint32_t
|
|
{
|
|
CHIP_8192S = 0x0,
|
|
CHIP_8188C = 0x1,
|
|
CHIP_8192C = 0x2,
|
|
CHIP_8192D = 0x3,
|
|
CHIP_8723A = 0x4,
|
|
CHIP_8188E = 0x5,
|
|
CHIP_8812 = 0x6,
|
|
CHIP_8821 = 0x7,
|
|
CHIP_8723B = 0x8,
|
|
CHIP_8192E = 0x9,
|
|
CHIP_8195A = 0xA,
|
|
CHIP_8711B = 0xB,
|
|
CHIP_8188F = 0xC,
|
|
};
|
|
typedef enum tag_HAL_IC_Type_Definition HAL_IC_TYPE_E;
|
|
|
|
enum tag_HAL_CHIP_Type_Definition // : sint32_t
|
|
{
|
|
TEST_CHIP = 0x0, NORMAL_CHIP = 0x1, FPGA = 0x2,
|
|
};
|
|
typedef enum tag_HAL_CHIP_Type_Definition HAL_CHIP_TYPE_E;
|
|
|
|
enum tag_HAL_Cut_Version_Definition // : sint32_t
|
|
{
|
|
A_CUT_VERSION = 0x0,
|
|
B_CUT_VERSION = 0x1,
|
|
C_CUT_VERSION = 0x2,
|
|
D_CUT_VERSION = 0x3,
|
|
E_CUT_VERSION = 0x4,
|
|
F_CUT_VERSION = 0x5,
|
|
G_CUT_VERSION = 0x6,
|
|
H_CUT_VERSION = 0x7,
|
|
I_CUT_VERSION = 0x8,
|
|
J_CUT_VERSION = 0x9,
|
|
K_CUT_VERSION = 0xA,
|
|
};
|
|
typedef enum tag_HAL_Cut_Version_Definition HAL_CUT_VERSION_E;
|
|
|
|
enum tag_HAL_Manufacturer_Version_Definition //: sint32_t
|
|
{
|
|
CHIP_VENDOR_TSMC = 0x0, CHIP_VENDOR_UMC = 0x1, CHIP_VENDOR_SMIC = 0x2,
|
|
};
|
|
typedef enum tag_HAL_Manufacturer_Version_Definition HAL_VENDOR_E;
|
|
|
|
enum tag_HAL_RF_Type_Definition //: sint32_t
|
|
{
|
|
RF_TYPE_1T1R = 0x0,
|
|
RF_TYPE_1T2R = 0x1,
|
|
RF_TYPE_2T2R = 0x2,
|
|
RF_TYPE_2T3R = 0x3,
|
|
RF_TYPE_2T4R = 0x4,
|
|
RF_TYPE_3T3R = 0x5,
|
|
RF_TYPE_3T4R = 0x6,
|
|
RF_TYPE_4T4R = 0x7,
|
|
};
|
|
typedef enum tag_HAL_RF_Type_Definition HAL_RF_TYPE_E;
|
|
|
|
struct _atr_aligned4_ tag_HAL_VERSION {
|
|
HAL_IC_TYPE_E ICType;
|
|
HAL_CHIP_TYPE_E ChipType;
|
|
HAL_CUT_VERSION_E CUTVersion;
|
|
HAL_VENDOR_E VendorType;
|
|
HAL_RF_TYPE_E RFType;
|
|
uint8_t ROMVer;
|
|
};
|
|
typedef struct tag_HAL_VERSION HAL_VERSION;
|
|
|
|
enum _HW_VARIABLES //: sint32_t
|
|
{
|
|
HW_VAR_MEDIA_STATUS = 0x0,
|
|
HW_VAR_MEDIA_STATUS1 = 0x1,
|
|
HW_VAR_SET_OPMODE = 0x2,
|
|
HW_VAR_MAC_ADDR = 0x3,
|
|
HW_VAR_BSSID = 0x4,
|
|
HW_VAR_INIT_RTS_RATE = 0x5,
|
|
HW_VAR_BASIC_RATE = 0x6,
|
|
HW_VAR_TXPAUSE = 0x7,
|
|
HW_VAR_BCN_FUNC = 0x8,
|
|
HW_VAR_CORRECT_TSF = 0x9,
|
|
HW_VAR_CHECK_BSSID = 0xA,
|
|
HW_VAR_MLME_DISCONNECT = 0xB,
|
|
HW_VAR_MLME_SITESURVEY = 0xC,
|
|
HW_VAR_MLME_JOIN = 0xD,
|
|
HW_VAR_ON_RCR_AM = 0xE,
|
|
HW_VAR_OFF_RCR_AM = 0xF,
|
|
HW_VAR_BEACON_INTERVAL = 0x10,
|
|
HW_VAR_SLOT_TIME = 0x11,
|
|
HW_VAR_RESP_SIFS = 0x12,
|
|
HW_VAR_ACK_PREAMBLE = 0x13,
|
|
HW_VAR_SEC_CFG = 0x14,
|
|
HW_VAR_SEC_DK_CFG = 0x15,
|
|
HW_VAR_RF_TYPE = 0x16,
|
|
HW_VAR_DM_FLAG = 0x17,
|
|
HW_VAR_DM_FUNC_OP = 0x18,
|
|
HW_VAR_DM_FUNC_SET = 0x19,
|
|
HW_VAR_DM_FUNC_CLR = 0x1A,
|
|
HW_VAR_CAM_EMPTY_ENTRY = 0x1B,
|
|
HW_VAR_CAM_INVALID_ALL = 0x1C,
|
|
HW_VAR_CAM_WRITE = 0x1D,
|
|
HW_VAR_CAM_READ = 0x1E,
|
|
HW_VAR_AC_PARAM_VO = 0x1F,
|
|
HW_VAR_AC_PARAM_VI = 0x20,
|
|
HW_VAR_AC_PARAM_BE = 0x21,
|
|
HW_VAR_AC_PARAM_BK = 0x22,
|
|
HW_VAR_ACM_CTRL = 0x23,
|
|
HW_VAR_AMPDU_MIN_SPACE = 0x24,
|
|
HW_VAR_AMPDU_FACTOR = 0x25,
|
|
HW_VAR_RXDMA_AGG_PG_TH = 0x26,
|
|
HW_VAR_SET_RPWM = 0x27,
|
|
HW_VAR_GET_RPWM = 0x28,
|
|
HW_VAR_CPWM = 0x29,
|
|
HW_VAR_H2C_FW_PWRMODE = 0x2A,
|
|
HW_VAR_H2C_PS_TUNE_PARAM = 0x2B,
|
|
HW_VAR_H2C_FW_JOINBSSRPT = 0x2C,
|
|
HW_VAR_FWLPS_RF_ON = 0x2D,
|
|
HW_VAR_H2C_FW_P2P_PS_OFFLOAD = 0x2E,
|
|
HW_VAR_TDLS_WRCR = 0x2F,
|
|
HW_VAR_TDLS_INIT_CH_SEN = 0x30,
|
|
HW_VAR_TDLS_RS_RCR = 0x31,
|
|
HW_VAR_TDLS_DONE_CH_SEN = 0x32,
|
|
HW_VAR_INITIAL_GAIN = 0x33,
|
|
HW_VAR_TRIGGER_GPIO_0 = 0x34,
|
|
HW_VAR_CURRENT_ANTENNA = 0x35,
|
|
HW_VAR_ANTENNA_DIVERSITY_LINK = 0x36,
|
|
HW_VAR_ANTENNA_DIVERSITY_SELECT = 0x37,
|
|
HW_VAR_SWITCH_EPHY_WoWLAN = 0x38,
|
|
HW_VAR_EFUSE_USAGE = 0x39,
|
|
HW_VAR_EFUSE_BYTES = 0x3A,
|
|
HW_VAR_FIFO_CLEARN_UP = 0x3B,
|
|
HW_VAR_RESTORE_HW_SEQ = 0x3C,
|
|
HW_VAR_HCI_SUS_STATE = 0x3D,
|
|
HW_VAR_CHECK_TXBUF = 0x3E,
|
|
HW_VAR_APFM_ON_MAC = 0x3F,
|
|
HW_VAR_NAV_UPPER = 0x40,
|
|
HW_VAR_C2H_HANDLE = 0x41,
|
|
HW_VAR_RPT_TIMER_SETTING = 0x42,
|
|
HW_VAR_TX_RPT_MAX_MACID = 0x43,
|
|
HW_VAR_H2C_MEDIA_STATUS_RPT = 0x44,
|
|
HW_VAR_CHK_HI_QUEUE_EMPTY = 0x45,
|
|
HW_VAR_DL_BCN_SEL = 0x46,
|
|
HW_VAR_PORT_SWITCH = 0x47,
|
|
HW_VAR_DM_IN_LPS = 0x48,
|
|
HW_VAR_SET_REQ_FW_PS = 0x49,
|
|
HW_VAR_FW_PS_STATE = 0x4A,
|
|
HW_VAR_DL_RSVD_PAGE = 0x4B,
|
|
HW_VAR_MACID_SLEEP = 0x4C,
|
|
HW_VAR_MACID_WAKEUP = 0x4D,
|
|
HW_VAR_DUMP_MAC_QUEUE_INFO = 0x4E,
|
|
HW_VAR_ASIX_IOT = 0x4F,
|
|
HW_VAR_PROMISC = 0x50,
|
|
};
|
|
|
|
enum _BAND_TYPE // : sint32_t
|
|
{
|
|
BAND_ON_2_4G = 0x0, BAND_ON_5G = 0x1, BAND_ON_BOTH = 0x2, BANDMAX = 0x3,
|
|
};
|
|
typedef enum _BAND_TYPE BAND_TYPE;
|
|
|
|
struct _BB_REGISTER_DEFINITION {
|
|
uint32_t rfintfs;
|
|
uint32_t rfintfo;
|
|
uint32_t rfintfe;
|
|
uint32_t rf3wireOffset;
|
|
uint32_t rfHSSIPara2;
|
|
uint32_t rfLSSIReadBack;
|
|
uint32_t rfLSSIReadBackPi;
|
|
};
|
|
typedef struct _BB_REGISTER_DEFINITION BB_REGISTER_DEFINITION_T;
|
|
|
|
enum dot11AuthAlgrthmNum //: sint32_t
|
|
{
|
|
dot11AuthAlgrthm_Open = 0x0,
|
|
dot11AuthAlgrthm_Shared = 0x1,
|
|
dot11AuthAlgrthm_8021X = 0x2,
|
|
dot11AuthAlgrthm_Auto = 0x3,
|
|
dot11AuthAlgrthm_WAPI = 0x4,
|
|
dot11AuthAlgrthm_MaxNum = 0x5,
|
|
};
|
|
|
|
enum _RT_CHANNEL_DOMAIN //: sint32_t
|
|
{
|
|
RT_CHANNEL_DOMAIN_FCC = 0x0,
|
|
RT_CHANNEL_DOMAIN_IC = 0x1,
|
|
RT_CHANNEL_DOMAIN_ETSI = 0x2,
|
|
RT_CHANNEL_DOMAIN_SPAIN = 0x3,
|
|
RT_CHANNEL_DOMAIN_FRANCE = 0x4,
|
|
RT_CHANNEL_DOMAIN_MKK = 0x5,
|
|
RT_CHANNEL_DOMAIN_MKK1 = 0x6,
|
|
RT_CHANNEL_DOMAIN_ISRAEL = 0x7,
|
|
RT_CHANNEL_DOMAIN_TELEC = 0x8,
|
|
RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN = 0x9,
|
|
RT_CHANNEL_DOMAIN_WORLD_WIDE_13 = 0xA,
|
|
RT_CHANNEL_DOMAIN_TAIWAN = 0xB,
|
|
RT_CHANNEL_DOMAIN_CHINA = 0xC,
|
|
RT_CHANNEL_DOMAIN_SINGAPORE_INDIA_MEXICO = 0xD,
|
|
RT_CHANNEL_DOMAIN_KOREA = 0xE,
|
|
RT_CHANNEL_DOMAIN_TURKEY = 0xF,
|
|
RT_CHANNEL_DOMAIN_JAPAN = 0x10,
|
|
RT_CHANNEL_DOMAIN_FCC_NO_DFS = 0x11,
|
|
RT_CHANNEL_DOMAIN_JAPAN_NO_DFS = 0x12,
|
|
RT_CHANNEL_DOMAIN_WORLD_WIDE_5G = 0x13,
|
|
RT_CHANNEL_DOMAIN_TAIWAN_NO_DFS = 0x14,
|
|
RT_CHANNEL_DOMAIN_WORLD_NULL = 0x20,
|
|
RT_CHANNEL_DOMAIN_ETSI1_NULL = 0x21,
|
|
RT_CHANNEL_DOMAIN_FCC1_NULL = 0x22,
|
|
RT_CHANNEL_DOMAIN_MKK1_NULL = 0x23,
|
|
RT_CHANNEL_DOMAIN_ETSI2_NULL = 0x24,
|
|
RT_CHANNEL_DOMAIN_FCC1_FCC1 = 0x25,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI1 = 0x26,
|
|
RT_CHANNEL_DOMAIN_MKK1_MKK1 = 0x27,
|
|
RT_CHANNEL_DOMAIN_WORLD_KCC1 = 0x28,
|
|
RT_CHANNEL_DOMAIN_WORLD_FCC2 = 0x29,
|
|
RT_CHANNEL_DOMAIN_FCC2_NULL = 0x2A,
|
|
RT_CHANNEL_DOMAIN_WORLD_FCC3 = 0x30,
|
|
RT_CHANNEL_DOMAIN_WORLD_FCC4 = 0x31,
|
|
RT_CHANNEL_DOMAIN_WORLD_FCC5 = 0x32,
|
|
RT_CHANNEL_DOMAIN_WORLD_FCC6 = 0x33,
|
|
RT_CHANNEL_DOMAIN_FCC1_FCC7 = 0x34,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI2 = 0x35,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI3 = 0x36,
|
|
RT_CHANNEL_DOMAIN_MKK1_MKK2 = 0x37,
|
|
RT_CHANNEL_DOMAIN_MKK1_MKK3 = 0x38,
|
|
RT_CHANNEL_DOMAIN_FCC1_NCC1 = 0x39,
|
|
RT_CHANNEL_DOMAIN_FCC1_NCC2 = 0x40,
|
|
RT_CHANNEL_DOMAIN_GLOBAL_NULL = 0x41,
|
|
RT_CHANNEL_DOMAIN_ETSI1_ETSI4 = 0x42,
|
|
RT_CHANNEL_DOMAIN_FCC1_FCC2 = 0x43,
|
|
RT_CHANNEL_DOMAIN_FCC1_NCC3 = 0x44,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI5 = 0x45,
|
|
RT_CHANNEL_DOMAIN_FCC1_FCC8 = 0x46,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI6 = 0x47,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI7 = 0x48,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI8 = 0x49,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI9 = 0x50,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI10 = 0x51,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI11 = 0x52,
|
|
RT_CHANNEL_DOMAIN_FCC1_NCC4 = 0x53,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI12 = 0x54,
|
|
RT_CHANNEL_DOMAIN_FCC1_FCC9 = 0x55,
|
|
RT_CHANNEL_DOMAIN_WORLD_ETSI13 = 0x56,
|
|
RT_CHANNEL_DOMAIN_FCC1_FCC10 = 0x57,
|
|
RT_CHANNEL_DOMAIN_MKK2_MKK4 = 0x58,
|
|
RT_CHANNEL_DOMAIN_MAX = 0x59,
|
|
RT_CHANNEL_DOMAIN_REALTEK_DEFINE = 0x7F,
|
|
};
|
|
|
|
struct _driver_priv {
|
|
int drv_registered;
|
|
_mutex hw_init_mutex;
|
|
_mutex h2c_fwcmd_mutex;
|
|
_mutex setch_mutex;
|
|
_mutex setbw_mutex;
|
|
};
|
|
typedef struct _driver_priv drv_priv;
|
|
|
|
struct _ADAPTIVITY_STATISTICS {
|
|
s1Byte TH_L2H_ini_mode2;
|
|
s1Byte TH_EDCCA_HL_diff_mode2;
|
|
s1Byte TH_EDCCA_HL_diff_backup;
|
|
s1Byte IGI_Base;
|
|
u1Byte IGI_target;
|
|
u1Byte NHMWait;
|
|
s1Byte H2L_lb;
|
|
s1Byte L2H_lb;
|
|
BOOLEAN bFirstLink;
|
|
BOOLEAN bCheck;
|
|
BOOLEAN DynamicLinkAdaptivity;
|
|
u1Byte APNumTH;
|
|
u1Byte AdajustIGILevel;
|
|
};
|
|
typedef struct _ADAPTIVITY_STATISTICS ADAPTIVITY_STATISTICS;
|
|
|
|
struct _ODM_NOISE_MONITOR_ {
|
|
s1Byte noise[1];
|
|
s2Byte noise_all;
|
|
};
|
|
typedef struct _ODM_NOISE_MONITOR_ ODM_NOISE_MONITOR;
|
|
/* in rtl_bios_data.h
|
|
struct _FALSE_ALARM_STATISTICS {
|
|
u4Byte Cnt_Parity_Fail;
|
|
u4Byte Cnt_Rate_Illegal;
|
|
u4Byte Cnt_Crc8_fail;
|
|
u4Byte Cnt_Mcs_fail;
|
|
u4Byte Cnt_Ofdm_fail;
|
|
u4Byte Cnt_Ofdm_fail_pre;
|
|
u4Byte Cnt_Cck_fail;
|
|
u4Byte Cnt_all;
|
|
u4Byte Cnt_Fast_Fsync;
|
|
u4Byte Cnt_SB_Search_fail;
|
|
u4Byte Cnt_OFDM_CCA;
|
|
u4Byte Cnt_CCK_CCA;
|
|
u4Byte Cnt_CCA_all;
|
|
u4Byte Cnt_BW_USC;
|
|
u4Byte Cnt_BW_LSC;
|
|
};
|
|
typedef struct _FALSE_ALARM_STATISTICS FALSE_ALARM_STATISTICS;
|
|
*/
|
|
|
|
enum _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE //: sint32_t
|
|
{
|
|
PHY_REG_PG_RELATIVE_VALUE = 0x0, PHY_REG_PG_EXACT_VALUE = 0x1,
|
|
};
|
|
typedef enum _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE PHY_REG_PG_TYPE;
|
|
|
|
/* in rtl_bios_data.h
|
|
struct _atr_aligned4_ _CFO_TRACKING_ {
|
|
BOOLEAN bATCStatus;
|
|
BOOLEAN largeCFOHit;
|
|
BOOLEAN bAdjust;
|
|
u1Byte CrystalCap;
|
|
u1Byte DefXCap;
|
|
int CFO_tail[2];
|
|
int CFO_ave_pre;
|
|
u4Byte packetCount;
|
|
u4Byte packetCount_pre;
|
|
BOOLEAN bForceXtalCap;
|
|
BOOLEAN bReset;
|
|
u1Byte CFO_TH_XTAL_HIGH;
|
|
u1Byte CFO_TH_XTAL_LOW;
|
|
u1Byte CFO_TH_ATC;
|
|
};
|
|
typedef struct _CFO_TRACKING_ CFO_TRACKING;
|
|
*/
|
|
/* in rtl_bios_data.h
|
|
struct _atr_aligned8_ _ROM_INFO {
|
|
u1Byte EEPROMVersion;
|
|
u1Byte CrystalCap;
|
|
u8Byte DebugComponents;
|
|
u4Byte DebugLevel;
|
|
};
|
|
typedef struct _ROM_INFO ROM_INFO;
|
|
*/
|
|
|
|
typedef struct _ROM_INFO *PROM_INFO;
|
|
|
|
typedef struct sta_info *PSTA_INFO_T;
|
|
|
|
struct _ODM_Phy_Dbg_Info_ {
|
|
s1Byte RxSNRdB[4];
|
|
u4Byte NumQryPhyStatus;
|
|
u4Byte NumQryPhyStatusCCK;
|
|
u4Byte NumQryPhyStatusOFDM;
|
|
u1Byte NumQryBeaconPkt;
|
|
s4Byte RxEVM[4];
|
|
};
|
|
typedef struct _ODM_Phy_Dbg_Info_ ODM_PHY_DBG_INFO_T;
|
|
|
|
struct _ODM_Mac_Status_Info_ {
|
|
u1Byte test;
|
|
};
|
|
typedef struct _ODM_Mac_Status_Info_ ODM_MAC_INFO;
|
|
|
|
struct _atr_aligned4_ _ODM_RA_Info_ {
|
|
u1Byte RateID;
|
|
u4Byte RateMask;
|
|
u4Byte RAUseRate;
|
|
u1Byte RateSGI;
|
|
u1Byte RssiStaRA;
|
|
u1Byte PreRssiStaRA;
|
|
u1Byte SGIEnable;
|
|
u1Byte DecisionRate;
|
|
u1Byte PreRate;
|
|
u1Byte HighestRate;
|
|
u1Byte LowestRate;
|
|
u4Byte NscUp;
|
|
u4Byte NscDown;
|
|
u2Byte RTY[5];
|
|
u4Byte TOTAL;
|
|
u2Byte DROP;
|
|
u1Byte Active;
|
|
u2Byte RptTime;
|
|
u1Byte RAWaitingCounter;
|
|
u1Byte RAPendingCounter;
|
|
u1Byte RAINFO;
|
|
u1Byte Initial_BW;
|
|
u1Byte BW_setting;
|
|
u1Byte DISPT;
|
|
u1Byte DISRA;
|
|
u1Byte Stage_RA;
|
|
u1Byte PRE_BW;
|
|
u1Byte MacID;
|
|
u1Byte Try_state;
|
|
u1Byte Try_done_cnt;
|
|
u2Byte RA_counter;
|
|
u1Byte Init_Rate_H;
|
|
u1Byte Init_Rate_M;
|
|
u1Byte Init_Rate_L;
|
|
u4Byte Total_TX;
|
|
u1Byte TRAINING_RATE;
|
|
u1Byte STOP_PT_COUNTER;
|
|
u1Byte MODE_SS;
|
|
u1Byte PT_smooth_factor;
|
|
u1Byte PTActive;
|
|
u1Byte PTTryState;
|
|
u1Byte PTStage;
|
|
u1Byte PTStopCount;
|
|
u1Byte PTPreRate;
|
|
u1Byte PTPreRssi;
|
|
u1Byte PTModeSS;
|
|
u1Byte RAstage;
|
|
u1Byte PTSmoothFactor;
|
|
};
|
|
typedef struct _ODM_RA_Info_ ODM_RA_INFO_T;
|
|
typedef struct _ODM_RA_Info_ *PODM_RA_INFO_T;
|
|
|
|
struct _FAST_ANTENNA_TRAINNING_ {
|
|
u1Byte Bssid[6];
|
|
u1Byte antsel_rx_keep_0;
|
|
u1Byte antsel_rx_keep_1;
|
|
u1Byte antsel_rx_keep_2;
|
|
u4Byte antSumRSSI[7];
|
|
u4Byte antRSSIcnt[7];
|
|
u4Byte antAveRSSI[7];
|
|
u1Byte FAT_State;
|
|
u4Byte TrainIdx;
|
|
u1Byte antsel_a[7];
|
|
u1Byte antsel_b[7];
|
|
u1Byte antsel_c[7];
|
|
u4Byte MainAnt_Sum[7];
|
|
u4Byte AuxAnt_Sum[7];
|
|
u4Byte MainAnt_Cnt[7];
|
|
u4Byte AuxAnt_Cnt[7];
|
|
u4Byte MainAnt_Sum_CCK[7];
|
|
u4Byte AuxAnt_Sum_CCK[7];
|
|
u4Byte MainAnt_Cnt_CCK[7];
|
|
u4Byte AuxAnt_Cnt_CCK[7];
|
|
u1Byte RxIdleAnt;
|
|
BOOLEAN bBecomeLinked;
|
|
u4Byte MinMaxRSSI;
|
|
u1Byte idx_AntDiv_counter_2G;
|
|
u1Byte idx_AntDiv_counter_5G;
|
|
u4Byte AntDiv_2G_5G;
|
|
u4Byte CCK_counter_main;
|
|
u4Byte CCK_counter_aux;
|
|
u4Byte OFDM_counter_main;
|
|
u4Byte OFDM_counter_aux;
|
|
};
|
|
typedef struct _FAST_ANTENNA_TRAINNING_ FAT_T;
|
|
|
|
struct _Dynamic_Initial_Gain_Threshold_ {
|
|
BOOLEAN bStopDIG;
|
|
BOOLEAN bPauseDIG;
|
|
BOOLEAN bIgnoreDIG;
|
|
BOOLEAN bPSDInProgress;
|
|
u1Byte Dig_Enable_Flag;
|
|
u1Byte Dig_Ext_Port_Stage;
|
|
int RssiLowThresh;
|
|
int RssiHighThresh;
|
|
u4Byte FALowThresh;
|
|
u4Byte FAHighThresh;
|
|
u1Byte CurSTAConnectState;
|
|
u1Byte PreSTAConnectState;
|
|
u1Byte CurMultiSTAConnectState;
|
|
u1Byte PreIGValue;
|
|
u1Byte CurIGValue;
|
|
u1Byte BackupIGValue;
|
|
u1Byte BT30_CurIGI;
|
|
u1Byte IGIBackup;
|
|
s1Byte BackoffVal;
|
|
s1Byte BackoffVal_range_max;
|
|
s1Byte BackoffVal_range_min;
|
|
u1Byte rx_gain_range_max;
|
|
u1Byte rx_gain_range_min;
|
|
u1Byte Rssi_val_min;
|
|
u1Byte PreCCK_CCAThres;
|
|
u1Byte CurCCK_CCAThres;
|
|
u1Byte PreCCKPDState;
|
|
u1Byte CurCCKPDState;
|
|
u1Byte CCKPDBackup;
|
|
u1Byte LargeFAHit;
|
|
u1Byte ForbiddenIGI;
|
|
u4Byte Recover_cnt;
|
|
u1Byte DIG_Dynamic_MIN_0;
|
|
u1Byte DIG_Dynamic_MIN_1;
|
|
BOOLEAN bMediaConnect_0;
|
|
BOOLEAN bMediaConnect_1;
|
|
u4Byte AntDiv_RSSI_max;
|
|
u4Byte RSSI_max;
|
|
u1Byte *pbP2pLinkInProgress;
|
|
};
|
|
typedef struct _Dynamic_Initial_Gain_Threshold_ DIG_T;
|
|
|
|
struct _ODM_RATE_ADAPTIVE {
|
|
u1Byte Type;
|
|
u1Byte HighRSSIThresh;
|
|
u1Byte LowRSSIThresh;
|
|
u1Byte RATRState;
|
|
u1Byte LdpcThres;
|
|
BOOLEAN bLowerRtsRate;
|
|
BOOLEAN bUseLdpc;
|
|
};
|
|
typedef struct _ODM_RATE_ADAPTIVE ODM_RATE_ADAPTIVE;
|
|
|
|
struct _Dynamic_Power_Saving_ {
|
|
u1Byte PreCCAState;
|
|
u1Byte CurCCAState;
|
|
u1Byte PreRFState;
|
|
u1Byte CurRFState;
|
|
int Rssi_val_min;
|
|
u1Byte initialize;
|
|
u4Byte Reg874;
|
|
u4Byte RegC70;
|
|
u4Byte Reg85C;
|
|
u4Byte RegA74;
|
|
};
|
|
typedef struct _Dynamic_Power_Saving_ PS_T;
|
|
|
|
struct _Dynamic_Primary_CCA {
|
|
u1Byte PriCCA_flag;
|
|
u1Byte intf_flag;
|
|
u1Byte intf_type;
|
|
u1Byte DupRTS_flag;
|
|
u1Byte Monitor_flag;
|
|
u1Byte CH_offset;
|
|
u1Byte MF_state;
|
|
};
|
|
typedef struct _Dynamic_Primary_CCA Pri_CCA_T;
|
|
|
|
struct _RX_High_Power_ {
|
|
u1Byte RXHP_flag;
|
|
u1Byte PSD_func_trigger;
|
|
u1Byte PSD_bitmap_RXHP[80];
|
|
u1Byte Pre_IGI;
|
|
u1Byte Cur_IGI;
|
|
u1Byte Pre_pw_th;
|
|
u1Byte Cur_pw_th;
|
|
BOOLEAN First_time_enter;
|
|
BOOLEAN RXHP_enable;
|
|
u1Byte TP_Mode;
|
|
};
|
|
typedef struct _RX_High_Power_ RXHP_T;
|
|
|
|
struct _Rate_Adaptive_Table_ {
|
|
u1Byte firstconnect;
|
|
};
|
|
typedef struct _Rate_Adaptive_Table_ RA_T;
|
|
|
|
struct _atr_aligned8_ _SW_Antenna_Switch_ {
|
|
u1Byte Double_chk_flag;
|
|
u1Byte try_flag;
|
|
s4Byte PreRSSI;
|
|
u1Byte CurAntenna;
|
|
u1Byte PreAntenna;
|
|
u1Byte RSSI_Trying;
|
|
u1Byte TestMode;
|
|
u1Byte bTriggerAntennaSwitch;
|
|
u1Byte SelectAntennaMap;
|
|
u1Byte RSSI_target;
|
|
u1Byte reset_idx;
|
|
u1Byte SWAS_NoLink_State;
|
|
u4Byte SWAS_NoLink_BK_Reg860;
|
|
u4Byte SWAS_NoLink_BK_Reg92c;
|
|
BOOLEAN ANTA_ON;
|
|
BOOLEAN ANTB_ON;
|
|
u1Byte Ant5G;
|
|
u1Byte Ant2G;
|
|
s4Byte RSSI_sum_A;
|
|
s4Byte RSSI_sum_B;
|
|
s4Byte RSSI_cnt_A;
|
|
s4Byte RSSI_cnt_B;
|
|
u8Byte lastTxOkCnt;
|
|
u8Byte lastRxOkCnt;
|
|
u8Byte TXByteCnt_A;
|
|
u8Byte TXByteCnt_B;
|
|
u8Byte RXByteCnt_A;
|
|
u8Byte RXByteCnt_B;
|
|
u1Byte TrafficLoad;
|
|
u1Byte Train_time;
|
|
u1Byte Train_time_flag;
|
|
};
|
|
typedef struct _SW_Antenna_Switch_ SWAT_T;
|
|
|
|
struct _EDCA_TURBO_ {
|
|
BOOLEAN bCurrentTurboEDCA;
|
|
BOOLEAN bIsCurRDLState;
|
|
};
|
|
typedef struct _EDCA_TURBO_ EDCA_T;
|
|
|
|
struct _ANT_DETECTED_INFO {
|
|
BOOLEAN bAntDetected;
|
|
u4Byte dBForAntA;
|
|
u4Byte dBForAntB;
|
|
u4Byte dBForAntO;
|
|
};
|
|
typedef struct _ANT_DETECTED_INFO ANT_DETECTED_INFO;
|
|
|
|
struct _IQK_MATRIX_REGS_SETTING {
|
|
BOOLEAN bIQKDone;
|
|
s4Byte Value[1][8];
|
|
};
|
|
typedef struct _IQK_MATRIX_REGS_SETTING IQK_MATRIX_REGS_SETTING;
|
|
|
|
struct _atr_aligned8_ ODM_RF_Calibration_Structure {
|
|
u4Byte RegA24;
|
|
s4Byte RegE94;
|
|
s4Byte RegE9C;
|
|
s4Byte RegEB4;
|
|
s4Byte RegEBC;
|
|
u1Byte TXPowercount;
|
|
BOOLEAN bTXPowerTrackingInit;
|
|
BOOLEAN bTXPowerTracking;
|
|
u1Byte TxPowerTrackControl;
|
|
u1Byte TM_Trigger;
|
|
u1Byte InternalPA5G[2];
|
|
u1Byte ThermalMeter[2];
|
|
u1Byte ThermalValue;
|
|
u1Byte ThermalValue_LCK;
|
|
u1Byte ThermalValue_IQK;
|
|
u1Byte ThermalValue_DPK;
|
|
u1Byte ThermalValue_AVG[8];
|
|
u1Byte ThermalValue_AVG_index;
|
|
u1Byte ThermalValue_RxGain;
|
|
u1Byte ThermalValue_Crystal;
|
|
u1Byte ThermalValue_DPKstore;
|
|
u1Byte ThermalValue_DPKtrack;
|
|
BOOLEAN TxPowerTrackingInProgress;
|
|
BOOLEAN bReloadtxpowerindex;
|
|
u1Byte bRfPiEnable;
|
|
u4Byte TXPowerTrackingCallbackCnt;
|
|
u1Byte bCCKinCH14;
|
|
u1Byte CCK_index[1];
|
|
s1Byte PowerIndexOffset_CCK[1];
|
|
s1Byte DeltaPowerIndex_CCK[1];
|
|
s1Byte DeltaPowerIndexLast_CCK[1];
|
|
u1Byte OFDM_index[1];
|
|
s1Byte PowerIndexOffset_OFDM[1];
|
|
s1Byte DeltaPowerIndex_OFDM[1];
|
|
s1Byte DeltaPowerIndexLast_OFDM[1];
|
|
BOOLEAN bTxPowerChanged;
|
|
s1Byte XtalOffset;
|
|
s1Byte XtalOffsetLast;
|
|
u1Byte ThermalValue_HP[8];
|
|
u1Byte ThermalValue_HP_index;
|
|
IQK_MATRIX_REGS_SETTING IQKMatrixRegSetting[14];
|
|
u1Byte Delta_LCK;
|
|
s1Byte BBSwingDiff2G;
|
|
s1Byte BBSwingDiff5G;
|
|
s1Byte DeltaSwingTableIdx_2GCCKA_P[30];
|
|
s1Byte DeltaSwingTableIdx_2GCCKA_N[30];
|
|
s1Byte DeltaSwingTableIdx_2GA_P[30];
|
|
s1Byte DeltaSwingTableIdx_2GA_N[30];
|
|
s1Byte DeltaSwingTableXtal_P[30];
|
|
s1Byte DeltaSwingTableXtal_N[30];
|
|
u4Byte RegC04;
|
|
u4Byte Reg874;
|
|
u4Byte RegC08;
|
|
u4Byte RegB68;
|
|
u4Byte RegB6C;
|
|
u4Byte Reg870;
|
|
u4Byte Reg860;
|
|
u4Byte Reg864;
|
|
BOOLEAN bIQKInitialized;
|
|
BOOLEAN bLCKInProgress;
|
|
BOOLEAN bAntennaDetected;
|
|
BOOLEAN bNeedIQK;
|
|
BOOLEAN bIQKInProgress;
|
|
u1Byte Delta_IQK;
|
|
u4Byte ADDA_backup[16];
|
|
u4Byte IQK_MAC_backup[4];
|
|
u4Byte IQK_BB_backup_recover[9];
|
|
u4Byte IQK_BB_backup[9];
|
|
u4Byte TxIQC_8723B[2][3][2];
|
|
u4Byte RxIQC_8723B[2][2][2];
|
|
u8Byte IQK_StartTime;
|
|
u8Byte IQK_ProgressingTime;
|
|
u4Byte LOK_Result;
|
|
u4Byte APKoutput[2][2];
|
|
u1Byte bAPKdone;
|
|
u1Byte bAPKThermalMeterIgnore;
|
|
BOOLEAN bDPKFail;
|
|
u1Byte bDPdone;
|
|
u1Byte bDPPathAOK;
|
|
u1Byte bDPPathBOK;
|
|
u4Byte TxLOK[2];
|
|
u4Byte DpkTxAGC;
|
|
s4Byte DpkGain;
|
|
u4Byte DpkThermal[4];
|
|
};
|
|
typedef struct ODM_RF_Calibration_Structure ODM_RF_CAL_T;
|
|
|
|
struct _atr_aligned8_ DM_Out_Source_Dynamic_Mechanism_Structure {
|
|
PADAPTER Adapter;
|
|
BOOLEAN odm_ready;
|
|
PHY_REG_PG_TYPE PhyRegPgValueType;
|
|
u1Byte PhyRegPgVersion;
|
|
u4Byte NumQryPhyStatusAll;
|
|
u4Byte LastNumQryPhyStatusAll;
|
|
u4Byte RxPWDBAve;
|
|
BOOLEAN MPDIG_2G;
|
|
u1Byte Times_2G;
|
|
BOOLEAN bCckHighPower;
|
|
u1Byte RFPathRxEnable;
|
|
u1Byte ControlChannel;
|
|
u1Byte SupportPlatform;
|
|
u4Byte SupportAbility;
|
|
u1Byte SupportInterface;
|
|
u4Byte SupportICType;
|
|
u1Byte CutVersion;
|
|
u1Byte FabVersion;
|
|
u1Byte RFType;
|
|
u1Byte RFEType;
|
|
u1Byte BoardType;
|
|
u1Byte PackageType;
|
|
u1Byte TypeGLNA;
|
|
u1Byte TypeGPA;
|
|
u1Byte TypeALNA;
|
|
u1Byte TypeAPA;
|
|
u1Byte ExtLNA;
|
|
u1Byte ExtLNA5G;
|
|
u1Byte ExtPA;
|
|
u1Byte ExtPA5G;
|
|
u1Byte ExtTRSW;
|
|
u1Byte PatchID;
|
|
BOOLEAN bInHctTest;
|
|
BOOLEAN bWIFITest;
|
|
BOOLEAN bDualMacSmartConcurrent;
|
|
u4Byte BK_SupportAbility;
|
|
u1Byte AntDivType;
|
|
u1Byte odm_Regulation2_4G;
|
|
u1Byte odm_Regulation5G;
|
|
u1Byte u1Byte_temp;
|
|
PADAPTER PADAPTER_temp;
|
|
u1Byte *pMacPhyMode;
|
|
u8Byte *pNumTxBytesUnicast;
|
|
u8Byte *pNumRxBytesUnicast;
|
|
u1Byte *pWirelessMode;
|
|
u1Byte *pBandType;
|
|
u1Byte *pSecChOffset;
|
|
u1Byte *pSecurity;
|
|
u1Byte *pBandWidth;
|
|
u1Byte *pChannel;
|
|
BOOLEAN DPK_Done;
|
|
BOOLEAN *pbGetValueFromOtherMac;
|
|
PADAPTER *pBuddyAdapter;
|
|
BOOLEAN *pbMasterOfDMSP;
|
|
BOOLEAN *pbScanInProcess;
|
|
BOOLEAN *pbPowerSaving;
|
|
u1Byte *pOnePathCCA;
|
|
u1Byte *pAntennaTest;
|
|
BOOLEAN *pbNet_closed;
|
|
u1Byte *mp_mode;
|
|
u1Byte *pu1ForcedIgiLb;
|
|
BOOLEAN *pIsFcsModeEnable;
|
|
pu2Byte pForcedDataRate;
|
|
BOOLEAN bLinkInProcess;
|
|
BOOLEAN bWIFI_Direct;
|
|
BOOLEAN bWIFI_Display;
|
|
BOOLEAN bLinked;
|
|
BOOLEAN bsta_state;
|
|
u1Byte RSSI_Min;
|
|
u1Byte InterfaceIndex;
|
|
BOOLEAN bIsMPChip;
|
|
BOOLEAN bOneEntryOnly;
|
|
BOOLEAN bBtEnabled;
|
|
BOOLEAN bBtConnectProcess;
|
|
u1Byte btHsRssi;
|
|
BOOLEAN bBtHsOperation;
|
|
BOOLEAN bBtDisableEdcaTurbo;
|
|
BOOLEAN bBtLimitedDig;
|
|
u1Byte RSSI_A;
|
|
u1Byte RSSI_B;
|
|
u8Byte RSSI_TRSW;
|
|
u8Byte RSSI_TRSW_H;
|
|
u8Byte RSSI_TRSW_L;
|
|
u8Byte RSSI_TRSW_iso;
|
|
u1Byte RxRate;
|
|
BOOLEAN bNoisyState;
|
|
u1Byte TxRate;
|
|
u1Byte LinkedInterval;
|
|
u1Byte preChannel;
|
|
u4Byte TxagcOffsetValueA;
|
|
BOOLEAN IsTxagcOffsetPositiveA;
|
|
u4Byte TxagcOffsetValueB;
|
|
BOOLEAN IsTxagcOffsetPositiveB;
|
|
u8Byte lastTxOkCnt;
|
|
u8Byte lastRxOkCnt;
|
|
u4Byte BbSwingOffsetA;
|
|
BOOLEAN IsBbSwingOffsetPositiveA;
|
|
u4Byte BbSwingOffsetB;
|
|
BOOLEAN IsBbSwingOffsetPositiveB;
|
|
u1Byte antdiv_rssi;
|
|
u1Byte AntType;
|
|
u1Byte pre_AntType;
|
|
u1Byte antdiv_period;
|
|
u1Byte antdiv_select;
|
|
u1Byte NdpaPeriod;
|
|
BOOLEAN H2C_RARpt_connect;
|
|
u2Byte NHM_cnt_0;
|
|
u2Byte NHM_cnt_1;
|
|
s1Byte TH_L2H_ini;
|
|
s1Byte TH_EDCCA_HL_diff;
|
|
s1Byte TH_L2H_ini_backup;
|
|
BOOLEAN Carrier_Sense_enable;
|
|
u1Byte Adaptivity_IGI_upper;
|
|
BOOLEAN adaptivity_flag;
|
|
u1Byte DCbackoff;
|
|
BOOLEAN Adaptivity_enable;
|
|
u1Byte APTotalNum;
|
|
ADAPTIVITY_STATISTICS Adaptivity;
|
|
ODM_NOISE_MONITOR noise_level;
|
|
PSTA_INFO_T pODM_StaInfo[7];
|
|
u2Byte CurrminRptTime;
|
|
ODM_RA_INFO_T RAInfo[7];
|
|
BOOLEAN RaSupport88E;
|
|
ODM_PHY_DBG_INFO_T PhyDbgInfo;
|
|
ODM_MAC_INFO *pMacInfo;
|
|
FAT_T DM_FatTable;
|
|
DIG_T DM_DigTable;
|
|
PS_T DM_PSTable;
|
|
Pri_CCA_T DM_PriCCA;
|
|
RXHP_T DM_RXHP_Table;
|
|
RA_T DM_RA_Table;
|
|
PROM_INFO pROMInfo;
|
|
FALSE_ALARM_STATISTICS FalseAlmCnt;
|
|
CFO_TRACKING DM_CfoTrack;
|
|
FALSE_ALARM_STATISTICS FlaseAlmCntBuddyAdapter;
|
|
SWAT_T DM_SWAT_Table;
|
|
BOOLEAN RSSI_test;
|
|
BOOLEAN bNoBeaconIn2s;
|
|
EDCA_T DM_EDCA_Table;
|
|
u4Byte WMMEDCA_BE;
|
|
BOOLEAN *pbDriverStopped;
|
|
BOOLEAN *pbDriverIsGoingToPnpSetPowerSleep;
|
|
BOOLEAN *pinit_adpt_in_progress;
|
|
u1Byte bUseRAMask;
|
|
ODM_RATE_ADAPTIVE RateAdaptive;
|
|
ANT_DETECTED_INFO AntDetectedInfo;
|
|
ODM_RF_CAL_T RFCalibrateInfo;
|
|
u1Byte BbSwingIdxOfdm[1];
|
|
u1Byte BbSwingIdxOfdmCurrent;
|
|
u1Byte BbSwingIdxOfdmBase[1];
|
|
BOOLEAN BbSwingFlagOfdm;
|
|
u1Byte BbSwingIdxCck[1];
|
|
u1Byte BbSwingIdxCckCurrent;
|
|
u1Byte BbSwingIdxCckBase[1];
|
|
u1Byte DefaultOfdmIndex;
|
|
u1Byte DefaultCckIndex;
|
|
BOOLEAN BbSwingFlagCck;
|
|
s1Byte Absolute_OFDMSwingIdx[1];
|
|
s1Byte Absolute_CCKSwingIdx[1];
|
|
s1Byte Remnant_OFDMSwingIdx[1];
|
|
s1Byte Remnant_CCKSwingIdx[1];
|
|
s1Byte Modify_TxAGC_Value;
|
|
BOOLEAN Modify_TxAGC_Flag_PathA;
|
|
BOOLEAN Modify_TxAGC_Flag_PathB;
|
|
BOOLEAN Modify_TxAGC_Flag_PathA_CCK;
|
|
};
|
|
typedef struct DM_Out_Source_Dynamic_Mechanism_Structure DM_ODM_T;
|
|
typedef struct DM_Out_Source_Dynamic_Mechanism_Structure *PDM_ODM_T;
|
|
|
|
enum _PWRTRACK_CONTROL_METHOD //: sint32_t
|
|
{
|
|
BBSWING = 0x0, TXAGC = 0x1, MIX_MODE = 0x2,
|
|
};
|
|
typedef enum _PWRTRACK_CONTROL_METHOD PWRTRACK_METHOD;
|
|
|
|
typedef void (*FuncSetPwr)(PDM_ODM_T, PWRTRACK_METHOD, u1Byte, u1Byte);
|
|
typedef void (*FuncIQK)(PDM_ODM_T, u1Byte, u1Byte, u1Byte);
|
|
typedef void (*FuncLCK)(PDM_ODM_T);
|
|
typedef void (*FuncSwing)(PDM_ODM_T, ps1Byte *, ps1Byte *, ps1Byte *, ps1Byte *);
|
|
typedef void (*FuncSwingXtal)(PDM_ODM_T, ps1Byte *, ps1Byte *);
|
|
typedef void (*FuncSetXtal)(PDM_ODM_T);
|
|
|
|
struct _TXPWRTRACK_CFG {
|
|
u1Byte SwingTableSize_CCK;
|
|
u1Byte SwingTableSize_OFDM;
|
|
u1Byte Threshold_IQK;
|
|
u1Byte AverageThermalNum;
|
|
u1Byte RfPathCount;
|
|
u4Byte ThermalRegAddr;
|
|
FuncSetPwr ODM_TxPwrTrackSetPwr;
|
|
FuncIQK DoIQK;
|
|
FuncLCK PHY_LCCalibrate;
|
|
FuncSwing GetDeltaSwingTable;
|
|
FuncSwingXtal GetDeltaSwingXtalTable;
|
|
FuncSetXtal ODM_TxXtalTrackSetXtal;
|
|
};
|
|
typedef struct _TXPWRTRACK_CFG *PTXPWRTRACK_CFG;
|
|
|
|
struct _RSVDPAGE_LOC {
|
|
uint8_t LocProbeRsp;
|
|
uint8_t LocPsPoll;
|
|
uint8_t LocNullData;
|
|
uint8_t LocQosNull;
|
|
uint8_t LocBTQosNull;
|
|
};
|
|
typedef struct _RSVDPAGE_LOC RSVDPAGE_LOC_8195A;
|
|
typedef struct _RSVDPAGE_LOC *PRSVDPAGE_LOC_8195A;
|
|
|
|
enum _RT_MEDIA_STATUS //: sint32_t
|
|
{
|
|
RT_MEDIA_DISCONNECT = 0x0, RT_MEDIA_CONNECT = 0x1,
|
|
};
|
|
|
|
struct _H2CParam_RsvdPage_ {
|
|
RSVDPAGE_LOC_8195A RsvdPageLoc;
|
|
uint8_t *ReservedPagePacket;
|
|
uint32_t TotalPacketLen;
|
|
};
|
|
typedef struct _H2CParam_RsvdPage_ H2CParam_RsvdPage;
|
|
typedef struct _H2CParam_RsvdPage_ *PH2CParam_RsvdPage;
|
|
|
|
struct _NDIS_802_11_VARIABLE_IEs {
|
|
uint8_t ElementID;
|
|
uint8_t Length;
|
|
uint8_t data[1];
|
|
};
|
|
typedef struct _NDIS_802_11_VARIABLE_IEs *PNDIS_802_11_VARIABLE_IEs;
|
|
|
|
enum _NDIS_802_11_AUTHENTICATION_MODE //: sint32_t
|
|
{
|
|
Ndis802_11AuthModeOpen = 0x0,
|
|
Ndis802_11AuthModeShared = 0x1,
|
|
Ndis802_11AuthModeAutoSwitch = 0x2,
|
|
Ndis802_11AuthModeWPA = 0x3,
|
|
Ndis802_11AuthModeWPAPSK = 0x4,
|
|
Ndis802_11AuthModeWPANone = 0x5,
|
|
Ndis802_11AuthModeWAPI = 0x6,
|
|
Ndis802_11AuthModeMax = 0x7,
|
|
};
|
|
typedef enum _NDIS_802_11_AUTHENTICATION_MODE NDIS_802_11_AUTHENTICATION_MODE;
|
|
|
|
enum _NDIS_802_11_WEP_STATUS //: sint32_t
|
|
{
|
|
Ndis802_11WEPEnabled = 0x0,
|
|
Ndis802_11Encryption1Enabled = 0x0,
|
|
Ndis802_11WEPDisabled = 0x1,
|
|
Ndis802_11EncryptionDisabled = 0x1,
|
|
Ndis802_11WEPKeyAbsent = 0x2,
|
|
Ndis802_11Encryption1KeyAbsent = 0x2,
|
|
Ndis802_11WEPNotSupported = 0x3,
|
|
Ndis802_11EncryptionNotSupported = 0x3,
|
|
Ndis802_11Encryption2Enabled = 0x4,
|
|
Ndis802_11Encryption2KeyAbsent = 0x5,
|
|
Ndis802_11Encryption3Enabled = 0x6,
|
|
Ndis802_11Encryption3KeyAbsent = 0x7,
|
|
Ndis802_11_EncrypteionWAPI = 0x8,
|
|
};
|
|
typedef enum _NDIS_802_11_WEP_STATUS NDIS_802_11_WEP_STATUS;
|
|
|
|
struct __attribute__((packed)) __attribute__((aligned(1))) rtk_sc {
|
|
u8 pattern_type;
|
|
u8 smac[6];
|
|
u8 bssid[2][6];
|
|
u8 ssid[32];
|
|
u8 password[64];
|
|
u32 ip_addr;
|
|
u8 sync_pkt[9][6];
|
|
u8 profile_pkt[256][6];
|
|
u32 profile_pkt_len;
|
|
u8 plain_buf[256];
|
|
u32 plain_len;
|
|
u8 key_buf[32];
|
|
u32 key_len;
|
|
u8 crypt_buf[256];
|
|
u32 crypt_len;
|
|
s32 pattern_index;
|
|
struct pattern_ops *pattern[5];
|
|
u8 max_pattern_num;
|
|
u8 pin[65];
|
|
u8 default_pin[65];
|
|
u8 have_pin;
|
|
u16 device_type;
|
|
u8 device_name[64];
|
|
u8 bcast_crypt_buf[256];
|
|
};
|
|
|
|
struct pattern_ops;
|
|
|
|
typedef s32 (*sc_check_pattern_call_back)(struct pattern_ops *, struct rtk_sc *);
|
|
typedef s32 (*sc_get_cipher_info_call_back)(struct pattern_ops *, struct rtk_sc *);
|
|
typedef s32 (*sc_generate_key_call_back)(struct pattern_ops *, struct rtk_sc *);
|
|
typedef s32 (*sc_decode_profile_call_back)(struct pattern_ops *, struct rtk_sc *);
|
|
typedef s32 (*sc_get_tlv_info_call_back)(struct pattern_ops *, struct rtk_sc *);
|
|
|
|
struct pattern_ops {
|
|
u32 index;
|
|
u32 flag;
|
|
u8 name[32];
|
|
sc_check_pattern_call_back check_pattern;
|
|
sc_get_cipher_info_call_back get_cipher_info;
|
|
sc_generate_key_call_back generate_key;
|
|
sc_decode_profile_call_back decode_profile;
|
|
sc_get_tlv_info_call_back get_tlv_info;
|
|
};
|
|
|
|
struct _atr_aligned2_ _WL_PWR_CFG_ { // __attribute__((packed))!?
|
|
uint16_t offset;
|
|
uint8_t cut_msk;
|
|
u8 fab_msk :4;
|
|
u8 interface_msk :4;
|
|
u8 base :4;
|
|
u8 cmd :4;
|
|
uint8_t msk;
|
|
uint8_t value;
|
|
};
|
|
typedef struct _WL_PWR_CFG_ WLAN_PWR_CFG;
|
|
|
|
struct cmd_hdl {
|
|
uint32_t parmsize;
|
|
uint8_t (*h2cfuns)(struct _ADAPTER *, uint8_t *);
|
|
};
|
|
|
|
struct _cmd_callback {
|
|
uint32_t cmd_code;
|
|
void (*callback)(_adapter *, struct cmd_obj *);
|
|
};
|
|
|
|
enum _ODM_Common_Info_Definition //: sint32_t
|
|
{
|
|
ODM_CMNINFO_PLATFORM = 0x0,
|
|
ODM_CMNINFO_ABILITY = 0x1,
|
|
ODM_CMNINFO_INTERFACE = 0x2,
|
|
ODM_CMNINFO_MP_TEST_CHIP = 0x3,
|
|
ODM_CMNINFO_IC_TYPE = 0x4,
|
|
ODM_CMNINFO_CUT_VER = 0x5,
|
|
ODM_CMNINFO_FAB_VER = 0x6,
|
|
ODM_CMNINFO_RF_TYPE = 0x7,
|
|
ODM_CMNINFO_RFE_TYPE = 0x8,
|
|
ODM_CMNINFO_BOARD_TYPE = 0x9,
|
|
ODM_CMNINFO_PACKAGE_TYPE = 0xA,
|
|
ODM_CMNINFO_EXT_LNA = 0xB,
|
|
ODM_CMNINFO_5G_EXT_LNA = 0xC,
|
|
ODM_CMNINFO_EXT_PA = 0xD,
|
|
ODM_CMNINFO_5G_EXT_PA = 0xE,
|
|
ODM_CMNINFO_GPA = 0xF,
|
|
ODM_CMNINFO_APA = 0x10,
|
|
ODM_CMNINFO_GLNA = 0x11,
|
|
ODM_CMNINFO_ALNA = 0x12,
|
|
ODM_CMNINFO_EXT_TRSW = 0x13,
|
|
ODM_CMNINFO_PATCH_ID = 0x14,
|
|
ODM_CMNINFO_BINHCT_TEST = 0x15,
|
|
ODM_CMNINFO_BWIFI_TEST = 0x16,
|
|
ODM_CMNINFO_SMART_CONCURRENT = 0x17,
|
|
ODM_CMNINFO_DOMAIN_CODE_2G = 0x18,
|
|
ODM_CMNINFO_DOMAIN_CODE_5G = 0x19,
|
|
ODM_CMNINFO_EEPROMVERSION = 0x1A,
|
|
ODM_CMNINFO_CRYSTALCAP = 0x1B,
|
|
ODM_CMNINFO_MAC_PHY_MODE = 0x1C,
|
|
ODM_CMNINFO_TX_UNI = 0x1D,
|
|
ODM_CMNINFO_RX_UNI = 0x1E,
|
|
ODM_CMNINFO_WM_MODE = 0x1F,
|
|
ODM_CMNINFO_BAND = 0x20,
|
|
ODM_CMNINFO_SEC_CHNL_OFFSET = 0x21,
|
|
ODM_CMNINFO_SEC_MODE = 0x22,
|
|
ODM_CMNINFO_BW = 0x23,
|
|
ODM_CMNINFO_CHNL = 0x24,
|
|
ODM_CMNINFO_FORCED_RATE = 0x25,
|
|
ODM_CMNINFO_DMSP_GET_VALUE = 0x26,
|
|
ODM_CMNINFO_BUDDY_ADAPTOR = 0x27,
|
|
ODM_CMNINFO_DMSP_IS_MASTER = 0x28,
|
|
ODM_CMNINFO_SCAN = 0x29,
|
|
ODM_CMNINFO_POWER_SAVING = 0x2A,
|
|
ODM_CMNINFO_ONE_PATH_CCA = 0x2B,
|
|
ODM_CMNINFO_DRV_STOP = 0x2C,
|
|
ODM_CMNINFO_PNP_IN = 0x2D,
|
|
ODM_CMNINFO_INIT_ON = 0x2E,
|
|
ODM_CMNINFO_ANT_TEST = 0x2F,
|
|
ODM_CMNINFO_NET_CLOSED = 0x30,
|
|
ODM_CMNINFO_MP_MODE = 0x31,
|
|
ODM_CMNINFO_FORCED_IGI_LB = 0x32,
|
|
ODM_CMNINFO_P2P_LINK = 0x33,
|
|
ODM_CMNINFO_FCS_MODE = 0x34,
|
|
ODM_CMNINFO_WIFI_DIRECT = 0x35,
|
|
ODM_CMNINFO_WIFI_DISPLAY = 0x36,
|
|
ODM_CMNINFO_LINK_IN_PROGRESS = 0x37,
|
|
ODM_CMNINFO_LINK = 0x38,
|
|
ODM_CMNINFO_STATION_STATE = 0x39,
|
|
ODM_CMNINFO_RSSI_MIN = 0x3A,
|
|
ODM_CMNINFO_DBG_COMP = 0x3B,
|
|
ODM_CMNINFO_DBG_LEVEL = 0x3C,
|
|
ODM_CMNINFO_RA_THRESHOLD_HIGH = 0x3D,
|
|
ODM_CMNINFO_RA_THRESHOLD_LOW = 0x3E,
|
|
ODM_CMNINFO_RF_ANTENNA_TYPE = 0x3F,
|
|
ODM_CMNINFO_BT_ENABLED = 0x40,
|
|
ODM_CMNINFO_BT_HS_CONNECT_PROCESS = 0x41,
|
|
ODM_CMNINFO_BT_HS_RSSI = 0x42,
|
|
ODM_CMNINFO_BT_OPERATION = 0x43,
|
|
ODM_CMNINFO_BT_LIMITED_DIG = 0x44,
|
|
ODM_CMNINFO_BT_DISABLE_EDCA = 0x45,
|
|
ODM_CMNINFO_NO_BEACON_IN_2S = 0x46,
|
|
ODM_CMNINFO_STA_STATUS = 0x47,
|
|
ODM_CMNINFO_PHY_STATUS = 0x48,
|
|
ODM_CMNINFO_MAC_STATUS = 0x49,
|
|
ODM_CMNINFO_MAX = 0x4A,
|
|
};
|
|
typedef enum _ODM_Common_Info_Definition ODM_CMNINFO_E;
|
|
|
|
enum _ODM_Support_Ability_Definition // : sint32_t
|
|
{
|
|
ODM_BB_DIG = 0x1,
|
|
ODM_BB_RA_MASK = 0x2,
|
|
ODM_BB_DYNAMIC_TXPWR = 0x4,
|
|
ODM_BB_FA_CNT = 0x8,
|
|
ODM_BB_RSSI_MONITOR = 0x10,
|
|
ODM_BB_CCK_PD = 0x20,
|
|
ODM_BB_ANT_DIV = 0x40,
|
|
ODM_BB_PWR_SAVE = 0x80,
|
|
ODM_BB_PWR_TRAIN = 0x100,
|
|
ODM_BB_RATE_ADAPTIVE = 0x200,
|
|
ODM_BB_PATH_DIV = 0x400,
|
|
ODM_BB_PSD = 0x800,
|
|
ODM_BB_RXHP = 0x1000,
|
|
ODM_BB_ADAPTIVITY = 0x2000,
|
|
ODM_BB_CFO_TRACKING = 0x4000,
|
|
ODM_BB_NHM_CNT = 0x8000,
|
|
ODM_BB_PRIMARY_CCA = 0x10000,
|
|
ODM_MAC_EDCA_TURBO = 0x100000,
|
|
ODM_MAC_EARLY_MODE = 0x200000,
|
|
ODM_RF_TX_PWR_TRACK = 0x1000000,
|
|
ODM_RF_RX_GAIN_TRACK = 0x2000000,
|
|
ODM_RF_CALIBRATION = 0x4000000,
|
|
};
|
|
|
|
enum _RF_PATH //: sint32_t
|
|
{
|
|
RF_PATH_A = 0x0, RF_PATH_B = 0x1, RF_PATH_C = 0x2, RF_PATH_D = 0x3,
|
|
};
|
|
typedef enum _RF_PATH RF_PATH;
|
|
|
|
enum _EXTCHNL_OFFSET //: sint32_t
|
|
{
|
|
EXTCHNL_OFFSET_NO_EXT = 0x0,
|
|
EXTCHNL_OFFSET_UPPER = 0x1,
|
|
EXTCHNL_OFFSET_NO_DEF = 0x2,
|
|
EXTCHNL_OFFSET_LOWER = 0x3,
|
|
};
|
|
typedef enum _EXTCHNL_OFFSET EXTCHNL_OFFSET;
|
|
|
|
enum MGN_RATE //: sint32_t
|
|
{
|
|
MGN_1M = 0x2,
|
|
MGN_2M = 0x4,
|
|
MGN_5_5M = 0xB,
|
|
MGN_6M = 0xC,
|
|
MGN_9M = 0x12,
|
|
MGN_11M = 0x16,
|
|
MGN_12M = 0x18,
|
|
MGN_18M = 0x24,
|
|
MGN_24M = 0x30,
|
|
MGN_36M = 0x48,
|
|
MGN_48M = 0x60,
|
|
MGN_54M = 0x6C,
|
|
MGN_MCS32 = 0x7F,
|
|
MGN_MCS0 = 0x80,
|
|
MGN_MCS1 = 0x81,
|
|
MGN_MCS2 = 0x82,
|
|
MGN_MCS3 = 0x83,
|
|
MGN_MCS4 = 0x84,
|
|
MGN_MCS5 = 0x85,
|
|
MGN_MCS6 = 0x86,
|
|
MGN_MCS7 = 0x87,
|
|
MGN_MCS8 = 0x88,
|
|
MGN_MCS9 = 0x89,
|
|
MGN_MCS10 = 0x8A,
|
|
MGN_MCS11 = 0x8B,
|
|
MGN_MCS12 = 0x8C,
|
|
MGN_MCS13 = 0x8D,
|
|
MGN_MCS14 = 0x8E,
|
|
MGN_MCS15 = 0x8F,
|
|
MGN_MCS16 = 0x90,
|
|
MGN_MCS17 = 0x91,
|
|
MGN_MCS18 = 0x92,
|
|
MGN_MCS19 = 0x93,
|
|
MGN_MCS20 = 0x94,
|
|
MGN_MCS21 = 0x95,
|
|
MGN_MCS22 = 0x96,
|
|
MGN_MCS23 = 0x97,
|
|
MGN_MCS24 = 0x98,
|
|
MGN_MCS25 = 0x99,
|
|
MGN_MCS26 = 0x9A,
|
|
MGN_MCS27 = 0x9B,
|
|
MGN_MCS28 = 0x9C,
|
|
MGN_MCS29 = 0x9D,
|
|
MGN_MCS30 = 0x9E,
|
|
MGN_MCS31 = 0x9F,
|
|
MGN_VHT1SS_MCS0 = 0xA0,
|
|
MGN_VHT1SS_MCS1 = 0xA1,
|
|
MGN_VHT1SS_MCS2 = 0xA2,
|
|
MGN_VHT1SS_MCS3 = 0xA3,
|
|
MGN_VHT1SS_MCS4 = 0xA4,
|
|
MGN_VHT1SS_MCS5 = 0xA5,
|
|
MGN_VHT1SS_MCS6 = 0xA6,
|
|
MGN_VHT1SS_MCS7 = 0xA7,
|
|
MGN_VHT1SS_MCS8 = 0xA8,
|
|
MGN_VHT1SS_MCS9 = 0xA9,
|
|
MGN_VHT2SS_MCS0 = 0xAA,
|
|
MGN_VHT2SS_MCS1 = 0xAB,
|
|
MGN_VHT2SS_MCS2 = 0xAC,
|
|
MGN_VHT2SS_MCS3 = 0xAD,
|
|
MGN_VHT2SS_MCS4 = 0xAE,
|
|
MGN_VHT2SS_MCS5 = 0xAF,
|
|
MGN_VHT2SS_MCS6 = 0xB0,
|
|
MGN_VHT2SS_MCS7 = 0xB1,
|
|
MGN_VHT2SS_MCS8 = 0xB2,
|
|
MGN_VHT2SS_MCS9 = 0xB3,
|
|
MGN_VHT3SS_MCS0 = 0xB4,
|
|
MGN_VHT3SS_MCS1 = 0xB5,
|
|
MGN_VHT3SS_MCS2 = 0xB6,
|
|
MGN_VHT3SS_MCS3 = 0xB7,
|
|
MGN_VHT3SS_MCS4 = 0xB8,
|
|
MGN_VHT3SS_MCS5 = 0xB9,
|
|
MGN_VHT3SS_MCS6 = 0xBA,
|
|
MGN_VHT3SS_MCS7 = 0xBB,
|
|
MGN_VHT3SS_MCS8 = 0xBC,
|
|
MGN_VHT3SS_MCS9 = 0xBD,
|
|
MGN_VHT4SS_MCS0 = 0xBE,
|
|
MGN_VHT4SS_MCS1 = 0xBF,
|
|
MGN_VHT4SS_MCS2 = 0xC0,
|
|
MGN_VHT4SS_MCS3 = 0xC1,
|
|
MGN_VHT4SS_MCS4 = 0xC2,
|
|
MGN_VHT4SS_MCS5 = 0xC3,
|
|
MGN_VHT4SS_MCS6 = 0xC4,
|
|
MGN_VHT4SS_MCS7 = 0xC5,
|
|
MGN_VHT4SS_MCS8 = 0xC6,
|
|
MGN_VHT4SS_MCS9 = 0xC7,
|
|
MGN_UNKNOWN = 0xC8,
|
|
};
|
|
|
|
struct _RT_CHANNEL_PLAN_2G {
|
|
uint8_t Channel[14];
|
|
uint8_t Len;
|
|
};
|
|
typedef struct _RT_CHANNEL_PLAN_2G RT_CHANNEL_PLAN_2G;
|
|
|
|
struct _RT_CHANNEL_PLAN_MAP {
|
|
uint8_t ChannelPlan;
|
|
uint8_t Index2G;
|
|
uint8_t PwrLmt;
|
|
};
|
|
typedef struct _RT_CHANNEL_PLAN_MAP RT_CHANNEL_PLAN_MAP;
|
|
|
|
typedef int (*mac_monitor_ptr)(uint8_t *, char);
|
|
|
|
struct mlme_handler {
|
|
uint32_t num;
|
|
uint32_t (*func)(_adapter *, struct recv_frame *);
|
|
};
|
|
|
|
struct fwevent {
|
|
uint32_t parmsize;
|
|
void (*event_callback)(_adapter *, uint8_t *);
|
|
};
|
|
|
|
struct recv_buf {
|
|
_list list;
|
|
PADAPTER adapter;
|
|
uint32_t len;
|
|
uint8_t *phead;
|
|
uint8_t *pdata;
|
|
uint8_t *ptail;
|
|
uint8_t *pend;
|
|
_pkt *pskb;
|
|
};
|
|
|
|
struct recv_reorder_ctrl {
|
|
_adapter *padapter;
|
|
uint8_t enable;
|
|
uint16_t indicate_seq;
|
|
uint16_t wend_b;
|
|
uint8_t wsize_b;
|
|
_queue pending_recvframe_queue;
|
|
_timer reordering_ctrl_timer;
|
|
};
|
|
|
|
enum _ODM_RF_RADIO_PATH // : sint32_t
|
|
{
|
|
ODM_RF_PATH_A = 0x0,
|
|
ODM_RF_PATH_B = 0x1,
|
|
ODM_RF_PATH_C = 0x2,
|
|
ODM_RF_PATH_D = 0x3,
|
|
ODM_RF_PATH_AB = 0x4,
|
|
ODM_RF_PATH_AC = 0x5,
|
|
ODM_RF_PATH_AD = 0x6,
|
|
ODM_RF_PATH_BC = 0x7,
|
|
ODM_RF_PATH_BD = 0x8,
|
|
ODM_RF_PATH_CD = 0x9,
|
|
ODM_RF_PATH_ABC = 0xA,
|
|
ODM_RF_PATH_ACD = 0xB,
|
|
ODM_RF_PATH_BCD = 0xC,
|
|
ODM_RF_PATH_ABCD = 0xD,
|
|
};
|
|
typedef enum _ODM_RF_RADIO_PATH ODM_RF_RADIO_PATH_E;
|
|
|
|
enum tag_PhyDM_TRx_MUX_Type //: sint32_t
|
|
{
|
|
PhyDM_SHUTDOWN = 0x0,
|
|
PhyDM_STANDBY_MODE = 0x1,
|
|
PhyDM_TX_MODE = 0x2,
|
|
PhyDM_RX_MODE = 0x3,
|
|
};
|
|
typedef enum tag_PhyDM_TRx_MUX_Type PhyDM_Trx_MUX_Type;
|
|
|
|
enum tag_PhyDM_MACEDCCA_Type //: sint32_t
|
|
{
|
|
PhyDM_IGNORE_EDCCA = 0x0, PhyDM_DONT_IGNORE_EDCCA = 0x1,
|
|
};
|
|
typedef enum tag_PhyDM_MACEDCCA_Type PhyDM_MACEDCCA_Type;
|
|
|
|
enum tag_ODM_PauseDIG_Type //: sint32_t
|
|
{
|
|
ODM_PAUSE_DIG = 0x1, ODM_RESUME_DIG = 0x2,
|
|
};
|
|
typedef enum tag_ODM_PauseDIG_Type ODM_Pause_DIG_TYPE;
|
|
|
|
enum tag_ODM_PauseCCKPD_Type //: sint32_t
|
|
{
|
|
ODM_PAUSE_CCKPD = 0x1, ODM_RESUME_CCKPD = 0x2,
|
|
};
|
|
typedef enum tag_ODM_PauseCCKPD_Type ODM_Pause_CCKPD_TYPE;
|
|
|
|
struct _ODM_Per_Pkt_Info_ {
|
|
u1Byte DataRate;
|
|
u1Byte StationID;
|
|
BOOLEAN bPacketMatchBSSID;
|
|
BOOLEAN bPacketToSelf;
|
|
BOOLEAN bPacketBeacon;
|
|
};
|
|
typedef struct _ODM_Per_Pkt_Info_ *PODM_PACKET_INFO_T;
|
|
|
|
enum _HAL_STATUS //: sint32_t
|
|
{
|
|
HAL_STATUS_SUCCESS = 0x0, HAL_STATUS_FAILURE = 0x1,
|
|
};
|
|
typedef enum _HAL_STATUS HAL_STATUS;
|
|
|
|
struct _ODM_Phy_Status_Info_ {
|
|
u1Byte RxPWDBAll;
|
|
u1Byte SignalQuality;
|
|
u1Byte RxMIMOSignalStrength[1];
|
|
s1Byte RecvSignalPower;
|
|
u1Byte SignalStrength;
|
|
};
|
|
typedef struct _ODM_Phy_Status_Info_ *PODM_PHY_INFO_T;
|
|
|
|
enum _ODM_RF_Config_Type // : sint32_t
|
|
{
|
|
CONFIG_RF_RADIO = 0x0, CONFIG_RF_TXPWR_LMT = 0x1,
|
|
};
|
|
typedef enum _ODM_RF_Config_Type ODM_RF_Config_Type;
|
|
|
|
enum _ODM_BB_Config_Type //: sint32_t
|
|
{
|
|
CONFIG_BB_PHY_REG = 0x0,
|
|
CONFIG_BB_AGC_TAB = 0x1,
|
|
CONFIG_BB_AGC_TAB_2G = 0x2,
|
|
CONFIG_BB_AGC_TAB_5G = 0x3,
|
|
CONFIG_BB_PHY_REG_PG = 0x4,
|
|
CONFIG_BB_PHY_REG_MP = 0x5,
|
|
CONFIG_BB_AGC_TAB_DIFF = 0x6,
|
|
};
|
|
typedef enum _ODM_BB_Config_Type ODM_BB_Config_Type;
|
|
|
|
enum _ODM_FW_Config_Type //: sint32_t
|
|
{
|
|
CONFIG_FW_NIC = 0x0,
|
|
CONFIG_FW_NIC_2 = 0x1,
|
|
CONFIG_FW_AP = 0x2,
|
|
CONFIG_FW_MP = 0x3,
|
|
CONFIG_FW_WoWLAN = 0x4,
|
|
CONFIG_FW_WoWLAN_2 = 0x5,
|
|
CONFIG_FW_AP_WoWLAN = 0x6,
|
|
CONFIG_FW_BT = 0x7,
|
|
};
|
|
typedef enum _ODM_FW_Config_Type ODM_FW_Config_Type;
|
|
|
|
enum _RATE_SECTION //: sint32_t
|
|
{
|
|
CCK = 0x0,
|
|
OFDM = 0x1,
|
|
HT_MCS0_MCS7 = 0x2,
|
|
HT_MCS8_MCS15 = 0x3,
|
|
HT_MCS16_MCS23 = 0x4,
|
|
HT_MCS24_MCS31 = 0x5,
|
|
VHT_1SSMCS0_1SSMCS9 = 0x6,
|
|
VHT_2SSMCS0_2SSMCS9 = 0x7,
|
|
VHT_3SSMCS0_3SSMCS9 = 0x8,
|
|
VHT_4SSMCS0_4SSMCS9 = 0x9,
|
|
};
|
|
typedef enum _RATE_SECTION RATE_SECTION;
|
|
|
|
struct map_mask_s {
|
|
uint16_t mask_start;
|
|
uint16_t mask_end;
|
|
};
|
|
|
|
struct _TxPowerInfo24G {
|
|
uint8_t IndexCCK_Base[1][6];
|
|
uint8_t IndexBW40_Base[1][6];
|
|
int8_t OFDM_Diff[1][1];
|
|
int8_t BW20_Diff[1][1];
|
|
};
|
|
typedef struct _TxPowerInfo24G TxPowerInfo24G;
|
|
typedef struct _TxPowerInfo24G *PTxPowerInfo24G;
|
|
|
|
#endif // _WLAN_LIB_H
|
|
|