WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
wifi_api.c 文件参考
#include "utils/common.h"
#include "wifi_api.h"
#include "utils/eloop.h"
#include "wpa_supplicant_i.h"
#include "wpa_cli_rtos.h"
#include "wpa_supplicant_if.h"
#include "common/ieee802_11_common.h"
#include "config_ssid.h"
#include "src/crypto/sha1.h"
#include "driver_soc.h"
#include "driver_soc_ioctl.h"
#include "soc_osal.h"
#include "securec.h"
wifi_api.c 的引用(Include)关系图:

宏定义

#define WPA_TASK_STACK_SIZE   0x1800UL
 
#define WPA_CB_STACK_SIZE   0x800UL
 
#define WPA_TASK_PRIO_NUM   4
 
#define WPS_PIN_LENGTH   8
 
#define WPA_USE_IE_LEN_SUBSCRIPT   1
 
#define WPA_USE_IE_INIT_BYTE_NUM   2
 
#define WPA_DEFAULT_IDENTITY   "\"xxx\""
 
#define WPA_DEFAULT_PRIV_KEY   "\"wifi\""
 
#define WPA_IDENTITY_EXTRA_LEN   3
 
#define WPA_KEY_MGMT_WPA_PSK   "WPA-PSK"
 
#define WPA_KEY_MGMT_WPA_PSK_PMF   "WPA-PSK WPA-PSK-SHA256"
 
#define WPA_KEY_MGMT_WPA3_PSK   "SAE"
 
#define WPA_KEY_MGMT_WPA3_PSK_MIX   "SAE WPA-PSK WPA-PSK-SHA256"
 
#define WPA_KEY_MGMT_WPA2   "WPA-EAP"
 
#define WPA_KEY_MGMT_WPA3   "WPA-EAP-SHA256"
 
#define WPA_KEY_MGMT_WPA3_WPA2_MIX   "WPA-EAP WPA-EAP-SHA256"
 
#define WPA_GROUP_MGMT_AES_128_CMAC   "AES-128-CMAC"
 
#define WPA_KEY_MGMT_WPA_FT_PSK   "WPA-PSK FT-PSK"
 
#define WPA_KEY_MGMT_WPA_FT_PSK_PMF   "WPA-PSK WPA-PSK-SHA256 FT-PSK"
 
#define WPA_KEY_MGMT_WPA3_FT_PSK   "SAE FT-SAE"
 
#define WPA_KEY_MGMT_WPA3_FT_PSK_MIX   "SAE WPA-PSK WPA-PSK-SHA256 FT-SAE FT-PSK"
 
#define WPA2_PROTO   "WPA2"
 

函数

void wpa_event_task_free (void)
 
int try_set_lock_flag (void)
 
int is_lock_flag_off (void)
 
void clr_lock_flag (void)
 
int chan_to_freq (unsigned char chan)
 
int addr_precheck (const unsigned char *addr)
 
int is_ap_mesh_or_p2p_on (void)
 
int los_count_wifi_dev_in_use (void)
 
struct ext_wifi_devlos_get_wifi_dev_by_name (const char *ifname)
 
struct ext_wifi_devlos_get_wifi_dev_by_iftype (ext_wifi_iftype iftype)
 
struct ext_wifi_devlos_get_wifi_dev_by_priv (const void *ctx)
 
struct ext_wifi_devwpa_get_other_existed_wpa_wifi_dev (const void *priv)
 
struct ext_wifi_devwifi_dev_get (ext_wifi_iftype iftype)
 Get wifi device config.CNcomment:获取wifi device的配置.CNend
 
void los_free_wifi_dev (struct ext_wifi_dev *wifi_dev)
 
struct ext_wifi_devwifi_dev_creat (ext_wifi_iftype iftype, protocol_mode_enum mode)
 
int los_set_wifi_dev (struct ext_wifi_dev *wifi_dev)
 
int los_wpa_ssid_config_set (struct wpa_ssid *ssid, const char *name, const char *value)
 
int los_freq_to_channel (int freq, unsigned int *channel)
 
int wifi_scan (ext_wifi_iftype iftype, bool is_mesh, const ext_wifi_scan_params *sp)
 
int uapi_wifi_ap_scan (void)
 
int uapi_wifi_sta_raw_scan (ext_wifi_scan_params *sp, ext_wifi_scan_no_save_cb cb)
 
int uapi_wifi_get_scan_flag (void)
 
int uapi_wifi_sta_scan (void)
 Start sta basic scanning in all channels.CNcomment:station进行全信道基础扫描.CNend
 
int uapi_wifi_sta_advance_scan (ext_wifi_scan_params *sp)
 Start station scanning with specified parameter.CNcomment:station执行带特定参数的扫描.CNend
 
int wifi_scan_result (ext_wifi_iftype iftype)
 
int wifi_scan_result_bssid_parse (char **starttmp, void *buf, size_t *reply_len)
 
int wifi_scan_result_freq_parse (char **starttmp, void *buf, size_t *reply_len)
 
int wifi_scan_result_rssi_parse (char **starttmp, void *buf, size_t *reply_len)
 
void wifi_scan_result_base_flag_parse (const char *starttmp, void *buf)
 
int wifi_scan_result_filter_parse (const void *buf)
 
int wifi_scan_result_ssid_parse (char **starttmp, void *buf, size_t *reply_len)
 
 __attribute__ ((weak))
 
int wpa_cli_scan_results_clear (struct wpa_supplicant *wpa_s)
 
int wifi_scan_result_clear (ext_wifi_iftype iftype)
 
int uapi_wifi_csi_check_param (const ext_csi_config *config)
 
int uapi_wifi_csi_set_config (const char *ifname, const ext_csi_config *config)
 
void uapi_csi_register_data_report_cb (wifi_csi_data_cb data_cb)
 
int uapi_wifi_csi_start (void)
 
int uapi_wifi_csi_stop (void)
 
int uapi_wifi_psk_calc (ext_wifi_sta_psk_config psk_config, unsigned char *get_psk, unsigned int psk_len)
 WPA PSK Calculate.CNcomment:计算WPA PSK.CNend
 
int uapi_wifi_psk_calc_and_store (ext_wifi_sta_psk_config psk_config)
 WPA PSK Calculate,then keep it inside .CNcomment:计算WPA PSK, 并做内部保存.CNend
 
int uapi_wifi_sta_connect (const ext_wifi_assoc_request *req)
 sta start connect.CNcomment:station进行连接网络.CNend
 
int wifi_channel_check (unsigned char chan)
 
int uapi_wifi_sta_fast_connect (const ext_wifi_fast_assoc_request *fast_request)
 Start fast connect.CNcomment:station进行快速连接网络.CNend
 
int uapi_wifi_sta_disconnect (void)
 Disconnect from network.CNcomment:station断开相连的网络.CNend
 
int uapi_wifi_sta_get_connect_info (ext_wifi_status *connect_status)
 Get status of sta.CNcomment:获取station连接的网络状态.CNend
 
int wifi_wpa_start (const struct ext_wifi_dev *wifi_dev)
 
int wifi_wpa_stop (ext_wifi_iftype iftype)
 
int wifi_add_iface (const struct ext_wifi_dev *wifi_dev)
 
int wifi_remove_iface (struct ext_wifi_dev *wifi_dev)
 
int uapi_wifi_sta_start (char *ifname, int *len)
 Start wifi station.CNcomment:开启STA.CNend
 
int uapi_wifi_sta_stop (void)
 Close wifi station.CNcomment:关闭STA.CNend
 
int uapi_wifi_set_assoc_auth (int auth_type)
 
int uapi_wifi_set_ft_flag (int flag)
 
int uapi_wifi_set_pmf (wifi_pmf_option_enum pmf)
 Config pmf settings of sta.CNcomment:配置station的pmf.CNend
 
int wifi_softap_set_pmf (int pmf)
 
int uapi_wifi_sta_set_reconnect_policy (int enable, unsigned int seconds, unsigned int period, unsigned int max_try_count)
 Set reconnect policy.CNcomment:station设置重新连接网络机制.CNend
 
int uapi_wifi_sta_set_protocol_mode (protocol_mode_enum hw_mode)
 Set protocol mode of sta.CNcomment:设置station接口的protocol模式.CNend
 
wifi_pmf_option_enum uapi_wifi_get_pmf (void)
 
protocol_mode_enum uapi_wifi_sta_get_protocol_mode (void)
 Get protocol mode of.CNcomment:获取station接口的protocol模式.CNend
 
void wifi_event_task_handler (unsigned int event)
 
void wifi_new_task_event_cb (const ext_wifi_event *event_cb)
 
int uapi_wifi_config_callback (unsigned char mode, unsigned char task_prio, unsigned short stack_size)
 config calling mode of user's callback interface.CNcomment:配置用户回调接口的调用方式.CNend
 
int uapi_wifi_register_event_callback (uapi_wifi_event_cb event_cb)
 register user callback interface.CNcomment:注册回调函数接口.CNend
 
int uapi_wifi_sta_reconnect_for_wfa_test (void)
 STA reconnect without deleting the network configuration, only used for WFA tests. CNcomment:station模式下重新发起关联但不删除network配置信息,仅WFA测试使用.CNend
 
int uapi_wifi_add_usr_app_ie (ext_wifi_iftype iftype, ext_wifi_extend_ie_index ie_index, const unsigned char frame_type_bitmap, const unsigned char *ie, unsigned short ie_len)
 Add user IEs to management frame.CNcomment:在管理帧中添加用户IE字段。CNend
 
int uapi_wifi_delete_usr_app_ie (ext_wifi_iftype iftype, ext_wifi_extend_ie_index ie_index, const unsigned char frame_type_bitmap)
 Delete user IEs from management frame.CNcomment:在管理帧中删除用户IE字段。CNend
 

变量

unsigned int g_wpataskid
 
struct ext_wifi_devg_wifi_dev [2] = { NULL }
 
struct wifi_ap_opt_set g_ap_opt_set = { 0 }
 
struct wifi_sta_opt_set g_sta_opt_set = { 0 }
 
struct wifi_reconnect_set g_reconnect_set = { 0 }
 
struct ext_scan_record g_scan_record = { 0 }
 
char * g_scan_result_buf = NULL
 
size_t g_result_len = 0
 
int g_mesh_sta_flag = 0
 
int g_fast_connect_flag = 0
 
int g_fast_connect_scan_flag = 0
 
int g_connecting_flag = 0
 
int g_usr_scanning_flag = 0
 
int g_mesh_flag = 0
 
int g_scan_flag = WPA_FLAG_OFF
 
unsigned char g_quick_conn_psk [EXT_WIFI_STA_PSK_LEN] = { 0 }
 
unsigned int g_quick_conn_psk_flag = WPA_FLAG_OFF
 
ext_wifi_statusg_sta_status = NULL
 
ext_wifi_ap_sta_infog_ap_sta_info = NULL
 
unsigned int g_sta_num = 0
 
wpa_rm_network g_wpa_rm_network = 0
 
char g_csi_ifname [WIFI_IFNAME_MAX_SIZE] = { 0 }
 
uapi_wifi_event_cb g_wpa_event_cb = 0
 
ext_wifi_scan_no_save_cb g_raw_scan_cb = NULL
 

宏定义说明

◆ WPA2_PROTO

#define WPA2_PROTO   "WPA2"

◆ WPA_CB_STACK_SIZE

#define WPA_CB_STACK_SIZE   0x800UL

◆ WPA_DEFAULT_IDENTITY

#define WPA_DEFAULT_IDENTITY   "\"xxx\""

◆ WPA_DEFAULT_PRIV_KEY

#define WPA_DEFAULT_PRIV_KEY   "\"wifi\""

◆ WPA_GROUP_MGMT_AES_128_CMAC

#define WPA_GROUP_MGMT_AES_128_CMAC   "AES-128-CMAC"

◆ WPA_IDENTITY_EXTRA_LEN

#define WPA_IDENTITY_EXTRA_LEN   3

◆ WPA_KEY_MGMT_WPA2

#define WPA_KEY_MGMT_WPA2   "WPA-EAP"

◆ WPA_KEY_MGMT_WPA3

#define WPA_KEY_MGMT_WPA3   "WPA-EAP-SHA256"

◆ WPA_KEY_MGMT_WPA3_FT_PSK

#define WPA_KEY_MGMT_WPA3_FT_PSK   "SAE FT-SAE"

◆ WPA_KEY_MGMT_WPA3_FT_PSK_MIX

#define WPA_KEY_MGMT_WPA3_FT_PSK_MIX   "SAE WPA-PSK WPA-PSK-SHA256 FT-SAE FT-PSK"

◆ WPA_KEY_MGMT_WPA3_PSK

#define WPA_KEY_MGMT_WPA3_PSK   "SAE"

◆ WPA_KEY_MGMT_WPA3_PSK_MIX

#define WPA_KEY_MGMT_WPA3_PSK_MIX   "SAE WPA-PSK WPA-PSK-SHA256"

◆ WPA_KEY_MGMT_WPA3_WPA2_MIX

#define WPA_KEY_MGMT_WPA3_WPA2_MIX   "WPA-EAP WPA-EAP-SHA256"

◆ WPA_KEY_MGMT_WPA_FT_PSK

#define WPA_KEY_MGMT_WPA_FT_PSK   "WPA-PSK FT-PSK"

◆ WPA_KEY_MGMT_WPA_FT_PSK_PMF

#define WPA_KEY_MGMT_WPA_FT_PSK_PMF   "WPA-PSK WPA-PSK-SHA256 FT-PSK"

◆ WPA_KEY_MGMT_WPA_PSK

#define WPA_KEY_MGMT_WPA_PSK   "WPA-PSK"

◆ WPA_KEY_MGMT_WPA_PSK_PMF

#define WPA_KEY_MGMT_WPA_PSK_PMF   "WPA-PSK WPA-PSK-SHA256"

◆ WPA_TASK_PRIO_NUM

#define WPA_TASK_PRIO_NUM   4

◆ WPA_TASK_STACK_SIZE

#define WPA_TASK_STACK_SIZE   0x1800UL

◆ WPA_USE_IE_INIT_BYTE_NUM

#define WPA_USE_IE_INIT_BYTE_NUM   2

◆ WPA_USE_IE_LEN_SUBSCRIPT

#define WPA_USE_IE_LEN_SUBSCRIPT   1

◆ WPS_PIN_LENGTH

#define WPS_PIN_LENGTH   8

函数说明

◆ __attribute__()

__attribute__ ( (weak)  )

◆ addr_precheck()

int addr_precheck ( const unsigned char *  addr)

◆ chan_to_freq()

int chan_to_freq ( unsigned char  chan)

◆ clr_lock_flag()

void clr_lock_flag ( void  )

◆ is_ap_mesh_or_p2p_on()

int is_ap_mesh_or_p2p_on ( void  )

◆ is_lock_flag_off()

int is_lock_flag_off ( void  )

◆ los_count_wifi_dev_in_use()

int los_count_wifi_dev_in_use ( void  )

◆ los_free_wifi_dev()

void los_free_wifi_dev ( struct ext_wifi_dev wifi_dev)

◆ los_freq_to_channel()

int los_freq_to_channel ( int  freq,
unsigned int *  channel 
)

◆ los_get_wifi_dev_by_iftype()

struct ext_wifi_dev * los_get_wifi_dev_by_iftype ( ext_wifi_iftype  iftype)

◆ los_get_wifi_dev_by_name()

struct ext_wifi_dev * los_get_wifi_dev_by_name ( const char *  ifname)

◆ los_get_wifi_dev_by_priv()

struct ext_wifi_dev * los_get_wifi_dev_by_priv ( const void *  ctx)

◆ los_set_wifi_dev()

int los_set_wifi_dev ( struct ext_wifi_dev wifi_dev)

◆ los_wpa_ssid_config_set()

int los_wpa_ssid_config_set ( struct wpa_ssid *  ssid,
const char *  name,
const char *  value 
)

◆ try_set_lock_flag()

int try_set_lock_flag ( void  )

◆ uapi_wifi_csi_check_param()

int uapi_wifi_csi_check_param ( const ext_csi_config config)

◆ uapi_wifi_get_pmf()

wifi_pmf_option_enum uapi_wifi_get_pmf ( void  )

◆ uapi_wifi_set_assoc_auth()

int uapi_wifi_set_assoc_auth ( int  auth_type)

◆ uapi_wifi_set_ft_flag()

int uapi_wifi_set_ft_flag ( int  flag)

◆ wifi_add_iface()

int wifi_add_iface ( const struct ext_wifi_dev wifi_dev)

◆ wifi_channel_check()

int wifi_channel_check ( unsigned char  chan)

◆ wifi_dev_creat()

struct ext_wifi_dev * wifi_dev_creat ( ext_wifi_iftype  iftype,
protocol_mode_enum  mode 
)

◆ wifi_event_task_handler()

void wifi_event_task_handler ( unsigned int  event)

◆ wifi_new_task_event_cb()

void wifi_new_task_event_cb ( const ext_wifi_event event_cb)

◆ wifi_remove_iface()

int wifi_remove_iface ( struct ext_wifi_dev wifi_dev)

◆ wifi_scan()

int wifi_scan ( ext_wifi_iftype  iftype,
bool  is_mesh,
const ext_wifi_scan_params sp 
)

◆ wifi_scan_result()

int wifi_scan_result ( ext_wifi_iftype  iftype)

◆ wifi_scan_result_base_flag_parse()

void wifi_scan_result_base_flag_parse ( const char *  starttmp,
void *  buf 
)

◆ wifi_scan_result_bssid_parse()

int wifi_scan_result_bssid_parse ( char **  starttmp,
void *  buf,
size_t reply_len 
)

◆ wifi_scan_result_clear()

int wifi_scan_result_clear ( ext_wifi_iftype  iftype)

◆ wifi_scan_result_filter_parse()

int wifi_scan_result_filter_parse ( const void *  buf)

◆ wifi_scan_result_freq_parse()

int wifi_scan_result_freq_parse ( char **  starttmp,
void *  buf,
size_t reply_len 
)

◆ wifi_scan_result_rssi_parse()

int wifi_scan_result_rssi_parse ( char **  starttmp,
void *  buf,
size_t reply_len 
)

◆ wifi_scan_result_ssid_parse()

int wifi_scan_result_ssid_parse ( char **  starttmp,
void *  buf,
size_t reply_len 
)

◆ wifi_softap_set_pmf()

int wifi_softap_set_pmf ( int  pmf)

◆ wifi_wpa_start()

int wifi_wpa_start ( const struct ext_wifi_dev wifi_dev)

◆ wifi_wpa_stop()

int wifi_wpa_stop ( ext_wifi_iftype  iftype)

◆ wpa_cli_scan_results_clear()

int wpa_cli_scan_results_clear ( struct wpa_supplicant *  wpa_s)

◆ wpa_event_task_free()

void wpa_event_task_free ( void  )

◆ wpa_get_other_existed_wpa_wifi_dev()

struct ext_wifi_dev * wpa_get_other_existed_wpa_wifi_dev ( const void *  priv)

变量说明

◆ g_ap_opt_set

struct wifi_ap_opt_set g_ap_opt_set = { 0 }

◆ g_ap_sta_info

ext_wifi_ap_sta_info* g_ap_sta_info = NULL

◆ g_connecting_flag

int g_connecting_flag = 0

◆ g_csi_ifname

char g_csi_ifname[WIFI_IFNAME_MAX_SIZE] = { 0 }

◆ g_fast_connect_flag

int g_fast_connect_flag = 0

◆ g_fast_connect_scan_flag

int g_fast_connect_scan_flag = 0

◆ g_mesh_flag

int g_mesh_flag = 0

◆ g_mesh_sta_flag

int g_mesh_sta_flag = 0

◆ g_quick_conn_psk

unsigned char g_quick_conn_psk[EXT_WIFI_STA_PSK_LEN] = { 0 }

◆ g_quick_conn_psk_flag

unsigned int g_quick_conn_psk_flag = WPA_FLAG_OFF

◆ g_raw_scan_cb

ext_wifi_scan_no_save_cb g_raw_scan_cb = NULL

◆ g_reconnect_set

struct wifi_reconnect_set g_reconnect_set = { 0 }

◆ g_result_len

size_t g_result_len = 0

◆ g_scan_flag

int g_scan_flag = WPA_FLAG_OFF

◆ g_scan_record

struct ext_scan_record g_scan_record = { 0 }

◆ g_scan_result_buf

char* g_scan_result_buf = NULL

◆ g_sta_num

unsigned int g_sta_num = 0

◆ g_sta_opt_set

struct wifi_sta_opt_set g_sta_opt_set = { 0 }

◆ g_sta_status

ext_wifi_status* g_sta_status = NULL

◆ g_usr_scanning_flag

int g_usr_scanning_flag = 0

◆ g_wifi_dev

struct ext_wifi_dev* g_wifi_dev[2] = { NULL }

◆ g_wpa_event_cb

uapi_wifi_event_cb g_wpa_event_cb = 0

◆ g_wpa_rm_network

wpa_rm_network g_wpa_rm_network = 0

◆ g_wpataskid

unsigned int g_wpataskid