This commit is contained in:
pvvx 2017-04-10 15:32:02 +03:00
parent 52c964be3f
commit a590693719
37 changed files with 1008 additions and 841 deletions

View file

@ -1,7 +1,7 @@
#include <PinNames.h>
#include <pinmap.h>
#include <gpio_api.h>
#include <wifi_wowlan.h>
#include <rtw_wowlan/wifi_wowlan.h>
#include <freertos_pmu.h>
#include <wifi_conf.h>

View file

@ -212,16 +212,16 @@ struct rtw_wowlan_rx_filter {
#if defined(__IAR_SYSTEMS_ICC__)
#pragma pack(1)
#else
#error "this structure needs to be packed!"
//#error "this structure needs to be packed!"
#endif
struct rtw_wowlan_status {
struct rtw_wowlan {
u32 wakeup_reasons; //record wake up reason
u32 filter_id; //record which pattern is matched
};
} _status __attribute__ ((__packed__));
#if defined(__IAR_SYSTEMS_ICC__)
#pragma pack()
#else
#error "this structure needs to be packed!"
//#error "this structure needs to be packed!"
#endif
/**

View file

@ -22,6 +22,8 @@
extern int inic_start(void);
extern int inic_stop(void);
#endif
#include "wifi_api.h"
#include "wlan_lib.h"
#if CONFIG_DEBUG_LOG > 0
@ -872,23 +874,17 @@ int wifi_get_drv_ability(uint32_t *ability) {
//----------------------------------------------------------------------------//
int wifi_set_country(rtw_country_code_t country_code) {
int ret;
ret = wext_set_country(WLAN0_NAME, country_code);
return ret;
return wext_set_country(WLAN0_NAME, country_code);
}
//----------------------------------------------------------------------------//
int wifi_set_channel_plan(uint8_t channel_plan) {
const char * ifname = WLAN0_NAME;
int ret = 0;
char buf[24];
rtw_memset(buf, 0, sizeof(buf));
snprintf(buf, 24, "set_ch_plan %x", channel_plan);
ret = wext_private_command(ifname, buf, SHOW_PRIVATE_OUT);
return ret;
return wext_private_command(ifname, buf, SHOW_PRIVATE_OUT);
}
//----------------------------------------------------------------------------//
@ -922,16 +918,12 @@ void wifi_set_mib(void) {
//----------------------------------------------------------------------------//
int wifi_rf_on(void) {
int ret;
ret = rltk_wlan_rf_on();
return ret;
return rltk_wlan_rf_on();
}
//----------------------------------------------------------------------------//
int wifi_rf_off(void) {
int ret;
ret = rltk_wlan_rf_off();
return ret;
return rltk_wlan_rf_off();
}
//----------------------------------------------------------------------------//
@ -1078,6 +1070,59 @@ int wifi_get_last_error(void) {
int wpas_wps_init(const char* ifname);
#endif
int wifi_start_ap_s(PSOFTAP_CONFIG p) {
const char *ifname = WLAN0_NAME;
int ret = 0;
if (wifi_mode == RTW_MODE_STA_AP) {
ifname = WLAN1_NAME;
}
if (is_promisc_enabled())
promisc_set(0, NULL, 0);
wifi_reg_event_handler(WIFI_EVENT_STA_ASSOC, wifi_ap_sta_assoc_hdl, NULL);
wifi_reg_event_handler(WIFI_EVENT_STA_DISASSOC, wifi_ap_sta_disassoc_hdl,
NULL);
ret = wext_set_mode(ifname, IW_MODE_MASTER);
if (ret < 0)
goto exit;
ret = wext_set_channel(ifname, p->channel); //Set channel before starting ap
if (ret < 0)
goto exit;
switch (p->security_type) {
case RTW_SECURITY_OPEN:
break;
case RTW_SECURITY_WPA2_AES_PSK:
ret = wext_set_auth_param(ifname, IW_AUTH_80211_AUTH_ALG,
IW_AUTH_ALG_OPEN_SYSTEM);
if (ret == 0)
ret = wext_set_key_ext(ifname, IW_ENCODE_ALG_CCMP, NULL, 0, 0, 0, 0,
NULL, 0);
if (ret == 0)
ret = wext_set_passphrase(ifname, (u8*) p->password, strlen(p->password));
break;
default:
ret = -1;
printf("WIFICONF: security type is not supported\n");
break;
}
if (ret < 0)
goto exit;
if(p->ssid_hidden) {
ret = set_hidden_ssid(ifname, 1);
if (ret < 0)
goto exit;
}
ret = wext_set_ap_ssid(ifname, (u8*) p->ssid, strlen(p->ssid));
#if defined(CONFIG_ENABLE_WPS_AP) && CONFIG_ENABLE_WPS_AP
wpas_wps_init(ifname);
#endif
exit: return ret;
}
int wifi_start_ap(char *ssid, rtw_security_t security_type, char *password,
int ssid_len, int password_len, int channel) {
const char *ifname = WLAN0_NAME;

View file

@ -3,10 +3,10 @@
#define __WIFI_CONF_API_H
#include "FreeRTOS.h"
#include "wifi_constants.h"
#include "wifi_constants.h"
#include "wifi_structures.h"
#include "wifi_util.h"
#include "wifi_ind.h"
#include "wifi_ind.h"
#include <platform/platform_stdlib.h>
#ifdef __cplusplus

View file

@ -68,13 +68,15 @@ struct simple_config_lib_config {
};
#pragma pack(1)
#pragma pack(push, 1)
struct rtk_test_sc {
/* API exposed to user */
unsigned char ssid[32];
unsigned char password[65];
unsigned int ip_addr;
};
#pragma pack(pop)
/* expose data */
extern s32 is_promisc_callback_unlock;

View file

@ -173,6 +173,8 @@ uint8 chk_ap_netif_num(void)
return wlan_ap_netifn;
}
extern int wifi_start_ap_s(PSOFTAP_CONFIG p);
rtw_result_t wifi_run_ap(void) {
chk_ap_netif_num();
@ -184,12 +186,7 @@ rtw_result_t wifi_run_ap(void) {
if(wext_set_sta_num(wifi_ap_cfg.max_sta) != 0) { // Max number of STAs, should be 1..3, default is 3
error_printf("AP not set max connections %d!\n", wifi_ap_cfg.max_sta);
};
ret = wifi_start_ap(wifi_ap_cfg.ssid, //char *ssid,
wifi_ap_cfg.security_type, //rtw_security_t ecurity_type,
wifi_ap_cfg.password, //char *password,
strlen(wifi_ap_cfg.ssid), //int ssid_len,
strlen(wifi_ap_cfg.password), //int password_len,
wifi_ap_cfg.channel); //int channel
ret = wifi_start_ap_s(&wifi_ap_cfg);
wifi_run_mode |= RTW_MODE_AP;
if (ret != RTW_SUCCESS) {
error_printf("Error(%d): Start AP failed!\n\n", ret);;
@ -438,12 +435,16 @@ int wifi_run(rtw_mode_t mode) {
if(wifi_set_country(wifi_cfg.country_code) != RTW_SUCCESS) {
error_printf("Error set tx country_code (%d)!", wifi_cfg.country_code);
};
// extern uint8_t rtw_power_percentage_idx;
// extern uint8_t rtw_power_percentage_idx; // rtw_tx_pwr_percentage_t
#if 1 // rltk_set_tx_power_percentage() return all = 0 !
rltk_set_tx_power_percentage(wifi_cfg.tx_pwr);
#else
if(rtw_power_percentage_idx != wifi_cfg.tx_pwr) {
if(rltk_set_tx_power_percentage(wifi_cfg.tx_pwr) != RTW_SUCCESS) {
error_printf("Error set tx power (%d)!", wifi_cfg.tx_pwr);
};
}
#endif
debug_printf("mode == wifi_mode? (%d == %d?)\n", mode, wifi_mode);
// if(mode == wifi_mode)
{

View file

@ -64,12 +64,12 @@ typedef struct _wifi_config {
typedef struct _softap_config {
unsigned char ssid[NDIS_802_11_LENGTH_SSID];
unsigned char password[IW_PASSPHRASE_MAX_SIZE];
rtw_security_t security_type;
uint16 beacon_interval; // Note: support 100 ~ 60000 ms, default 100
rtw_security_t security_type; // Only: RTW_SECURITY_OPEN, RTW_SECURITY_WPA2_AES_PSK
unsigned short beacon_interval; // default 100
unsigned char channel; // 1..14
unsigned char ssid_hidden; // Note: default 0
unsigned char max_sta; // 1..3
} SOFTAP_CONFIG, *PSOFTAP_CONFIG;
} SOFTAP_CONFIG, * PSOFTAP_CONFIG;
//---- Interface 1 - wlan1 - ST - struct -
typedef struct _station_config {
unsigned char ssid[NDIS_802_11_LENGTH_SSID];

View file

@ -108,7 +108,7 @@ SD_RESULT SD_GetCapacity(uint32_t *sector_count) {
//----- SD_ReadBlocks
SD_RESULT SD_ReadBlocks(u32 sector, u8 *data, u32 count) {
int rd_count;
int rd_count = 0;
unsigned char * buf;
if ((u32) data & 3) {
@ -144,7 +144,7 @@ SD_RESULT SD_ReadBlocks(u32 sector, u8 *data, u32 count) {
//----- SD_WriteBlocks
SD_RESULT SD_WriteBlocks(u32 sector, const u8 *data, u32 count) {
int wr_count;
int wr_count = 0;
unsigned char * buf;
if ((u32) data & 3) {

View file

@ -612,20 +612,20 @@ struct _ADAPTER{
u16 interface_type;//USB,SDIO,SPI,PCI
u32 work_mode; //STA, AP, STA+AP, PROMISC, P2P
struct dvobj_priv *dvobj;
struct mlme_priv mlmepriv;
struct mlme_ext_priv mlmeextpriv;
struct cmd_priv cmdpriv;
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_queue *pio_queue;
struct io_priv iopriv;
struct xmit_priv xmitpriv;
struct recv_priv recvpriv;
struct sta_priv stapriv;
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;
struct eeprom_priv eeprompriv;
struct registry_priv registrypriv; // registrypriv.power_percentage_idx +4929
struct pwrctrl_priv pwrctrlpriv; // pwrctrlpriv.bInternalAutoSuspend //+5061
struct eeprom_priv eeprompriv; //+5128?
//TODO
// struct led_priv ledpriv;
@ -666,20 +666,20 @@ struct _ADAPTER{
struct wifi_display_info wfd_info;
#endif //CONFIG_WFD
PVOID HalData;
u32 hal_data_sz;
struct hal_ops HalFunc;
PVOID HalData; //+5656
u32 hal_data_sz; //+5660
struct hal_ops HalFunc; //+5664
s32 bDriverStopped;
s32 bSurpriseRemoved;
s32 bCardDisableWOHSM;
u8 RxStop; //Used to stop rx thread as early as possible
s32 bDriverStopped; //+5880
s32 bSurpriseRemoved; //+5884
s32 bCardDisableWOHSM; //+5888
u8 RxStop; //Used to stop rx thread as early as possible //+5892
u32 IsrContent;
u32 ImrContent;
u8 EepromAddressSize;
u8 hw_init_completed;
u8 hw_init_completed; //+5905
u8 bDriverIsGoingToUnload;
u8 init_adpt_in_progress;
u8 bMpDriver;
@ -692,9 +692,9 @@ struct _ADAPTER{
_thread_hdl_ evtThread;
#endif
#if defined(CONFIG_ISR_THREAD_MODE_POLLING) || defined(CONFIG_ISR_THREAD_MODE_INTERRUPT)
struct task_struct isrThread;
struct task_struct isrThread; //+5888?
#endif
struct task_struct cmdThread;
struct task_struct cmdThread; //+5920
#ifdef CONFIG_XMIT_THREAD_MODE
struct task_struct xmitThread;
#endif
@ -702,13 +702,13 @@ struct _ADAPTER{
struct task_struct recvThread;
#endif
#ifdef CONFIG_RECV_TASKLET_THREAD
struct task_struct recvtasklet_thread;
struct task_struct recvtasklet_thread; //+5952
#endif
#ifdef CONFIG_XMIT_TASKLET_THREAD
#ifdef PLATFORM_LINUX
struct tasklet_struct xmit_tasklet;
#else
struct task_struct xmittasklet_thread;
struct task_struct xmittasklet_thread; //+5984
#endif
#endif
#ifdef CONFIG_SDIO_XMIT_THREAD
@ -721,8 +721,8 @@ struct _ADAPTER{
void (*dvobj_deinit)(struct dvobj_priv *dvobj);
#endif
void (*intf_start)(_adapter * adapter);
void (*intf_stop)(_adapter * adapter);
void (*intf_start)(_adapter * adapter); //+6008
void (*intf_stop)(_adapter * adapter); //+6012
#ifdef PLATFORM_WINDOWS
_nic_hdl hndis_adapter;//hNdisAdapter(NDISMiniportAdapterHandle);
@ -741,9 +741,9 @@ struct _ADAPTER{
#endif //#ifdef PLATFORM_ECOS
#if defined(PLATFORM_FREERTOS) || defined (PLATFORM_CMSIS_RTOS)
_nic_hdl pnetdev;
int bup;
struct net_device_stats stats;
_nic_hdl pnetdev; //+6016
int bup; //+6020
struct net_device_stats stats; //+6024
#endif //#ifdef PLATFORM_FREERTOS
#ifdef PLATFORM_LINUX
@ -773,7 +773,7 @@ struct _ADAPTER{
int bup;
_lock glock;
#endif //PLATFORM_FREEBSD
u8 net_closed;
u8 net_closed; //+6052
u8 bFWReady;
//u8 bBTFWReady;
@ -785,20 +785,20 @@ struct _ADAPTER{
u8 bDisableAutosuspend;
#endif
_adapter *pbuddy_adapter;
_adapter *pbuddy_adapter; //+6056
_mutex *hw_init_mutex;
_mutex *hw_init_mutex; //+6060
#if defined(CONFIG_CONCURRENT_MODE)
u8 isprimary; //is primary adapter or not
u8 adapter_type;
u8 iface_type; //interface port type
u8 isprimary; //is primary adapter or not //+6064
u8 adapter_type; //+6065
u8 iface_type; //interface port type //+6056
//for global synchronization
_mutex *ph2c_fwcmd_mutex;
_mutex *psetch_mutex;
_mutex *psetbw_mutex;
_mutex *ph2c_fwcmd_mutex; //+6068
_mutex *psetch_mutex; //+6072
_mutex *psetbw_mutex; //+6076
struct co_data_priv *pcodatapriv;//data buffer shared among interfaces
struct co_data_priv *pcodatapriv;//data buffer shared among interfaces //+6080
#endif
#ifdef CONFIG_BR_EXT
@ -827,7 +827,7 @@ struct _ADAPTER{
PLOOPBACKDATA ploopback;
#endif
u8 fix_rate;
u8 fix_rate; //+6084
#ifdef CONFIG_CAC_TEST
unsigned char in_cta_test;
#endif
@ -837,7 +837,7 @@ struct _ADAPTER{
u8 debug_level;
#endif
};
}; // [6088] (!)
#define adapter_to_dvobj(adapter) (adapter->dvobj)
#define adapter_to_pwrctl(adapter) (&adapter->pwrctrlpriv)

View file

@ -234,7 +234,7 @@ struct hal_ops {
void (*disable_interrupt)(_adapter *padapter);
s32 (*interrupt_handler)(_adapter *padapter);
void (*clear_interrupt)(_adapter *padapter);
// void (*clear_interrupt)(_adapter *padapter); // None SDK3.5a
#ifdef CONFIG_WOWLAN
void (*disable_interrupt_but_cpwm2)(_adapter *padapter);

View file

@ -925,11 +925,11 @@ Result:
#define H2C_RSP_OFFSET 512
#define H2C_SUCCESS 0x00
#define H2C_SUCCESS 0x00
#define H2C_SUCCESS_RSP 0x01
#define H2C_DUPLICATED 0x02
#define H2C_DROPPED 0x03
#define H2C_PARAMETERS_ERROR 0x04
#define H2C_DROPPED 0x03
#define H2C_PARAMETERS_ERROR 0x04
#define H2C_REJECTED 0x05
#define H2C_CMD_OVERFLOW 0x06
#define H2C_RESERVED 0x07

View file

@ -68,7 +68,7 @@ u8 rtw_validate_ssid(NDIS_802_11_SSID *ssid);
u16 rtw_get_cur_max_rate(_adapter *adapter);
//int rtw_set_scan_mode(_adapter *adapter, RT_SCAN_TYPE scan_mode);
int rtw_set_channel_plan(_adapter *adapter, u8 channel_plan);
int rtw_set_country(_adapter *adapter, const char *country_code);
//int rtw_set_country(_adapter *adapter, const char *country_code);
//int rtw_set_band(_adapter *adapter, enum _BAND band);
#endif

View file

@ -481,13 +481,13 @@ typedef struct _RT_CHANNEL_INFO
extern int rtw_is_channel_set_contains_channel(RT_CHANNEL_INFO *channel_set, const u32 channel_num, int *pchannel_idx);
#ifdef CONFIG_CUSTOM_IE
#ifndef _CUS_IE_
#define _CUS_IE_
typedef struct _cus_ie
#ifndef __CUS_IE_
#define __CUS_IE_
typedef struct __cus_ie
{
u8 *ie;
u8 type;
}rtw_custom_ie_t, *p_rtw_custom_ie_t;
} rtw_custom_ie_t, *p_rtw_custom_ie_t;
#endif /* _CUS_IE_ */
#endif

View file

@ -7,7 +7,13 @@
#include "osdep_service.h"
#include "freertos/wrapper.h"
//#include "wlan_bssdef.h"
//#include "wifi_simple_config_parser.h"
//#include "rtw_rf.h"
#include "rtl_bios_data.h"
#include "drv_types.h"
#include "wlan/realtek/src/hal/hal_data.h"
//#include "phydm.h"
#define _atr_aligned2_ __attribute__((aligned(2)))
#define _atr_aligned4_ __attribute__((aligned(4)))
@ -54,16 +60,16 @@ typedef uint8_t BOOLEAN;
typedef uint8_t u1Byte;
typedef uint16_t u2Byte;
typedef uint32_t u4Byte;
//typedef uint32_t u4Byte;
typedef uint64_t u8Byte;
typedef uint64_t __attribute__((aligned(4))) _u8Byte;
typedef sint8_t s1Byte;
//typedef sint8_t s1Byte;
typedef sint16_t s2Byte;
typedef sint32_t s4Byte;
typedef sint8_t *ps1Byte;
//typedef sint32_t s4Byte;
//typedef sint8_t *ps1Byte;
typedef uint8_t *pu1Byte;
typedef uint16_t *pu2Byte;
typedef uint32_t *pu4Byte;
//typedef uint32_t *pu4Byte;
typedef uint32_t sizetype;
typedef struct _ADAPTER _adapter;
@ -75,6 +81,7 @@ typedef void *_mutex;
typedef int (*init_done_ptr)(void);
/* rtw_efuse.h
enum _EFUSE_DEF_TYPE // : sint32_t
{
TYPE_EFUSE_MAX_SECTION = 0x0,
@ -90,7 +97,9 @@ enum _IFACE_TYPE //: sint32_t
{
IFACE_PORT0 = 0x0, IFACE_PORT1 = 0x1, MAX_IFACE_PORT = 0x2,
};
*/
/* rtl8195a_pmu_task.h
enum _FW_ERR0_STATUS_ //: sint32_t
{
FES0_H2C_CMDID = 0x1,
@ -354,7 +363,7 @@ struct atomic_t {
_lock lock;
};
*/
/* osdep_intf.h
struct iw_request_info {
uint16_t cmd;
uint16_t flags;
@ -362,7 +371,9 @@ struct iw_request_info {
typedef int (*iw_handler)(struct net_device *, struct iw_request_info *,
union iwreq_data *, char *);
*/
/* wlan_bssdef.h
struct _NDIS_802_11_SSID {
uint32_t SsidLength;
uint8_t Ssid[36];
@ -455,6 +466,7 @@ struct wlan_network {
WLAN_BSSID_EX network;
WLAN_BCN_INFO BcnInfo;
};
*/
/* osdep_service.h
typedef void *_timerHandle;
@ -467,12 +479,13 @@ struct wlan_network {
};
typedef struct timer_list _timer;
*/
*/
/* rtw_qos.h
struct qos_priv {
uint32_t qos_option;
};
*/
/* wifi.h
struct __attribute__((packed)) _atr_aligned2_ rtw_ieee80211_ht_cap {
uint16_t cap_info;
uint8_t ampdu_params_info;
@ -481,7 +494,9 @@ struct __attribute__((packed)) _atr_aligned2_ rtw_ieee80211_ht_cap {
uint32_t tx_BF_cap_info;
uint8_t antenna_selection_info;
};
*/
/* rtw_ht.h
struct ht_priv {
uint32_t ht_option;
uint32_t ampdu_enable;
@ -493,7 +508,8 @@ struct ht_priv {
uint8_t stbc_cap;
struct rtw_ieee80211_ht_cap ht_cap;
};
*/
/* rtw_mlme.h
struct _atr_aligned4_ _RT_LINK_DETECT_T {
uint32_t NumTxOkInPeriod;
uint32_t NumRxOkInPeriod;
@ -506,7 +522,6 @@ struct _atr_aligned4_ _RT_LINK_DETECT_T {
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
@ -569,7 +584,8 @@ struct mlme_priv {
uint8_t scanning_via_buddy_intf;
struct recv_frame *p_copy_recv_frame;
};
*/
/* rtw_mlme_ext.h
struct _atr_aligned4_ _RT_CHANNEL_INFO {
uint8_t ChannelNum;
RT_SCAN_TYPE ScanType; // uint8_t ScanType; // byte/dword?
@ -584,7 +600,8 @@ struct ss_res {
int scan_mode;
NDIS_802_11_SSID ssid[1];
};
*/
/* wifi.h
struct __attribute__((packed)) __attribute__((aligned(1))) ADDBA_request {
uint8_t dialog_token;
uint16_t BA_para_set;
@ -623,7 +640,8 @@ struct HT_info_element {
uint8_t infos[5];
uint8_t MCS_rate[16];
};
*/
/* rtw_mlme_ext.h
struct FW_Sta_Info {
struct sta_info *psta;
uint32_t status;
@ -672,16 +690,17 @@ struct mlme_ext_info {
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_ */
#endif */
// typedef struct _cus_ie *p_cus_ie;
/* rtw_mlme_ext.h
struct mlme_ext_priv { //__attribute__((packed))?
_adapter *padapter; //+0 padapter+1256 [912]
uint8_t mlmeext_init;
@ -725,7 +744,9 @@ struct mlme_ext_priv { //__attribute__((packed))?
uint8_t bChDeauthDisabled;
uint8_t bConcurrentFlushingSTA;
};
*/
/* rtw_cmd.h
struct cmd_priv {
_queue cmd_queue;
uint8_t cmdthd_running;
@ -738,6 +759,27 @@ struct evt_priv {
uint8_t *evt_allocated_buf;
uint32_t evt_done_cnt;
};
*/
/* drv_types.h
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;
};
*/
/* trw_io.h
struct fifo_more_data {
uint32_t more_data;
uint32_t len;
};
struct _io_ops {
int (*init_io_priv)(struct dvobj_priv *);
@ -756,7 +798,8 @@ struct _io_ops {
struct io_priv {
struct _io_ops io_ops;
};
*/
/* rtw_xmit.h
struct rtw_tx_ring {
struct tx_buf_desc *desc;
dma_addr_t dma;
@ -802,7 +845,8 @@ struct _atr_aligned8_ xmit_priv {
uint32_t free_xmit_extbuf_cnt;
uint16_t nqos_ssn;
};
*/
/* trw_recv.h
struct rtw_rx_ring {
struct recv_buf_stat *desc;
dma_addr_t dma;
@ -865,7 +909,8 @@ struct _atr_aligned8_ recv_priv {
uint16_t promisc_bk_rxfltmap2;
uint8_t promisc_mgntframe_enabled;
};
*/
/* sta_info.h
struct _atr_aligned4_ sta_priv {
uint8_t *pallocated_stainfo_buf;
uint32_t allocated_stainfo_size;
@ -889,14 +934,13 @@ struct _atr_aligned4_ sta_priv {
uint16_t tim_bitmap;
uint16_t max_num_sta;
};
*/
/* trw_security.h
union Keytype {
uint8_t skey[16];
uint32_t lkey[4];
};
union pn48 {
u8Byte val;
struct {
@ -910,7 +954,9 @@ union pn48 {
uint8_t TSC7;
}_byte_;
};
*/
/* wlan_bssdef.h
struct _NDIS_802_11_WEP {
uint32_t Length;
uint32_t KeyIndex;
@ -918,7 +964,9 @@ struct _NDIS_802_11_WEP {
uint8_t KeyMaterial[16];
};
typedef struct _NDIS_802_11_WEP NDIS_802_11_WEP;
*/
/* rtw_psk.h
struct $D75518714447A990003EBC933C23F70E {
uint32_t HighPart;
uint32_t LowPart;
@ -979,7 +1027,9 @@ struct _wpa_global_info {
typedef struct _wpa_global_info WPA_GLOBAL_INFO;
typedef struct _wpa_sta_info WPA_STA_INFO;
*/
/* rtw_security.h
struct _atr_aligned4_ security_priv {
uint32_t dot11AuthAlgrthm;
uint32_t dot11PrivacyAlgrthm;
@ -1023,7 +1073,8 @@ struct _atr_aligned4_ security_priv {
uint8_t wpa_passphrase[65];
uint8_t wps_phase;
};
*/
/* derv_types.h
struct _atr_aligned4_ registry_priv {
uint8_t chip_version;
uint8_t hci;
@ -1067,7 +1118,8 @@ struct _atr_aligned4_ registry_priv {
uint8_t adaptivity_dc_backoff;
int8_t adaptivity_th_l2h_ini;
};
*/
/* trw_powerctrl.h
typedef void *_sema;
typedef _sema _pwrlock;
@ -1138,7 +1190,8 @@ struct _atr_aligned4_ pwrctrl_priv {
uint8_t tdma_rfon_period_len_3;
uint8_t lps_dtim;
};
*/
/* rtw_eeprom.h
struct _atr_aligned2_ eeprom_priv { // __attribute__((packed))!?
uint8_t bautoload_fail_flag;
uint8_t mac_addr[6];
@ -1148,7 +1201,8 @@ struct _atr_aligned2_ eeprom_priv { // __attribute__((packed))!?
uint8_t EEPROMRFGainOffset;
uint8_t EEPROMRFGainVal;
};
*/
/* rtw_rf.h
enum _CHANNEL_WIDTH // : sint32_t
{
CHANNEL_WIDTH_20 = 0x0,
@ -1159,7 +1213,9 @@ enum _CHANNEL_WIDTH // : sint32_t
CHANNEL_WIDTH_MAX = 0x5,
};
typedef enum _CHANNEL_WIDTH CHANNEL_WIDTH;
*/
/* hal_intf.h
enum _HAL_DEF_VARIABLE // : sint32_t
{
HAL_DEF_UNDERCORATEDSMOOTHEDPWDB = 0x0,
@ -1196,11 +1252,11 @@ enum _HAL_ODM_VARIABLE // : sint32_t
HAL_ODM_REGULATION = 0x4,
};
typedef enum _HAL_ODM_VARIABLE HAL_ODM_VARIABLE;
*/
/* freertos_service.h
typedef void *_thread_hdl_;
/*
// osdep_service.h
*/
/* osdep_service.h
struct task_struct
{
const char *task_name;
@ -1226,19 +1282,7 @@ typedef struct net_device *_nic_hdl;
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;
};
/* rtw_recv.h
struct phy_info {
uint8_t RxPWDBAll;
uint8_t SignalQuality;
@ -1314,7 +1358,7 @@ union {
uint32_t mem[32];
};
};
/*
union $AB04817EA6EB89125E28056B7464A4D7 {
_list list;
struct recv_frame_hdr hdr;
@ -1325,8 +1369,7 @@ union recv_frame {
union $AB04817EA6EB89125E28056B7464A4D7 u;
};
*/
/*
// skbuff.h
/* skbuff.h
struct sk_buff
{
struct sk_buff *next;
@ -1347,7 +1390,7 @@ union recv_frame {
uint32_t qlen;
};
*/
/* rtw_xmit.h
struct tx_servq {
_list tx_pending;
_queue sta_pending;
@ -1366,6 +1409,12 @@ struct sta_xmit_priv {
_list apsd;
uint16_t txseq_tid[16];
};
*/
/* rtw_recv.h
struct recv_buf_stat {
uint32_t rxdw0;
uint32_t rxdw1;
};
struct stainfo_rxcache {
uint16_t tid_rxseq[16];
@ -1377,8 +1426,9 @@ struct sta_recv_priv {
_queue defrag_q;
struct stainfo_rxcache rxcache;
};
struct stainfo_stats {
*/
/* sta_info.h
struct stainfo_stats {
u8Byte rx_mgnt_pkts;
u8Byte rx_ctrl_pkts;
u8Byte rx_data_pkts;
@ -1475,20 +1525,15 @@ struct sta_info {
uint8_t RXEVM[4];
uint8_t RXSNR[4];
};
/*
// wifi_conf.h
*/
/* 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;
};
/* rtw_xmit.h
struct hw_xmit {
_queue *sta_queue;
int accnt;
@ -1504,12 +1549,8 @@ struct tx_buf_desc {
uint32_t txdw6;
uint32_t txdw7;
};
struct recv_buf_stat {
uint32_t rxdw0;
uint32_t rxdw1;
};
*/
/* rtw_psk.h
struct _wpa_sta_info {
int state;
int gstate;
@ -1536,7 +1577,8 @@ struct _wpa_sta_info {
int clientGkeyUpdate;
LARGE_INTEGER clientMICReportReplayCounter;
};
*/
/* rtw_xmit.h
struct pkt_attrib {
uint8_t type;
uint8_t subtype;
@ -1627,6 +1669,7 @@ struct submit_ctx {
uint32_t timeout_ms;
int status;
};
*/
/*
// wrapper.h
struct net_device
@ -1712,12 +1755,15 @@ struct submit_ctx {
union iwreq_data u;
};
*/
/* drv_types.h
struct co_data_priv {
uint8_t co_ch;
uint8_t co_bw;
uint8_t co_ch_offset;
uint8_t rsvd;
};
*/
/* hal_intf.h
enum _HARDWARE_TYPE // : sint32_t
{
@ -1759,7 +1805,8 @@ enum _HARDWARE_TYPE // : sint32_t
HARDWARE_TYPE_RTL8188FS = 0x23,
HARDWARE_TYPE_MAX = 0x24,
};
*/
/* hal_phy.h
struct RF_Shadow_Compare_Map {
uint32_t Value;
uint8_t Compare;
@ -1768,7 +1815,8 @@ struct RF_Shadow_Compare_Map {
uint8_t Driver_Write;
};
typedef struct RF_Shadow_Compare_Map RF_SHADOW_T;
*/
/* rtw_powerctrl.h
enum _PS_BBRegBackup_ // : sint32_t
{
PSBBREG_RF0 = 0x0,
@ -1777,9 +1825,8 @@ enum _PS_BBRegBackup_ // : sint32_t
PSBBREG_AFE0 = 0x3,
PSBBREG_TOTALCNT = 0x4,
};
/*
// hal_irqn.h
*/
/* hal_irqn.h
enum _IRQn_Type_ // : sint32_t
{
NonMaskableInt_IRQn = 0xFFFFFFF2,
@ -1852,9 +1899,8 @@ enum _PS_BBRegBackup_ // : sint32_t
uint32_t Priority;
};
typedef struct _IRQ_HANDLE_ IRQ_HANDLE;
*/
/*
// hal_soc_ps_monitor.h
*/
/* hal_soc_ps_monitor.h
struct _power_state_
{
uint8_t FuncIdx;
@ -1876,9 +1922,9 @@ enum _PS_BBRegBackup_ // : sint32_t
BOOL SleepFlag;
};
typedef struct _power_mgn_ Power_Mgn;
*/
/*
// hal_gpio.h
/* hal_gpio.h
enum $E1AD70AB12E7AA6E98B8D89D9B965EB5 //: sint32_t
{
_PORT_A = 0x0,
@ -1913,7 +1959,7 @@ enum _PS_BBRegBackup_ // : sint32_t
};
typedef struct _HAL_GPIO_ADAPTER_ *PHAL_GPIO_ADAPTER;
*/
/* hal_intf.h
struct hal_ops {
uint32_t (*hal_power_on)(_adapter *);
uint32_t (*hal_init)(_adapter *);
@ -1976,66 +2022,8 @@ struct hal_ops {
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;
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!" !
*/
/* HalVerDef.h
enum tag_HAL_IC_Type_Definition // : sint32_t
{
CHIP_8192S = 0x0,
@ -2104,7 +2092,8 @@ struct _atr_aligned4_ tag_HAL_VERSION {
uint8_t ROMVer;
};
typedef struct tag_HAL_VERSION HAL_VERSION;
*/
/* hal_intf.h
enum _HW_VARIABLES //: sint32_t
{
HW_VAR_MEDIA_STATUS = 0x0,
@ -2189,13 +2178,15 @@ enum _HW_VARIABLES //: sint32_t
HW_VAR_ASIX_IOT = 0x4F,
HW_VAR_PROMISC = 0x50,
};
*/
/* hal_phy.h
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;
*/
/* hal_com_phycfg.h
struct _BB_REGISTER_DEFINITION {
uint32_t rfintfs;
uint32_t rfintfo;
@ -2206,7 +2197,8 @@ struct _BB_REGISTER_DEFINITION {
uint32_t rfLSSIReadBackPi;
};
typedef struct _BB_REGISTER_DEFINITION BB_REGISTER_DEFINITION_T;
*/
/* rtw_mlme.h
enum dot11AuthAlgrthmNum //: sint32_t
{
dot11AuthAlgrthm_Open = 0x0,
@ -2216,7 +2208,8 @@ enum dot11AuthAlgrthmNum //: sint32_t
dot11AuthAlgrthm_WAPI = 0x4,
dot11AuthAlgrthm_MaxNum = 0x5,
};
*/
/* rtw_mlme_ext.h
enum _RT_CHANNEL_DOMAIN //: sint32_t
{
RT_CHANNEL_DOMAIN_FCC = 0x0,
@ -2283,7 +2276,8 @@ enum _RT_CHANNEL_DOMAIN //: sint32_t
RT_CHANNEL_DOMAIN_MAX = 0x59,
RT_CHANNEL_DOMAIN_REALTEK_DEFINE = 0x7F,
};
*/
/* freertos_intfs.h
struct _driver_priv {
int drv_registered;
_mutex hw_init_mutex;
@ -2292,7 +2286,9 @@ struct _driver_priv {
_mutex setbw_mutex;
};
typedef struct _driver_priv drv_priv;
*/
/* PhyDM_Adaptivity.h
struct _ADAPTIVITY_STATISTICS {
s1Byte TH_L2H_ini_mode2;
s1Byte TH_EDCCA_HL_diff_mode2;
@ -2309,12 +2305,14 @@ struct _ADAPTIVITY_STATISTICS {
u1Byte AdajustIGILevel;
};
typedef struct _ADAPTIVITY_STATISTICS ADAPTIVITY_STATISTICS;
*/
/* phydm_NoiseMonitor.h
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;
@ -2335,13 +2333,13 @@ struct _FALSE_ALARM_STATISTICS {
};
typedef struct _FALSE_ALARM_STATISTICS FALSE_ALARM_STATISTICS;
*/
/* phydm.h
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;
@ -2370,11 +2368,13 @@ struct _atr_aligned8_ _ROM_INFO {
};
typedef struct _ROM_INFO ROM_INFO;
*/
/* ROM_RTL8195A_PHYDM.h
typedef struct _ROM_INFO *PROM_INFO;
*/
/* phydm_types.h
typedef struct sta_info *PSTA_INFO_T;
*/
/* phydm.h
struct _ODM_Phy_Dbg_Info_ {
s1Byte RxSNRdB[4];
u4Byte NumQryPhyStatus;
@ -2717,7 +2717,73 @@ struct _atr_aligned8_ ODM_RF_Calibration_Structure {
u4Byte DpkThermal[4];
};
typedef struct ODM_RF_Calibration_Structure ODM_RF_CAL_T;
*/
/* drv_types.h
#include "ieee80211.h"
#include "rtw_cmd.h"
struct _atr_aligned4_ _ADAPTER {
uint16_t HardwareType;
uint16_t interface_type; //+2
uint32_t work_mode;
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!" !
*/
/* phydm.h
struct _atr_aligned8_ DM_Out_Source_Dynamic_Mechanism_Structure {
PADAPTER Adapter;
BOOLEAN odm_ready;
@ -2887,7 +2953,8 @@ struct _atr_aligned8_ DM_Out_Source_Dynamic_Mechanism_Structure {
};
typedef struct DM_Out_Source_Dynamic_Mechanism_Structure DM_ODM_T;
typedef struct DM_Out_Source_Dynamic_Mechanism_Structure *PDM_ODM_T;
*/
/* halphy
enum _PWRTRACK_CONTROL_METHOD //: sint32_t
{
BBSWING = 0x0, TXAGC = 0x1, MIX_MODE = 0x2,
@ -2939,7 +3006,9 @@ struct _H2CParam_RsvdPage_ {
};
typedef struct _H2CParam_RsvdPage_ H2CParam_RsvdPage;
typedef struct _H2CParam_RsvdPage_ *PH2CParam_RsvdPage;
*/
/* wlan_bssdef.h
struct _NDIS_802_11_VARIABLE_IEs {
uint8_t ElementID;
uint8_t Length;
@ -2977,6 +3046,7 @@ enum _NDIS_802_11_WEP_STATUS //: sint32_t
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;
@ -3023,7 +3093,7 @@ struct pattern_ops {
sc_decode_profile_call_back decode_profile;
sc_get_tlv_info_call_back get_tlv_info;
};
/* halpower
struct _atr_aligned2_ _WL_PWR_CFG_ { // __attribute__((packed))!?
uint16_t offset;
uint8_t cut_msk;
@ -3035,17 +3105,21 @@ struct _atr_aligned2_ _WL_PWR_CFG_ { // __attribute__((packed))!?
uint8_t value;
};
typedef struct _WL_PWR_CFG_ WLAN_PWR_CFG;
*/
/* rtw_mlme.h
struct cmd_hdl {
uint32_t parmsize;
uint8_t (*h2cfuns)(struct _ADAPTER *, uint8_t *);
};
*/
/* rtw_cmd.h
struct _cmd_callback {
uint32_t cmd_code;
void (*callback)(_adapter *, struct cmd_obj *);
};
*/
/* phydm.h
enum _ODM_Common_Info_Definition //: sint32_t
{
ODM_CMNINFO_PLATFORM = 0x0,
@ -3151,13 +3225,15 @@ enum _ODM_Support_Ability_Definition // : sint32_t
ODM_RF_RX_GAIN_TRACK = 0x2000000,
ODM_RF_CALIBRATION = 0x4000000,
};
*/
/* hal_phy.h
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;
*/
/* rtw_cmd.h
enum _EXTCHNL_OFFSET //: sint32_t
{
EXTCHNL_OFFSET_NO_EXT = 0x0,
@ -3256,7 +3332,8 @@ enum MGN_RATE //: sint32_t
MGN_VHT4SS_MCS9 = 0xC7,
MGN_UNKNOWN = 0xC8,
};
*/
/* rtw_mlme.h rtw_mlme_ext.h
struct _RT_CHANNEL_PLAN_2G {
uint8_t Channel[14];
uint8_t Len;
@ -3276,12 +3353,14 @@ struct mlme_handler {
uint32_t num;
uint32_t (*func)(_adapter *, struct recv_frame *);
};
*/
/* rtw_event.h
struct fwevent {
uint32_t parmsize;
void (*event_callback)(_adapter *, uint8_t *);
};
*/
/* rtw_recv.h
struct recv_buf {
_list list;
PADAPTER adapter;
@ -3302,7 +3381,8 @@ struct recv_reorder_ctrl {
_queue pending_recvframe_queue;
_timer reordering_ctrl_timer;
};
*/
/* phydm.h
enum _ODM_RF_RADIO_PATH // : sint32_t
{
ODM_RF_PATH_A = 0x0,
@ -3403,7 +3483,8 @@ enum _ODM_FW_Config_Type //: sint32_t
CONFIG_FW_BT = 0x7,
};
typedef enum _ODM_FW_Config_Type ODM_FW_Config_Type;
*/
/* hal_com_phycfg.h
enum _RATE_SECTION //: sint32_t
{
CCK = 0x0,
@ -3418,12 +3499,8 @@ enum _RATE_SECTION //: sint32_t
VHT_4SSMCS0_4SSMCS9 = 0x9,
};
typedef enum _RATE_SECTION RATE_SECTION;
struct map_mask_s {
uint16_t mask_start;
uint16_t mask_end;
};
*/
/* hal_pg.h
struct _TxPowerInfo24G {
uint8_t IndexCCK_Base[1][6];
uint8_t IndexBW40_Base[1][6];
@ -3432,9 +3509,8 @@ struct _TxPowerInfo24G {
};
typedef struct _TxPowerInfo24G TxPowerInfo24G;
typedef struct _TxPowerInfo24G *PTxPowerInfo24G;
/*
*/
/* wifi_constants.h
enum rtw_bss_type_t // __int32
{
RTW_BSS_TYPE_INFRASTRUCTURE = 0x0,
@ -3466,7 +3542,8 @@ enum rtw_802_11_band_t // __int32
RTW_802_11_BAND_2_4GHZ = 0x1,
};
*/
/* wifi_structures.h
struct rtw_ssid
{
unsigned int8_t len;

View file

@ -1277,7 +1277,7 @@ typedef struct DM_Out_Source_Dynamic_Mechanism_Structure
//-----------HOOK BEFORE REG INIT-----------//
// ODM Platform info AP/ADSL/CE/MP = 1/2/3/4
u1Byte SupportPlatform;
// ODM Support Ability DIG/RATR/TX_PWR_TRACK/ ¡K¡K = 1/2/3/¡K
// ODM Support Ability DIG/RATR/TX_PWR_TRACK/ <EFBFBD>K<EFBFBD>K = 1/2/3/<2F>K
u4Byte SupportAbility;
// ODM PCIE/USB/SDIO = 1/2/3
u1Byte SupportInterface;
@ -1491,7 +1491,7 @@ typedef struct DM_Out_Source_Dynamic_Mechanism_Structure
PROM_INFO pROMInfo;
FALSE_ALARM_STATISTICS FalseAlmCnt;
CFO_TRACKING DM_CfoTrack;
CFO_TRACKING DM_CfoTrack;
FALSE_ALARM_STATISTICS FlaseAlmCntBuddyAdapter;
//#ifdef CONFIG_ANTENNA_DIVERSITY

View file

@ -375,10 +375,10 @@ typedef enum _RT_SPINLOCK_TYPE{
typedef unsigned short u2Byte,*pu2Byte;
typedef unsigned int u4Byte,*pu4Byte;
typedef unsigned long long u8Byte,*pu8Byte;
typedef signed char s1Byte,*ps1Byte; /* GCC ROM char = unsigned char */
typedef signed char s1Byte,*ps1Byte; /* GCC ROM char = unsigned char */
typedef signed short s2Byte,*ps2Byte;
typedef signed long s4Byte,*ps4Byte;
typedef long long s8Byte,*ps8Byte;
typedef signed long s4Byte,*ps4Byte;
typedef long long s8Byte,*ps8Byte;
typedef struct sta_info STA_INFO_T,*PSTA_INFO_T;

View file

@ -20,6 +20,7 @@
#ifndef __ROM_RTL8195A_PHYDM_H__
#define __ROM_RTL8195A_PHYDM_H__
#ifndef _RTL_BIOS_DATA_H_
typedef struct _FALSE_ALARM_STATISTICS{
u4Byte Cnt_Parity_Fail;
u4Byte Cnt_Rate_Illegal;
@ -56,16 +57,19 @@ typedef struct _CFO_TRACKING_
u1Byte CFO_TH_ATC;
}CFO_TRACKING, *PCFO_TRACKING;
extern FALSE_ALARM_STATISTICS FalseAlmCnt;
extern CFO_TRACKING DM_CfoTrack;
typedef struct _ROM_INFO{
u1Byte EEPROMVersion;
u1Byte CrystalCap;
u8Byte DebugComponents;
u4Byte DebugLevel;
}ROM_INFO, *PROM_INFO;
} ROM_INFO, *PROM_INFO;
extern FALSE_ALARM_STATISTICS FalseAlmCnt;
extern CFO_TRACKING DM_CfoTrack;
extern ROM_INFO ROMInfo;
#endif
u1Byte
ROM_odm_QueryRxPwrPercentage(

View file

@ -414,7 +414,7 @@ struct net_device_stats {
struct net_device {
char name[16];
void *priv; /* pointer to private data */
unsigned char dev_addr[6]; /* set during bootup */
unsigned char dev_addr[6]; /* set during bootup */
int (*init)(void);
int (*open)(struct net_device *dev);
int (*stop)(struct net_device *dev);
@ -449,6 +449,8 @@ void del_timer_sync(struct timer_list * timer);
void init_timer_wrapper(void);
void deinit_timer_wrapper(void);
typedef void (*TIMER_FUN)(void *context);
void rtw_init_timer(_timer *ptimer, void *adapter, TIMER_FUN pfunc,void* cntx, const char *name);
void rtw_set_timer(_timer *ptimer,u32 delay_time);
u8 rtw_cancel_timer(_timer *ptimer);

View file

@ -163,12 +163,13 @@ PACK_STRUCT_END
# include "arch/epstruct.h"
#endif
//#define toupper(CH) \
// (((CH) >= 'a' && (CH) <= 'z') ? ((CH) - 'a' + 'A') : (CH))
LOCAL char toupper(char ch) {
return ((ch >= 'a' && ch <= 'z') ? ch - 'a' + 'A' : ch);
}
/** NetBIOS decoding name */
static int8_t NETBIOS_CODE_ATTR NBNS_decode(char *dst, char *src)
LOCAL int8_t NETBIOS_CODE_ATTR NBNS_decode(char *dst, char *src)
{
uint8_t i, j;
char c;
@ -217,7 +218,7 @@ static void NBNS_encode(char *dst, char *src, uint8_t type)
#endif
/** NetBIOS Name service recv callback */
static void NETBIOS_CODE_ATTR
LOCAL void NETBIOS_CODE_ATTR
netbios_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p, ip_addr_t *addr,
u16_t port) {
LWIP_UNUSED_ARG(arg);
@ -226,7 +227,7 @@ netbios_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p, ip_addr_t *addr,
if (current_netif != NULL && current_netif->num < NET_IF_NUM) {
uint32 ip = current_netif->ip_addr.addr;
char *curbiosname = netbios_name[current_netif->num];
if (curbiosname[0] != '\0' && ip != NULL
if (curbiosname[0] != '\0' && ip != 0
/* we only answer if we got a default interface */
&& (((ip ^ addr->addr) & current_netif->netmask.addr) == 0)) { // запрет ответа другой подсети
#if DEBUGSOO > 3
@ -308,7 +309,7 @@ netbios_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p, ip_addr_t *addr,
}
}
struct udp_pcb * NETBIOS_CODE_ATTR netbios_pcb(void) {
LOCAL struct udp_pcb * NETBIOS_CODE_ATTR netbios_pcb(void) {
struct udp_pcb *pcb;
for (pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) {
if (pcb->local_port == NETBIOS_PORT)

View file

@ -74,12 +74,12 @@ static int inHandlerMode (void)
#if configSignalManagementSupport // the older FreeRTOS version didn't support Signal Management functions
static void add_thread_signal_map (osThreadId thread_id, EventGroupHandle_t signals)
{
int dummy;
uint32_t dummy;
// uint32_t i;
ThreadSignalRec *prec_entity;
if (inHandlerMode()) {
dummy = portSET_INTERRUPT_MASK_FROM_ISR();
dummy = portSET_INTERRUPT_MASK_FROM_ISR();
}
else {
vPortEnterCritical();
@ -135,7 +135,7 @@ static EventGroupHandle_t find_signal_by_thread (osThreadId thread_id)
{
EventGroupHandle_t signals_hdl=NULL;
// uint32_t i;
int dummy;
uint32_t dummy;
ThreadSignalRec *prec_entity;
if (inHandlerMode()) {
@ -185,7 +185,7 @@ static EventGroupHandle_t remove_thread_signal_map (osThreadId thread_id)
{
EventGroupHandle_t signals_hdl=NULL;
// uint32_t i;
int dummy;
uint32_t dummy;
ThreadSignalRec *prec_entity;
ThreadSignalRec *pprev_entity;
@ -989,7 +989,7 @@ osPoolId osPoolCreate (const osPoolDef_t *pool_def)
/// \note MUST REMAIN UNCHANGED: \b osPoolAlloc shall be consistent in every CMSIS-RTOS.
void *osPoolAlloc (osPoolId pool_id)
{
int dummy;
uint32_t dummy;
void *p = NULL;
uint32_t i;
uint32_t index;
@ -1047,7 +1047,7 @@ void *osPoolCAlloc (osPoolId pool_id)
/// \note MUST REMAIN UNCHANGED: \b osPoolFree shall be consistent in every CMSIS-RTOS.
osStatus osPoolFree (osPoolId pool_id, void *block)
{
int dummy;
uint32_t dummy;
uint32_t index;
if (pool_id == NULL) {

View file

@ -169,7 +169,6 @@ space. */
#define xBlockAllocatedBit (( ( size_t ) 1 ) << ( ( sizeof( size_t ) * heapBITS_PER_BYTE ) - 1 ))
/* Realtek test code start */
//TODO: remove section when combine BD and BF
#if (defined(CONFIG_PLATFORM_8195A) || defined(CONFIG_PLATFORM_8711B))
#include "section_config.h"
SRAM_HEAP_SECTION
@ -541,7 +540,7 @@ const HeapRegion_t *pxHeapRegion;
uint8 chip_id = HalGetChipId();
while( pxHeapRegion->xSizeInBytes > 0 )
{
if(pxHeapRegion->pucStartAddress > 0x20000000
if(pxHeapRegion->pucStartAddress > (uint8_t *)0x20000000
&& chip_id >= CHIP_ID_8711AN && chip_id <= CHIP_ID_8711AF) {
// pxHeapRegion->pucStartAddress = 0;
// pxHeapRegion->xSizeInBytes = 0;

View file

@ -22,6 +22,7 @@
#define _OSDEP_API_C_
#include <osdep_api.h>
#include <task.h>
extern _LONG_CALL_ char *_strcpy(char *dest, const char *src);
extern _LONG_CALL_ VOID *_memset(void *dst0, int Val,SIZE_T length);

View file

@ -142,6 +142,8 @@ HalRuartResetTRxFifoRtl8195a(
return HAL_OK;
}
extern u64 div_u64(u64 dividend, u32 divisor);
HAL_Status
HalRuartGenBaudRateRtl8195a(
IN RUART_SPEED_SETTING *pBaudSetting
@ -152,7 +154,7 @@ HalRuartGenBaudRateRtl8195a(
u32 min_err=0xffffffff;
u32 uart_ovsr;
u32 uart_ovsr_mod;
u32 min_uart_ovsr; // ovsr with mini err
u32 min_uart_ovsr =0; // ovsr with mini err
u32 min_uart_ovsr_mod;
u64 uart_clock;
u32 divisor_temp;

View file

@ -547,13 +547,13 @@ HalSsiInit(VOID *Data)
DBG_SSI_ERR("Invalid SPI Index.\n");
break;
}
/*
ret = FunctionChk(Function, (u32)PinmuxSelect);
if(ret == _FALSE){
DBG_SSI_ERR("Invalid Pinmux Setting.\n");
return HAL_ERR_PARA;
}
*/
#ifdef CONFIG_SOC_PS_MODULE
REG_POWER_STATE SsiPwrState;
#endif

View file

@ -92,7 +92,7 @@ typedef struct _FALSE_ALARM_STATISTICS {
u32 Cnt_CCA_all;
u32 Cnt_BW_USC;
u32 Cnt_BW_LSC;
} FALSE_ALARM_STATISTICS;
} FALSE_ALARM_STATISTICS, *PFALSE_ALARM_STATISTICS;
extern FALSE_ALARM_STATISTICS FalseAlmCnt; // 100006E0
typedef struct _rom_info {
@ -100,7 +100,7 @@ typedef struct _rom_info {
u8 CrystalCap;
u64 DebugComponents;
u32 DebugLevel;
} ROM_INFO;
} ROM_INFO, *PROM_INFO;
extern ROM_INFO ROMInfo; // 10000720
typedef struct _CFO_TRACKING_ {
@ -118,7 +118,7 @@ typedef struct _CFO_TRACKING_ {
u8 CFO_TH_XTAL_HIGH;
u8 CFO_TH_XTAL_LOW;
u8 CFO_TH_ATC;
}CFO_TRACKING;
} CFO_TRACKING, *PCFO_TRACKING;;
extern CFO_TRACKING DM_CfoTrack; // 10000738
/* in rom_libgloss_retarget.h

View file

@ -4,6 +4,7 @@
#include <string.h>
#include <stdarg.h>
#include "libc/rom/string/rom_libc_string.h"
#include "strproc.h"
#define memchr __rtl_memchr_v1_00
#define memcmp __rtl_memcmp_v1_00
@ -22,10 +23,6 @@
#define strsep __rtl_strsep_v1_00
#define strtok __rtl_strtok_v1_00
static char toupper(char ch) {
return ((ch >= 'a' && ch <= 'z') ? ch - 'a' + 'A' : ch);
};
#define NEWFP 1
#define ENDIAN_LITTLE 1234
#define ENDIAN_BIG 4321
@ -191,6 +188,13 @@ str_fmt(char *p, int size, int fmt)
/*
* strtoupper()
*/
#define strtoupper StrUpr
/*
LOCAL char toupper(char ch) {
return ((ch >= 'a' && ch <= 'z') ? ch - 'a' + 'A' : ch);
};
void
strtoupper(char *p)
{
@ -199,7 +203,7 @@ strtoupper(char *p)
for (; *p; p++)
*p = toupper (*p);
}
*/
/* $Id: atob.c,v 1.1.1.1 2006/08/23 17:03:06 pefo Exp $ */
/*
@ -633,7 +637,7 @@ c_vsprintf (char *d, const char *s, va_list ap)
}
else if (*s == 'o')
base = 8;
else if (*s == 'b')
else //if (*s == 'b')
base = 2;
if (longlong)
llbtoa(d, va_arg (ap, quad_t),
@ -1074,9 +1078,12 @@ int c_printf(const char *fmt, ...)
int puts (const char *s)
{
int i = 0;
while(*s) {
HalSerialPutcRtl8195a(*s++);
i++;
}
return i;
}
void vTaskDelete(void *);

View file

@ -6,6 +6,8 @@
#include "rtl_bios_data.h"
#include "va_list.h"
#include "strproc.h"
#include "rt_lib_rom.h"
#define CHECK_LIBC_INIT 0
//-------------------------------------------------------------------------
@ -67,8 +69,9 @@ unsigned long long __aeabi_llsr(unsigned long long val, unsigned int shift);
extern struct _reent * _rtl_impure_ptr;
#if CHECK_LIBC_INIT
extern int libc_has_init;
// extern impure_ptr
#endif
// extern impure_ptr
//-------------------------------------------------------------------------
@ -166,7 +169,6 @@ int vprintf(const char * fmt, __VALIST param) {
int vsnprintf(char *str, size_t size, const char *fmt, __VALIST param) {
int result;
int w;
int v11;
FILE f;
#if CHECK_LIBC_INIT
if (!libc_has_init) {
@ -297,9 +299,9 @@ int sscanf(const char *buf, const char *fmt, ...) {
return i;
}
char toupper(char ch) {
LOCAL char toupper(char ch) {
return ((ch >= 'a' && ch <= 'z') ? ch - 'a' + 'A' : ch);
};
}
int _stricmp (const char *s1, const char *s2)
{
@ -376,12 +378,15 @@ int __aeabi_dtoi(double d)
return __rtl_dtoi_v1_00(d);
}
extern _LONG_CALL_ int __rtl_dtoui_v1_00(double d);
//----- __aeabi_dtoui()
int __aeabi_dtoui(double d)
{
return __rtl_dtoui_v1_00(d);
}
extern _LONG_CALL_ float __rtl_itof_v1_00(int val);
//----- __aeabi_i2f()
float __aeabi_i2f(int val)
{
@ -406,6 +411,7 @@ int __aeabi_ui2d(unsigned int val)
return __rtl_uitod_v1_00(val);
}
extern _LONG_CALL_ char * __rtl_ltoa_v1_00(int value, char *string, int radix);
//----- __aeabi_itoa()
char * __aeabi_itoa(int value, char *string, int radix)
{
@ -418,6 +424,7 @@ char * __aeabi_ltoa(int value, char *string, int radix)
return (char *)__rtl_ltoa_v1_00(value, string, radix);
}
extern _LONG_CALL_ char * __rtl_ultoa_v1_00(unsigned int value, char *string, int radix);
//----- __aeabi_utoa()
char * __aeabi_utoa(unsigned int value, char *string, int radix)
{
@ -430,42 +437,49 @@ char * __aeabi_ultoa(unsigned int value, char *string, int radix)
return (char *)__rtl_ultoa_v1_00(value, string, radix);
}
extern _LONG_CALL_ long long __rtl_ftol_v1_00(float f);
//----- __aeabi_ftol()
int __aeabi_ftol(float f)
long long __aeabi_ftol(float f)
{
return __rtl_ftol_v1_00(f);
}
extern _LONG_CALL_ double __rtl_ftod_v1_00(float f);
//----- __aeabi_ftod()
int __aeabi_ftod(float f)
double __aeabi_ftod(float f)
{
return __rtl_ftod_v1_00(f);
}
extern _LONG_CALL_ float __rtl_dtof_v1_00(double d);
//----- __aeabi_dtof()
float __aeabi_dtof(double d)
{
return __rtl_dtof_v1_00(d);
}
extern _LONG_CALL_ float __rtl_fadd_v1_00(float a, float b);
//----- __aeabi_fadd()
float __aeabi_fadd(float a, float b)
{
return __rtl_fadd_v1_00(a, b);
}
extern _LONG_CALL_ float __rtl_fsub_v1_00(float a, float b);
//----- __aeabi_fsub()
float __aeabi_fsub(float a, float b)
{
return __rtl_fsub_v1_00(a, b);
}
extern _LONG_CALL_ float __rtl_fmul_v1_00(float a, float b);
//----- __aeabi_fmul()
float __aeabi_fmul(float a, float b)
{
return __rtl_fmul_v1_00(a, b);
}
extern _LONG_CALL_ float __rtl_fdiv_v1_00(float a, float b);
//----- __aeabi_fdiv()
float __aeabi_fdiv(float a, float b)
{
@ -473,25 +487,25 @@ float __aeabi_fdiv(float a, float b)
}
//----- __aeabi_dadd()
int __aeabi_dadd(double a, double b)
double __aeabi_dadd(double a, double b)
{
return __rtl_dadd_v1_00(a, b);
}
//----- __aeabi_dsub()
int __aeabi_dsub(double a, double b)
double __aeabi_dsub(double a, double b)
{
return __rtl_dsub_v1_00(a, b);
}
//----- __aeabi_dmul()
int __aeabi_dmul(double a, double b)
double __aeabi_dmul(double a, double b)
{
return __rtl_dmul_v1_00(a, b);
}
//----- __aeabi_ddiv()
int __aeabi_ddiv(double a, double b)
double __aeabi_ddiv(double a, double b)
{
return __rtl_ddiv_v1_00(a, b);
}
@ -508,6 +522,7 @@ int __aeabi_dcmplt(double a, double b)
return __rtl_dcmplt_v1_00(a, b);
}
extern _LONG_CALL_ int __rtl_dcmple_v1_00(double a, double b);
//----- __aeabi_dcmple()
int __aeabi_dcmple(double a, double b)
{
@ -520,12 +535,13 @@ int __aeabi_dcmpgt(double a, double b)
return __rtl_dcmpgt_v1_00(a, b);
}
extern _LONG_CALL_ int __rtl_fcmplt_v1_00(float a, float b);
//----- __aeabi_fcmplt()
int __aeabi_fcmplt(float a, float b)
{
return __rtl_fcmplt_v1_00(a, b);
}
extern _LONG_CALL_ int __rtl_fcmpgt_v1_00(float a, float b);
//----- __aeabi_fcmpgt()
int __aeabi_fcmpgt(float a, float b)
{

View file

@ -4,6 +4,7 @@
*/
#include "basic_types.h"
#include "rt_lib_rom.h"
//-------------------------------------------------------------------------
// Function declarations
@ -71,12 +72,15 @@ int rtl_dtoi(double d)
return __rtl_dtoi_v1_00(d);
}
extern _LONG_CALL_ int __rtl_dtoui_v1_00(double d);
//----- rtl_dtoui()
int rtl_dtoui(double d)
{
return __rtl_dtoui_v1_00(d);
}
extern _LONG_CALL_ float __rtl_itof_v1_00(int val);
//----- rtl_i2f()
float rtl_i2f(int val)
{
@ -101,6 +105,7 @@ int rtl_ui2d(unsigned int val)
return __rtl_uitod_v1_00(val);
}
extern _LONG_CALL_ char * __rtl_ltoa_v1_00(int value, char *string, int radix);
//----- rtl_itoa()
char *rtl_itoa(int value, char *string, int radix)
{
@ -113,6 +118,7 @@ char *rtl_ltoa(int value, char *string, int radix)
return (char *)__rtl_ltoa_v1_00(value, string, radix);
}
extern _LONG_CALL_ char * __rtl_ultoa_v1_00(unsigned int value, char *string, int radix);
//----- rtl_utoa()
char *rtl_utoa(unsigned int value, char *string, int radix)
{
@ -125,6 +131,7 @@ char *rtl_ultoa(unsigned int value, char *string, int radix)
return (char *)__rtl_ultoa_v1_00(value, string, radix);
}
extern _LONG_CALL_ double __rtl_ftod_v1_00(float f);
//----- rtl_ftol()
int rtl_ftol(float f)
{
@ -137,6 +144,7 @@ int rtl_ftod(float f)
return __rtl_ftod_v1_00(f);
}
extern _LONG_CALL_ float __rtl_fsub_v1_00(float a, float b);
//----- rtl_dtof()
float rtl_dtof(double d)
{
@ -155,12 +163,14 @@ float rtl_fsub(float a, float b)
return __rtl_fsub_v1_00(a, b);
}
extern _LONG_CALL_ float __rtl_fmul_v1_00(float a, float b);
//----- rtl_fmul()
float rtl_fmul(float a, float b)
{
return __rtl_fmul_v1_00(a, b);
}
extern _LONG_CALL_ float __rtl_fdiv_v1_00(float a, float b);
//----- rtl_fdiv()
float rtl_fdiv(float a, float b)
{
@ -203,6 +213,7 @@ int rtl_dcmplt(double a, double b)
return __rtl_dcmplt_v1_00(a, b);
}
extern _LONG_CALL_ int __rtl_dcmple_v1_00(double a, double b);
//----- rtl_dcmple()
int rtl_dcmple(double a, double b)
{
@ -214,13 +225,13 @@ int rtl_dcmpgt(double a, double b)
{
return __rtl_dcmpgt_v1_00(a, b);
}
extern _LONG_CALL_ int __rtl_fcmplt_v1_00(float a, float b);
//----- rtl_fcmplt()
int rtl_fcmplt(float a, float b)
{
return __rtl_fcmplt_v1_00(a, b);
}
extern _LONG_CALL_ int __rtl_fcmpgt_v1_00(float a, float b);
//----- rtl_fcmpgt()
int rtl_fcmpgt(float a, float b)
{

View file

@ -20,25 +20,28 @@ float rtl_sin_f32(float a);
// int __rtl_cos_f32_v1_00();
// int __rtl_sin_f32_v1_00();
extern _LONG_CALL_ float __rtl_fabsf_v1_00(float a);
//----- rtl_fabsf()
float rtl_fabsf(float a)
{
return __rtl_fabsf_v1_00(a);
}
extern _LONG_CALL_ double __rtl_fabs_v1_00(double number);
//----- rtl_fabs()
int rtl_fabs(double a)
{
return __rtl_fabs_v1_00(a);
}
extern _LONG_CALL_ float __rtl_cos_f32_v1_00(float a);
//----- rtl_cos_f32()
float rtl_cos_f32(float a)
{
return __rtl_cos_f32_v1_00(a);
}
extern _LONG_CALL_ float __rtl_sin_f32_v1_00(float a);
//----- rtl_sin_f32()
float rtl_sin_f32(float a)
{