#include "netdev.h"
#define WILC_HIF_SCAN_TIMEOUT_MS …
#define WILC_HIF_CONNECT_TIMEOUT_MS …
#define WILC_FALSE_FRMWR_CHANNEL …
#define WILC_SCAN_WID_LIST_SIZE …
struct wilc_rcvd_mac_info { … };
struct wilc_set_multicast { … };
struct host_if_wowlan_trigger { … };
struct wilc_del_all_sta { … };
wilc_message_body;
struct host_if_msg { … };
static struct host_if_msg*
wilc_alloc_work(struct wilc_vif *vif, void (*work_fun)(struct work_struct *),
bool is_sync)
{ … }
static int wilc_enqueue_work(struct host_if_msg *msg)
{ … }
int wilc_get_vif_idx(struct wilc_vif *vif)
{ … }
static struct wilc_vif *wilc_get_vif_from_idx(struct wilc *wilc, int idx)
{ … }
static int handle_scan_done(struct wilc_vif *vif, enum scan_event evt)
{ … }
int wilc_scan(struct wilc_vif *vif, u8 scan_source,
u8 scan_type, u8 *ch_freq_list,
void (*scan_result_fn)(enum scan_event,
struct wilc_rcvd_net_info *,
struct wilc_priv *),
struct cfg80211_scan_request *request)
{ … }
static int wilc_send_connect_wid(struct wilc_vif *vif)
{ … }
static void handle_connect_timeout(struct work_struct *work)
{ … }
struct wilc_join_bss_param *
wilc_parse_join_bss_param(struct cfg80211_bss *bss,
struct cfg80211_crypto_settings *crypto)
{ … }
static void handle_rcvd_ntwrk_info(struct work_struct *work)
{ … }
static void host_int_get_assoc_res_info(struct wilc_vif *vif,
u8 *assoc_resp_info,
u32 max_assoc_resp_info_len,
u32 *rcvd_assoc_resp_info_len)
{ … }
static s32 wilc_parse_assoc_resp_info(u8 *buffer, u32 buffer_len,
struct wilc_conn_info *ret_conn_info)
{ … }
static inline void host_int_parse_assoc_resp_info(struct wilc_vif *vif,
u8 mac_status)
{ … }
void wilc_handle_disconnect(struct wilc_vif *vif)
{ … }
static void handle_rcvd_gnrl_async_info(struct work_struct *work)
{ … }
int wilc_disconnect(struct wilc_vif *vif)
{ … }
int wilc_get_statistics(struct wilc_vif *vif, struct rf_info *stats)
{ … }
static void handle_get_statistics(struct work_struct *work)
{ … }
static void wilc_hif_pack_sta_param(u8 *cur_byte, const u8 *mac,
struct station_parameters *params)
{ … }
static int handle_remain_on_chan(struct wilc_vif *vif,
struct wilc_remain_ch *hif_remain_ch)
{ … }
static int wilc_handle_roc_expired(struct wilc_vif *vif, u64 cookie)
{ … }
static void wilc_handle_listen_state_expired(struct work_struct *work)
{ … }
static void listen_timer_cb(struct timer_list *t)
{ … }
static void handle_set_mcast_filter(struct work_struct *work)
{ … }
void wilc_set_wowlan_trigger(struct wilc_vif *vif, bool enabled)
{ … }
int wilc_set_external_auth_param(struct wilc_vif *vif,
struct cfg80211_external_auth_params *auth)
{ … }
static void handle_scan_timer(struct work_struct *work)
{ … }
static void handle_scan_complete(struct work_struct *work)
{ … }
static void timer_scan_cb(struct timer_list *t)
{ … }
static void timer_connect_cb(struct timer_list *t)
{ … }
int wilc_add_ptk(struct wilc_vif *vif, const u8 *ptk, u8 ptk_key_len,
const u8 *mac_addr, const u8 *rx_mic, const u8 *tx_mic,
u8 mode, u8 cipher_mode, u8 index)
{ … }
int wilc_add_igtk(struct wilc_vif *vif, const u8 *igtk, u8 igtk_key_len,
const u8 *pn, u8 pn_len, const u8 *mac_addr, u8 mode, u8 index)
{ … }
int wilc_add_rx_gtk(struct wilc_vif *vif, const u8 *rx_gtk, u8 gtk_key_len,
u8 index, u32 key_rsc_len, const u8 *key_rsc,
const u8 *rx_mic, const u8 *tx_mic, u8 mode,
u8 cipher_mode)
{ … }
int wilc_set_pmkid_info(struct wilc_vif *vif, struct wilc_pmkid_attr *pmkid)
{ … }
int wilc_get_mac_address(struct wilc_vif *vif, u8 *mac_addr)
{ … }
int wilc_set_mac_address(struct wilc_vif *vif, const u8 *mac_addr)
{ … }
int wilc_set_join_req(struct wilc_vif *vif, u8 *bssid, const u8 *ies,
size_t ies_len)
{ … }
int wilc_set_mac_chnl_num(struct wilc_vif *vif, u8 channel)
{ … }
int wilc_set_operation_mode(struct wilc_vif *vif, int index, u8 mode,
u8 ifc_id)
{ … }
s32 wilc_get_inactive_time(struct wilc_vif *vif, const u8 *mac, u32 *out_val)
{ … }
int wilc_get_rssi(struct wilc_vif *vif, s8 *rssi_level)
{ … }
static int wilc_get_stats_async(struct wilc_vif *vif, struct rf_info *stats)
{ … }
int wilc_hif_set_cfg(struct wilc_vif *vif, struct cfg_param_attr *param)
{ … }
static void get_periodic_rssi(struct timer_list *t)
{ … }
int wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler)
{ … }
int wilc_deinit(struct wilc_vif *vif)
{ … }
void wilc_network_info_received(struct wilc *wilc, u8 *buffer, u32 length)
{ … }
void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *buffer, u32 length)
{ … }
void wilc_scan_complete_received(struct wilc *wilc, u8 *buffer, u32 length)
{ … }
int wilc_remain_on_channel(struct wilc_vif *vif, u64 cookie, u16 chan,
void (*expired)(struct wilc_vif *, u64))
{ … }
int wilc_listen_state_expired(struct wilc_vif *vif, u64 cookie)
{ … }
void wilc_frame_register(struct wilc_vif *vif, u16 frame_type, bool reg)
{ … }
int wilc_add_beacon(struct wilc_vif *vif, u32 interval, u32 dtim_period,
struct cfg80211_beacon_data *params)
{ … }
int wilc_del_beacon(struct wilc_vif *vif)
{ … }
int wilc_add_station(struct wilc_vif *vif, const u8 *mac,
struct station_parameters *params)
{ … }
int wilc_del_station(struct wilc_vif *vif, const u8 *mac_addr)
{ … }
int wilc_del_allstation(struct wilc_vif *vif, u8 mac_addr[][ETH_ALEN])
{ … }
int wilc_edit_station(struct wilc_vif *vif, const u8 *mac,
struct station_parameters *params)
{ … }
int wilc_set_power_mgmt(struct wilc_vif *vif, bool enabled, u32 timeout)
{ … }
int wilc_setup_multicast_filter(struct wilc_vif *vif, u32 enabled, u32 count,
u8 *mc_list)
{ … }
int wilc_set_tx_power(struct wilc_vif *vif, u8 tx_power)
{ … }
int wilc_get_tx_power(struct wilc_vif *vif, u8 *tx_power)
{ … }
int wilc_set_default_mgmt_key_index(struct wilc_vif *vif, u8 index)
{ … }