wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Functions
driver_nl80211.h File Reference

Driver interaction with Linux nl80211/cfg80211 - definitions Copyright (c) 2003-2004, Instant802 Networks, Inc. Copyright (c) 2005-2006, Devicescape Software, Inc. Copyright (c) 2007, Johannes Berg johan.nosp@m.nes@.nosp@m.sipso.nosp@m.luti.nosp@m.ons.n.nosp@m.et Copyright (c) 2009-2010, Atheros Communications. More...

#include "nl80211_copy.h"
#include "utils/list.h"
#include "driver.h"

Go to the source code of this file.

Data Structures

struct  nl80211_global
 
struct  nl80211_wiphy_data
 
struct  i802_bss
 
struct  wpa_driver_nl80211_data
 
struct  nl80211_bss_info_arg
 

Functions

void * nl80211_cmd (struct wpa_driver_nl80211_data *drv, struct nl_msg *msg, int flags, uint8_t cmd)
 
struct nl_msg * nl80211_cmd_msg (struct i802_bss *bss, int flags, uint8_t cmd)
 
struct nl_msg * nl80211_drv_msg (struct wpa_driver_nl80211_data *drv, int flags, uint8_t cmd)
 
struct nl_msg * nl80211_bss_msg (struct i802_bss *bss, int flags, uint8_t cmd)
 
int send_and_recv_msgs (struct wpa_driver_nl80211_data *drv, struct nl_msg *msg, int(*valid_handler)(struct nl_msg *, void *), void *valid_data)
 
int nl80211_create_iface (struct wpa_driver_nl80211_data *drv, const char *ifname, enum nl80211_iftype iftype, const u8 *addr, int wds, int(*handler)(struct nl_msg *, void *), void *arg, int use_existing)
 
void nl80211_remove_iface (struct wpa_driver_nl80211_data *drv, int ifidx)
 
unsigned int nl80211_get_assoc_freq (struct wpa_driver_nl80211_data *drv)
 
enum chan_width convert2width (int width)
 
void nl80211_mark_disconnected (struct wpa_driver_nl80211_data *drv)
 
struct i802_bssget_bss_ifindex (struct wpa_driver_nl80211_data *drv, int ifindex)
 
int is_ap_interface (enum nl80211_iftype nlmode)
 
int is_sta_interface (enum nl80211_iftype nlmode)
 
int wpa_driver_nl80211_authenticate_retry (struct wpa_driver_nl80211_data *drv)
 
int nl80211_get_link_signal (struct wpa_driver_nl80211_data *drv, struct wpa_signal_info *sig)
 
int nl80211_get_link_noise (struct wpa_driver_nl80211_data *drv, struct wpa_signal_info *sig_change)
 
int nl80211_get_wiphy_index (struct i802_bss *bss)
 
int wpa_driver_nl80211_set_mode (struct i802_bss *bss, enum nl80211_iftype nlmode)
 
int wpa_driver_nl80211_mlme (struct wpa_driver_nl80211_data *drv, const u8 *addr, int cmd, u16 reason_code, int local_state_change)
 
int nl80211_create_monitor_interface (struct wpa_driver_nl80211_data *drv)
 
void nl80211_remove_monitor_interface (struct wpa_driver_nl80211_data *drv)
 
int nl80211_send_monitor (struct wpa_driver_nl80211_data *drv, const void *data, size_t len, int encrypt, int noack)
 
int wpa_driver_nl80211_capa (struct wpa_driver_nl80211_data *drv)
 
struct hostapd_hw_modesnl80211_get_hw_feature_data (void *priv, u16 *num_modes, u16 *flags)
 
int process_global_event (struct nl_msg *msg, void *arg)
 
int process_bss_event (struct nl_msg *msg, void *arg)
 
int bss_info_handler (struct nl_msg *msg, void *arg)
 
void wpa_driver_nl80211_scan_timeout (void *eloop_ctx, void *timeout_ctx)
 Scan timeout to report scan completion. More...
 
int wpa_driver_nl80211_scan (struct i802_bss *bss, struct wpa_driver_scan_params *params)
 Request the driver to initiate scan. More...
 
int wpa_driver_nl80211_sched_scan (void *priv, struct wpa_driver_scan_params *params, u32 interval)
 Initiate a scheduled scan. More...
 
int wpa_driver_nl80211_stop_sched_scan (void *priv)
 Stop a scheduled scan. More...
 
struct wpa_scan_resultswpa_driver_nl80211_get_scan_results (void *priv)
 Fetch the latest scan results. More...
 
void nl80211_dump_scan (struct wpa_driver_nl80211_data *drv)
 
const u8 * nl80211_get_ie (const u8 *ies, size_t ies_len, u8 ie)
 

Detailed Description

Driver interaction with Linux nl80211/cfg80211 - definitions Copyright (c) 2003-2004, Instant802 Networks, Inc. Copyright (c) 2005-2006, Devicescape Software, Inc. Copyright (c) 2007, Johannes Berg johan.nosp@m.nes@.nosp@m.sipso.nosp@m.luti.nosp@m.ons.n.nosp@m.et Copyright (c) 2009-2010, Atheros Communications.

Function Documentation

struct wpa_scan_results* wpa_driver_nl80211_get_scan_results ( void *  priv)

Fetch the latest scan results.

Parameters
privPointer to private wext data from wpa_driver_nl80211_init()
Returns
Scan results on success, -1 on failure
int wpa_driver_nl80211_scan ( struct i802_bss bss,
struct wpa_driver_scan_params params 
)

Request the driver to initiate scan.

Parameters
bssPointer to private driver data from wpa_driver_nl80211_init()
paramsScan parameters
Returns
0 on success, -1 on failure
void wpa_driver_nl80211_scan_timeout ( void *  eloop_ctx,
void *  timeout_ctx 
)

Scan timeout to report scan completion.

Parameters
eloop_ctxDriver private data
timeout_ctxctx argument given to wpa_driver_nl80211_init()

This function can be used as registered timeout when starting a scan to generate a scan completed event if the driver does not report this.

int wpa_driver_nl80211_sched_scan ( void *  priv,
struct wpa_driver_scan_params params,
u32  interval 
)

Initiate a scheduled scan.

Parameters
privPointer to private driver data from wpa_driver_nl80211_init()
paramsScan parameters
intervalInterval between scan cycles in milliseconds
Returns
0 on success, -1 on failure or if not supported
int wpa_driver_nl80211_stop_sched_scan ( void *  priv)

Stop a scheduled scan.

Parameters
privPointer to private driver data from wpa_driver_nl80211_init()
Returns
0 on success, -1 on failure or if not supported