VSF Documented
vsf_wifi.h File Reference

Go to the source code of this file.

Data Structures

struct  vsf_wifi_scan_result_t
 
struct  vsf_wifi_link_info_t
 
struct  vsf_wifi_auth_cfg_t
 
struct  vsf_wifi_reg_op_t
 
struct  vsf_wifi_reg_blob_t
 
struct  vsf_wifi_reg_bus_t
 
struct  vsf_wifi_crypto_ops_t
 
struct  vsf_wifi_chip_drv_t
 
struct  vsf_wifi_netif_ops_t
 

Macros

#define WIFI_LINK_FLAG_CONNECTED   (1 << 0)
 
#define WIFI_LINK_FLAG_AUTHORIZED   (1 << 1)
 
#define WIFI_SCAN_FLAG_PRIVACY   (1 << 0)
 
#define WIFI_SCAN_FLAG_WPS   (1 << 1)
 
#define WIFI_SCAN_FLAG_WPA   (1 << 2)
 
#define WIFI_SCAN_FLAG_WPA2   (1 << 3)
 
#define VSF_WIFI_CFG_SCRATCH_OPS   24
 
#define VSF_WIFI_CFG_SCAN_MAX_CHANNELS   40
 
#define WIFI_BW_20MHZ   0
 
#define WIFI_BW_40MHZ_PLUS   1 /* primary lower, extension above */
 
#define WIFI_BW_40MHZ_MINUS   2 /* primary upper, extension below */
 
#define WIFI_BW_80MHZ   3
 
#define VSF_WIFI_EVT_SCAN_HOP   (VSF_EVT_USER + 0x40)
 
#define VSF_WIFI_EVT_MLME_RETRY   (VSF_EVT_USER + 0x41)
 
#define vsf_wifi_trace_error(...)
 
#define vsf_wifi_trace_info(...)
 
#define vsf_wifi_trace_debug(...)
 

Typedefs

typedef struct vsf_wifi_t vsf_wifi_t
 
typedef struct vsf_wifi_chip_drv_t vsf_wifi_chip_drv_t
 
typedef struct vsf_wifi_reg_bus_t vsf_wifi_reg_bus_t
 
typedef void(* vsf_wifi_done_t) (vsf_wifi_t *wifi, vsf_err_t err)
 
typedef bool(* vsf_wifi_reg_match_fn_t) (uint32_t val)
 
typedef struct vsf_wifi_scan_result_t vsf_wifi_scan_result_t
 
typedef struct vsf_wifi_link_info_t vsf_wifi_link_info_t
 
typedef struct vsf_wifi_auth_cfg_t vsf_wifi_auth_cfg_t
 
typedef struct vsf_wifi_reg_op_t vsf_wifi_reg_op_t
 
typedef struct vsf_wifi_reg_blob_t vsf_wifi_reg_blob_t
 
typedef struct vsf_wifi_crypto_ops_t vsf_wifi_crypto_ops_t
 
typedef struct vsf_wifi_netif_ops_t vsf_wifi_netif_ops_t
 
typedef void(* vsf_wifi_attach_fail_t) (vsf_wifi_t *wifi, vsf_err_t err)
 

Enumerations

enum  {
  WIFI_AUTH_OPEN = 0 ,
  WIFI_AUTH_WEP = 1 ,
  WIFI_AUTH_WPA_PSK = 2 ,
  WIFI_AUTH_WPA2_PSK = 3 ,
  WIFI_AUTH_WPA_WPA2_PSK = 4 ,
  WIFI_AUTH_WPA2_ENTERPRISE = 5
}
 
enum  {
  WIFI_CIPHER_NONE = 0 ,
  WIFI_CIPHER_WEP40 = 1 ,
  WIFI_CIPHER_WEP104 = 2 ,
  WIFI_CIPHER_TKIP = 3 ,
  WIFI_CIPHER_CCMP = 4 ,
  WIFI_CIPHER_TKIP_CCMP = 5
}
 
enum  {
  WIFI_MLME_IDLE = 0 ,
  WIFI_MLME_AUTH = 1 ,
  WIFI_MLME_ASSOC = 2 ,
  WIFI_MLME_4WAY = 4 ,
  WIFI_MLME_RUN = 3 ,
  WIFI_MLME_KEY_INSTALL = 5 ,
  WIFI_MLME_RAW_RADIO = 6
}
 
enum  {
  WIFI_REASON_UNSPECIFIED = 1 ,
  WIFI_REASON_AUTH_LEAVING = 3 ,
  WIFI_REASON_MIC_FAILURE = 14 ,
  WIFI_REASON_DISASSOC_LEAVING = 8 ,
  WIFI_REASON_LOCAL_TIMEOUT = 200 ,
  WIFI_REASON_AUTH_REJECTED = 201 ,
  WIFI_REASON_ASSOC_REJECTED = 202 ,
  WIFI_REASON_LOCAL_DISCONNECT = 203
}
 

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)
 
uint8_t vsf_wifi_get_channel (vsf_wifi_t *wifi)
 
const char * vsf_wifi_get_chip_name (vsf_wifi_t *wifi)
 
bool vsf_wifi_is_ready (vsf_wifi_t *wifi)
 
uint16_t vsf_wifi_get_bss_max_idle_period (vsf_wifi_t *wifi)
 
const uint8_tvsf_wifi_get_mac (vsf_wifi_t *wifi)
 
void vsf_wifi_set_channel (vsf_wifi_t *wifi, uint8_t channel)
 
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)
 
void vsf_wifi_set_channel_bw (vsf_wifi_t *wifi, uint8_t bw)
 
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)
 
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_start (vsf_wifi_t *wifi)
 
void vsf_wifi_fini (vsf_wifi_t *wifi)
 
void vsf_wifi_set_attach_fail (vsf_wifi_t *wifi, vsf_wifi_attach_fail_t hook)
 
void vsf_wifi_on_rx_internal (vsf_wifi_t *wifi, uint8_t *frame, uint16_t len)
 
void vsf_wifi_mlme_rx (vsf_wifi_t *wifi, const uint8_t *dot11, uint16_t len)
 
void vsf_wifi_data_rx (vsf_wifi_t *wifi, const uint8_t *dot11, 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_on_scan_hop_evt (vsf_wifi_t *wifi)
 
void vsf_wifi_on_mlme_retry_evt (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_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)
 
vsf_wifi_reg_op_tvsf_wifi_reg_get_scratch_ops (vsf_wifi_t *wifi)
 

Macro Definition Documentation

◆ WIFI_LINK_FLAG_CONNECTED

#define WIFI_LINK_FLAG_CONNECTED   (1 << 0)

◆ WIFI_LINK_FLAG_AUTHORIZED

#define WIFI_LINK_FLAG_AUTHORIZED   (1 << 1)

◆ WIFI_SCAN_FLAG_PRIVACY

#define WIFI_SCAN_FLAG_PRIVACY   (1 << 0)

◆ WIFI_SCAN_FLAG_WPS

#define WIFI_SCAN_FLAG_WPS   (1 << 1)

◆ WIFI_SCAN_FLAG_WPA

#define WIFI_SCAN_FLAG_WPA   (1 << 2)

◆ WIFI_SCAN_FLAG_WPA2

#define WIFI_SCAN_FLAG_WPA2   (1 << 3)

◆ VSF_WIFI_CFG_SCRATCH_OPS

#define VSF_WIFI_CFG_SCRATCH_OPS   24

◆ VSF_WIFI_CFG_SCAN_MAX_CHANNELS

#define VSF_WIFI_CFG_SCAN_MAX_CHANNELS   40

◆ WIFI_BW_20MHZ

#define WIFI_BW_20MHZ   0

◆ WIFI_BW_40MHZ_PLUS

#define WIFI_BW_40MHZ_PLUS   1 /* primary lower, extension above */

◆ WIFI_BW_40MHZ_MINUS

#define WIFI_BW_40MHZ_MINUS   2 /* primary upper, extension below */

◆ WIFI_BW_80MHZ

#define WIFI_BW_80MHZ   3

◆ VSF_WIFI_EVT_SCAN_HOP

#define VSF_WIFI_EVT_SCAN_HOP   (VSF_EVT_USER + 0x40)

◆ VSF_WIFI_EVT_MLME_RETRY

#define VSF_WIFI_EVT_MLME_RETRY   (VSF_EVT_USER + 0x41)

◆ vsf_wifi_trace_error

#define vsf_wifi_trace_error ( ...)
Value:
((void)0)

◆ vsf_wifi_trace_info

#define vsf_wifi_trace_info ( ...)
Value:
((void)0)

◆ vsf_wifi_trace_debug

#define vsf_wifi_trace_debug ( ...)
Value:
((void)0)

Typedef Documentation

◆ vsf_wifi_t

typedef struct vsf_wifi_t vsf_wifi_t

◆ vsf_wifi_chip_drv_t

typedef struct vsf_wifi_chip_drv_t vsf_wifi_chip_drv_t

◆ vsf_wifi_reg_bus_t

typedef struct vsf_wifi_reg_bus_t vsf_wifi_reg_bus_t

◆ vsf_wifi_done_t

typedef void(* vsf_wifi_done_t) (vsf_wifi_t *wifi, vsf_err_t err)

◆ vsf_wifi_reg_match_fn_t

typedef bool(* vsf_wifi_reg_match_fn_t) (uint32_t val)

◆ vsf_wifi_scan_result_t

typedef struct vsf_wifi_scan_result_t vsf_wifi_scan_result_t

◆ vsf_wifi_link_info_t

typedef struct vsf_wifi_link_info_t vsf_wifi_link_info_t

◆ vsf_wifi_auth_cfg_t

typedef struct vsf_wifi_auth_cfg_t vsf_wifi_auth_cfg_t

◆ vsf_wifi_reg_op_t

typedef struct vsf_wifi_reg_op_t vsf_wifi_reg_op_t

◆ vsf_wifi_reg_blob_t

typedef struct vsf_wifi_reg_blob_t vsf_wifi_reg_blob_t

◆ vsf_wifi_crypto_ops_t

typedef struct vsf_wifi_crypto_ops_t vsf_wifi_crypto_ops_t

◆ vsf_wifi_netif_ops_t

typedef struct vsf_wifi_netif_ops_t vsf_wifi_netif_ops_t

◆ vsf_wifi_attach_fail_t

typedef void(* vsf_wifi_attach_fail_t) (vsf_wifi_t *wifi, vsf_err_t err)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WIFI_AUTH_OPEN 
WIFI_AUTH_WEP 
WIFI_AUTH_WPA_PSK 
WIFI_AUTH_WPA2_PSK 
WIFI_AUTH_WPA_WPA2_PSK 
WIFI_AUTH_WPA2_ENTERPRISE 

◆ anonymous enum

anonymous enum
Enumerator
WIFI_CIPHER_NONE 
WIFI_CIPHER_WEP40 
WIFI_CIPHER_WEP104 
WIFI_CIPHER_TKIP 
WIFI_CIPHER_CCMP 
WIFI_CIPHER_TKIP_CCMP 

◆ anonymous enum

anonymous enum
Enumerator
WIFI_MLME_IDLE 
WIFI_MLME_AUTH 
WIFI_MLME_ASSOC 
WIFI_MLME_4WAY 
WIFI_MLME_RUN 
WIFI_MLME_KEY_INSTALL 
WIFI_MLME_RAW_RADIO 

◆ anonymous enum

anonymous enum
Enumerator
WIFI_REASON_UNSPECIFIED 
WIFI_REASON_AUTH_LEAVING 
WIFI_REASON_MIC_FAILURE 
WIFI_REASON_DISASSOC_LEAVING 
WIFI_REASON_LOCAL_TIMEOUT 
WIFI_REASON_AUTH_REJECTED 
WIFI_REASON_ASSOC_REJECTED 
WIFI_REASON_LOCAL_DISCONNECT 

Function Documentation

◆ vsf_wifi_on_new()

void vsf_wifi_on_new ( vsf_wifi_t * wifi)
extern

◆ vsf_wifi_on_del()

void vsf_wifi_on_del ( vsf_wifi_t * wifi)
extern

◆ vsf_wifi_on_rx()

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

◆ vsf_wifi_on_ready()

void vsf_wifi_on_ready ( vsf_wifi_t * wifi)
extern

◆ vsf_wifi_on_scan_result()

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

◆ vsf_wifi_on_scan_done()

void vsf_wifi_on_scan_done ( vsf_wifi_t * wifi)
extern

◆ vsf_wifi_on_link_up()

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

◆ vsf_wifi_on_link_down()

void vsf_wifi_on_link_down ( vsf_wifi_t * wifi,
uint8_t reason )
extern

◆ 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_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_is_ready()

bool vsf_wifi_is_ready ( 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_get_mac()

const uint8_t * vsf_wifi_get_mac ( vsf_wifi_t * wifi)

◆ vsf_wifi_set_channel()

void vsf_wifi_set_channel ( vsf_wifi_t * wifi,
uint8_t channel )

◆ 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_set_channel_bw()

void vsf_wifi_set_channel_bw ( vsf_wifi_t * wifi,
uint8_t bw )

◆ 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_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_start()

void vsf_wifi_start ( vsf_wifi_t * wifi)

◆ vsf_wifi_fini()

void vsf_wifi_fini ( vsf_wifi_t * wifi)

◆ vsf_wifi_set_attach_fail()

void vsf_wifi_set_attach_fail ( vsf_wifi_t * wifi,
vsf_wifi_attach_fail_t hook )

◆ vsf_wifi_on_rx_internal()

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

◆ vsf_wifi_mlme_rx()

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

◆ vsf_wifi_data_rx()

void vsf_wifi_data_rx ( vsf_wifi_t * wifi,
const uint8_t * dot11,
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_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_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_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_reg_get_scratch_ops()

vsf_wifi_reg_op_t * vsf_wifi_reg_get_scratch_ops ( vsf_wifi_t * wifi)
Generated from commit: vsfteam/vsf@ceb53fd