VSF Documented
vsf_wifi.c File Reference
#include "./vsf_wifi.h"
#include "./vsf_wifi_priv.h"
#include "./vsf_wifi_wpa.h"
#include "./vsf_wifi_crypto.h"

Macros

#define VSF_WIFI_CFG_SCAN_ACTIVE   ENABLED
 
#define __VSF_WIFI_SCAN_DEFAULT_DWELL_MS   120
 
#define __VSF_WIFI_CCMP_BUF_SIZE   1600
 
#define __VSF_WIFI_MLME_MAX_RETRY   3
 
#define __VSF_WIFI_MLME_TIMEOUT_MS   400
 
#define __VSF_WIFI_WPA_TIMEOUT_MS   3000
 
#define __DOT11_STYPE_ASSOC_REQ   0x0
 
#define __DOT11_STYPE_ASSOC_RESP   0x1
 
#define __DOT11_STYPE_PROBE_RESP   0x5
 
#define __DOT11_STYPE_BEACON   0x8
 
#define __DOT11_STYPE_DISASSOC   0xA
 
#define __DOT11_STYPE_AUTH   0xB
 
#define __DOT11_STYPE_DEAUTH   0xC
 

Functions

void vsf_wifi_on_new (vsf_wifi_t *wifi)
 
void vsf_wifi_on_del (vsf_wifi_t *wifi)
 
void vsf_wifi_on_rx (vsf_wifi_t *wifi, uint8_t *frame, uint16_t len)
 
void vsf_wifi_on_ready (vsf_wifi_t *wifi)
 
void vsf_wifi_on_scan_result (vsf_wifi_t *wifi, const vsf_wifi_scan_result_t *result)
 
void vsf_wifi_on_scan_done (vsf_wifi_t *wifi)
 
void vsf_wifi_on_link_up (vsf_wifi_t *wifi, const vsf_wifi_link_info_t *info)
 
void vsf_wifi_on_link_down (vsf_wifi_t *wifi, uint8_t reason)
 
void vsf_wifi_netdrv_attach (vsf_wifi_t *wifi, const vsf_wifi_netif_ops_t *ops, void *param)
 
void vsf_wifi_netdrv_detach (vsf_wifi_t *wifi)
 
vsf_err_t vsf_wifi_reg_run_script (vsf_wifi_t *wifi, const vsf_wifi_reg_op_t *ops, uint16_t count, vsf_wifi_done_t done)
 
vsf_err_t vsf_wifi_reg_run_blob (vsf_wifi_t *wifi, const vsf_wifi_reg_blob_t *blob, vsf_wifi_done_t done)
 
vsf_wifi_reg_op_tvsf_wifi_reg_get_scratch_ops (vsf_wifi_t *wifi)
 
vsf_err_t vsf_wifi_reg_read_poll (vsf_wifi_t *wifi, uint32_t reg, vsf_wifi_reg_match_fn_t match, uint16_t max_retry, uint16_t interval_ms, vsf_wifi_done_t done)
 
vsf_err_t vsf_wifi_reg_read (vsf_wifi_t *wifi, uint32_t reg, uint32_t *out, vsf_wifi_done_t done)
 
void vsf_wifi_init (vsf_wifi_t *wifi, const vsf_wifi_chip_drv_t *drv, const vsf_wifi_reg_bus_t *reg_bus, vsf_eda_t *post_eda)
 
void vsf_wifi_set_attach_fail (vsf_wifi_t *wifi, vsf_wifi_attach_fail_t hook)
 
void vsf_wifi_start (vsf_wifi_t *wifi)
 
void vsf_wifi_fini (vsf_wifi_t *wifi)
 
void vsf_wifi_on_rx_internal (vsf_wifi_t *wifi, uint8_t *frame, uint16_t len)
 
uint16_t vsf_wifi_ccmp_encap_with_pn (vsf_wifi_t *wifi, const uint8_t *frame, uint16_t len, uint8_t *out, uint16_t cap, uint8_t pn[6])
 
void vsf_wifi_data_rx (vsf_wifi_t *wifi, const uint8_t *dot11, uint16_t len)
 
void vsf_wifi_on_scan_hop_evt (vsf_wifi_t *wifi)
 
void vsf_wifi_on_mlme_retry_evt (vsf_wifi_t *wifi)
 
void vsf_wifi_mlme_rx (vsf_wifi_t *wifi, const uint8_t *dot11, uint16_t len)
 
bool vsf_wifi_is_ready (vsf_wifi_t *wifi)
 
uint8_t vsf_wifi_get_channel (vsf_wifi_t *wifi)
 
const char * vsf_wifi_get_chip_name (vsf_wifi_t *wifi)
 
const uint8_tvsf_wifi_get_mac (vsf_wifi_t *wifi)
 
uint16_t vsf_wifi_get_bss_max_idle_period (vsf_wifi_t *wifi)
 
void vsf_wifi_set_channel (vsf_wifi_t *wifi, uint8_t channel)
 
void vsf_wifi_set_channel_bw (vsf_wifi_t *wifi, uint8_t bw)
 
vsf_err_t vsf_wifi_set_mac (vsf_wifi_t *wifi, const uint8_t mac[6])
 
vsf_err_t vsf_wifi_set_bssid (vsf_wifi_t *wifi, const uint8_t bssid[6])
 
vsf_err_t vsf_wifi_set_auth_mode (vsf_wifi_t *wifi, const vsf_wifi_auth_cfg_t *cfg)
 
vsf_err_t vsf_wifi_scan (vsf_wifi_t *wifi, const uint8_t *channels, uint8_t num_channels, uint16_t dwell_ms)
 
vsf_err_t vsf_wifi_scan_stop (vsf_wifi_t *wifi)
 
vsf_err_t vsf_wifi_connect (vsf_wifi_t *wifi, const uint8_t bssid[6], const uint8_t *ssid, uint8_t ssid_len, uint8_t channel)
 
vsf_err_t vsf_wifi_disconnect (vsf_wifi_t *wifi)
 
vsf_err_t vsf_wifi_get_link_info (vsf_wifi_t *wifi, vsf_wifi_link_info_t *info)
 
vsf_err_t vsf_wifi_tx (vsf_wifi_t *wifi, const uint8_t *frame, uint16_t len)
 
vsf_err_t vsf_wifi_mlme_tx (vsf_wifi_t *wifi, const uint8_t *frame, uint16_t len)
 
void vsf_wifi_mlme_arm_timer (vsf_wifi_t *wifi, uint16_t ms)
 
void vsf_wifi_mlme_handshake_done (vsf_wifi_t *wifi)
 
void vsf_wifi_mlme_handshake_fail (vsf_wifi_t *wifi, uint8_t reason)
 
void vsf_wifi_radio_adapter_done_set (vsf_wifi_radio_t *radio, vsf_wifi_radio_done_t done)
 
void vsf_wifi_radio_adapter_done (vsf_wifi_t *wifi, vsf_err_t err)
 
vsf_wifi_radio_tvsf_wifi_radio_from_wifi (vsf_wifi_t *wifi)
 
void vsf_wifi_radio_register_rx (vsf_wifi_radio_t *radio, vsf_wifi_radio_rx_cb_t cb, void *param)
 
void vsf_wifi_radio_on_rx (vsf_wifi_t *wifi, uint8_t *frame, uint16_t len)
 
vsf_err_t vsf_wifi_radio_init (vsf_wifi_radio_t *radio, vsf_wifi_radio_done_t done)
 
vsf_err_t vsf_wifi_radio_fini (vsf_wifi_radio_t *radio, vsf_wifi_radio_done_t done)
 
vsf_err_t vsf_wifi_radio_tx (vsf_wifi_radio_t *radio, const uint8_t *frame, uint16_t len)
 
vsf_err_t vsf_wifi_radio_set_channel (vsf_wifi_radio_t *radio, uint8_t ch, vsf_wifi_radio_done_t done)
 
vsf_err_t vsf_wifi_radio_set_filter (vsf_wifi_radio_t *radio, uint32_t mask, vsf_wifi_radio_done_t done)
 
vsf_err_t vsf_wifi_radio_set_ps (vsf_wifi_radio_t *radio, bool sleep, vsf_wifi_radio_done_t done)
 

Macro Definition Documentation

◆ VSF_WIFI_CFG_SCAN_ACTIVE

#define VSF_WIFI_CFG_SCAN_ACTIVE   ENABLED

◆ __VSF_WIFI_SCAN_DEFAULT_DWELL_MS

#define __VSF_WIFI_SCAN_DEFAULT_DWELL_MS   120

◆ __VSF_WIFI_CCMP_BUF_SIZE

#define __VSF_WIFI_CCMP_BUF_SIZE   1600

◆ __VSF_WIFI_MLME_MAX_RETRY

#define __VSF_WIFI_MLME_MAX_RETRY   3

◆ __VSF_WIFI_MLME_TIMEOUT_MS

#define __VSF_WIFI_MLME_TIMEOUT_MS   400

◆ __VSF_WIFI_WPA_TIMEOUT_MS

#define __VSF_WIFI_WPA_TIMEOUT_MS   3000

◆ __DOT11_STYPE_ASSOC_REQ

#define __DOT11_STYPE_ASSOC_REQ   0x0

◆ __DOT11_STYPE_ASSOC_RESP

#define __DOT11_STYPE_ASSOC_RESP   0x1

◆ __DOT11_STYPE_PROBE_RESP

#define __DOT11_STYPE_PROBE_RESP   0x5

◆ __DOT11_STYPE_BEACON

#define __DOT11_STYPE_BEACON   0x8

◆ __DOT11_STYPE_DISASSOC

#define __DOT11_STYPE_DISASSOC   0xA

◆ __DOT11_STYPE_AUTH

#define __DOT11_STYPE_AUTH   0xB

◆ __DOT11_STYPE_DEAUTH

#define __DOT11_STYPE_DEAUTH   0xC

Function Documentation

◆ vsf_wifi_on_new()

void vsf_wifi_on_new ( vsf_wifi_t * wifi)

◆ vsf_wifi_on_del()

void vsf_wifi_on_del ( vsf_wifi_t * wifi)

◆ vsf_wifi_on_rx()

void vsf_wifi_on_rx ( vsf_wifi_t * wifi,
uint8_t * frame,
uint16_t len )

◆ vsf_wifi_on_ready()

void vsf_wifi_on_ready ( vsf_wifi_t * wifi)

◆ vsf_wifi_on_scan_result()

void vsf_wifi_on_scan_result ( vsf_wifi_t * wifi,
const vsf_wifi_scan_result_t * result )

◆ vsf_wifi_on_scan_done()

void vsf_wifi_on_scan_done ( vsf_wifi_t * wifi)

◆ vsf_wifi_on_link_up()

void vsf_wifi_on_link_up ( vsf_wifi_t * wifi,
const vsf_wifi_link_info_t * info )

◆ vsf_wifi_on_link_down()

void vsf_wifi_on_link_down ( vsf_wifi_t * wifi,
uint8_t reason )

◆ vsf_wifi_netdrv_attach()

void vsf_wifi_netdrv_attach ( vsf_wifi_t * wifi,
const vsf_wifi_netif_ops_t * ops,
void * param )

◆ vsf_wifi_netdrv_detach()

void vsf_wifi_netdrv_detach ( vsf_wifi_t * wifi)

◆ vsf_wifi_reg_run_script()

vsf_err_t vsf_wifi_reg_run_script ( vsf_wifi_t * wifi,
const vsf_wifi_reg_op_t * ops,
uint16_t count,
vsf_wifi_done_t done )

◆ vsf_wifi_reg_run_blob()

vsf_err_t vsf_wifi_reg_run_blob ( vsf_wifi_t * wifi,
const vsf_wifi_reg_blob_t * blob,
vsf_wifi_done_t done )

◆ vsf_wifi_reg_get_scratch_ops()

vsf_wifi_reg_op_t * vsf_wifi_reg_get_scratch_ops ( vsf_wifi_t * wifi)

◆ vsf_wifi_reg_read_poll()

vsf_err_t vsf_wifi_reg_read_poll ( vsf_wifi_t * wifi,
uint32_t reg,
vsf_wifi_reg_match_fn_t match,
uint16_t max_retry,
uint16_t interval_ms,
vsf_wifi_done_t done )

◆ vsf_wifi_reg_read()

vsf_err_t vsf_wifi_reg_read ( vsf_wifi_t * wifi,
uint32_t reg,
uint32_t * out,
vsf_wifi_done_t done )

◆ vsf_wifi_init()

void vsf_wifi_init ( vsf_wifi_t * wifi,
const vsf_wifi_chip_drv_t * drv,
const vsf_wifi_reg_bus_t * reg_bus,
vsf_eda_t * post_eda )

◆ vsf_wifi_set_attach_fail()

void vsf_wifi_set_attach_fail ( vsf_wifi_t * wifi,
vsf_wifi_attach_fail_t hook )

◆ vsf_wifi_start()

void vsf_wifi_start ( vsf_wifi_t * wifi)

◆ vsf_wifi_fini()

void vsf_wifi_fini ( vsf_wifi_t * wifi)

◆ vsf_wifi_on_rx_internal()

void vsf_wifi_on_rx_internal ( vsf_wifi_t * wifi,
uint8_t * frame,
uint16_t len )

◆ vsf_wifi_ccmp_encap_with_pn()

uint16_t vsf_wifi_ccmp_encap_with_pn ( vsf_wifi_t * wifi,
const uint8_t * frame,
uint16_t len,
uint8_t * out,
uint16_t cap,
uint8_t pn[6] )

◆ vsf_wifi_data_rx()

void vsf_wifi_data_rx ( vsf_wifi_t * wifi,
const uint8_t * dot11,
uint16_t len )

◆ vsf_wifi_on_scan_hop_evt()

void vsf_wifi_on_scan_hop_evt ( vsf_wifi_t * wifi)

◆ vsf_wifi_on_mlme_retry_evt()

void vsf_wifi_on_mlme_retry_evt ( vsf_wifi_t * wifi)

◆ vsf_wifi_mlme_rx()

void vsf_wifi_mlme_rx ( vsf_wifi_t * wifi,
const uint8_t * dot11,
uint16_t len )

◆ vsf_wifi_is_ready()

bool vsf_wifi_is_ready ( vsf_wifi_t * wifi)

◆ vsf_wifi_get_channel()

uint8_t vsf_wifi_get_channel ( vsf_wifi_t * wifi)

◆ vsf_wifi_get_chip_name()

const char * vsf_wifi_get_chip_name ( vsf_wifi_t * wifi)

◆ vsf_wifi_get_mac()

const uint8_t * vsf_wifi_get_mac ( vsf_wifi_t * wifi)

◆ vsf_wifi_get_bss_max_idle_period()

uint16_t vsf_wifi_get_bss_max_idle_period ( vsf_wifi_t * wifi)

◆ vsf_wifi_set_channel()

void vsf_wifi_set_channel ( vsf_wifi_t * wifi,
uint8_t channel )

◆ vsf_wifi_set_channel_bw()

void vsf_wifi_set_channel_bw ( vsf_wifi_t * wifi,
uint8_t bw )

◆ vsf_wifi_set_mac()

vsf_err_t vsf_wifi_set_mac ( vsf_wifi_t * wifi,
const uint8_t mac[6] )

◆ vsf_wifi_set_bssid()

vsf_err_t vsf_wifi_set_bssid ( vsf_wifi_t * wifi,
const uint8_t bssid[6] )

◆ vsf_wifi_set_auth_mode()

vsf_err_t vsf_wifi_set_auth_mode ( vsf_wifi_t * wifi,
const vsf_wifi_auth_cfg_t * cfg )

◆ vsf_wifi_scan()

vsf_err_t vsf_wifi_scan ( vsf_wifi_t * wifi,
const uint8_t * channels,
uint8_t num_channels,
uint16_t dwell_ms )

◆ vsf_wifi_scan_stop()

vsf_err_t vsf_wifi_scan_stop ( vsf_wifi_t * wifi)

◆ vsf_wifi_connect()

vsf_err_t vsf_wifi_connect ( vsf_wifi_t * wifi,
const uint8_t bssid[6],
const uint8_t * ssid,
uint8_t ssid_len,
uint8_t channel )

◆ vsf_wifi_disconnect()

vsf_err_t vsf_wifi_disconnect ( vsf_wifi_t * wifi)

◆ vsf_wifi_get_link_info()

vsf_err_t vsf_wifi_get_link_info ( vsf_wifi_t * wifi,
vsf_wifi_link_info_t * info )

◆ vsf_wifi_tx()

vsf_err_t vsf_wifi_tx ( vsf_wifi_t * wifi,
const uint8_t * frame,
uint16_t len )

◆ vsf_wifi_mlme_tx()

vsf_err_t vsf_wifi_mlme_tx ( vsf_wifi_t * wifi,
const uint8_t * frame,
uint16_t len )

◆ vsf_wifi_mlme_arm_timer()

void vsf_wifi_mlme_arm_timer ( vsf_wifi_t * wifi,
uint16_t ms )

◆ vsf_wifi_mlme_handshake_done()

void vsf_wifi_mlme_handshake_done ( vsf_wifi_t * wifi)

◆ vsf_wifi_mlme_handshake_fail()

void vsf_wifi_mlme_handshake_fail ( vsf_wifi_t * wifi,
uint8_t reason )

◆ vsf_wifi_radio_adapter_done_set()

void vsf_wifi_radio_adapter_done_set ( vsf_wifi_radio_t * radio,
vsf_wifi_radio_done_t done )

◆ vsf_wifi_radio_adapter_done()

void vsf_wifi_radio_adapter_done ( vsf_wifi_t * wifi,
vsf_err_t err )

◆ vsf_wifi_radio_from_wifi()

vsf_wifi_radio_t * vsf_wifi_radio_from_wifi ( vsf_wifi_t * wifi)

◆ vsf_wifi_radio_register_rx()

void vsf_wifi_radio_register_rx ( vsf_wifi_radio_t * radio,
vsf_wifi_radio_rx_cb_t cb,
void * param )

◆ vsf_wifi_radio_on_rx()

void vsf_wifi_radio_on_rx ( vsf_wifi_t * wifi,
uint8_t * frame,
uint16_t len )

◆ vsf_wifi_radio_init()

vsf_err_t vsf_wifi_radio_init ( vsf_wifi_radio_t * radio,
vsf_wifi_radio_done_t done )

◆ vsf_wifi_radio_fini()

vsf_err_t vsf_wifi_radio_fini ( vsf_wifi_radio_t * radio,
vsf_wifi_radio_done_t done )

◆ vsf_wifi_radio_tx()

vsf_err_t vsf_wifi_radio_tx ( vsf_wifi_radio_t * radio,
const uint8_t * frame,
uint16_t len )

◆ vsf_wifi_radio_set_channel()

vsf_err_t vsf_wifi_radio_set_channel ( vsf_wifi_radio_t * radio,
uint8_t ch,
vsf_wifi_radio_done_t done )

◆ vsf_wifi_radio_set_filter()

vsf_err_t vsf_wifi_radio_set_filter ( vsf_wifi_radio_t * radio,
uint32_t mask,
vsf_wifi_radio_done_t done )

◆ vsf_wifi_radio_set_ps()

vsf_err_t vsf_wifi_radio_set_ps ( vsf_wifi_radio_t * radio,
bool sleep,
vsf_wifi_radio_done_t done )
Generated from commit: vsfteam/vsf@ceb53fd