driver_nl80211.c File Reference

#include "includes.h"
#include <sys/ioctl.h>
#include <net/if.h>
#include <netlink/genl/genl.h>
#include <netlink/genl/family.h>
#include <netlink/genl/ctrl.h>
#include <netpacket/packet.h>
#include <linux/filter.h>
#include "nl80211_copy.h"
#include <linux/types.h>
#include "common.h"
#include "eloop.h"
#include "common/ieee802_11_defs.h"
#include "netlink.h"
#include "linux_ioctl.h"
#include "radiotap.h"
#include "radiotap_iter.h"
#include "driver.h"
Include dependency graph for driver_nl80211.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  family_data
struct  i802_bss
struct  nl80211_bss_info_arg
struct  phy_info_arg
struct  wiphy_info_data
struct  wpa_driver_nl80211_data

Defines

#define FAIL   0xFE
#define IF_OPER_DORMANT   5
#define IF_OPER_UP   6
#define IFF_DORMANT   0x20000
#define IFF_LOWER_UP   0x10000
#define MAX_REPORT_FREQS   50
#define PASS   0xFF

Functions

static int ack_handler (struct nl_msg *msg, void *arg)
static int add_monitor_filter (int s)
static int bss_info_handler (struct nl_msg *msg, void *arg)
static void clear_state_mismatch (struct wpa_driver_nl80211_data *drv, const u8 *addr)
static int cookie_handler (struct nl_msg *msg, void *arg)
static int error_handler (struct sockaddr_nl *nla, struct nlmsgerr *err, void *arg)
static int family_handler (struct nl_msg *msg, void *arg)
static int finish_handler (struct nl_msg *msg, void *arg)
static void from_unknown_sta (struct wpa_driver_nl80211_data *drv, u8 *buf, size_t len)
static void handle_frame (struct wpa_driver_nl80211_data *drv, u8 *buf, size_t len, int datarate, int ssi_signal)
static void handle_monitor_read (int sock, void *eloop_ctx, void *sock_ctx)
static void handle_tx_callback (void *ctx, u8 *buf, size_t len, int ok)
static int have_ifidx (struct wpa_driver_nl80211_data *drv, int ifidx)
static int i802_set_freq (void *priv, struct hostapd_freq_params *freq)
static void mlme_event (struct wpa_driver_nl80211_data *drv, enum nl80211_commands cmd, struct nlattr *frame, struct nlattr *addr, struct nlattr *timed_out, struct nlattr *freq, struct nlattr *ack, struct nlattr *cookie)
static void mlme_event_action (struct wpa_driver_nl80211_data *drv, struct nlattr *freq, const u8 *frame, size_t len)
static void mlme_event_action_tx_status (struct wpa_driver_nl80211_data *drv, struct nlattr *cookie, const u8 *frame, size_t len, struct nlattr *ack)
static void mlme_event_assoc (struct wpa_driver_nl80211_data *drv, const u8 *frame, size_t len)
static void mlme_event_auth (struct wpa_driver_nl80211_data *drv, const u8 *frame, size_t len)
static void mlme_event_connect (struct wpa_driver_nl80211_data *drv, enum nl80211_commands cmd, struct nlattr *status, struct nlattr *addr, struct nlattr *req_ie, struct nlattr *resp_ie)
static void mlme_event_deauth_disassoc (struct wpa_driver_nl80211_data *drv, enum wpa_event_type type, const u8 *frame, size_t len)
static void mlme_event_join_ibss (struct wpa_driver_nl80211_data *drv, struct nlattr *tb[])
static void mlme_event_michael_mic_failure (struct wpa_driver_nl80211_data *drv, struct nlattr *tb[])
static void mlme_event_remain_on_channel (struct wpa_driver_nl80211_data *drv, int cancel_event, struct nlattr *tb[])
static void mlme_timeout_event (struct wpa_driver_nl80211_data *drv, enum nl80211_commands cmd, struct nlattr *addr)
static void nl80211_cqm_event (struct wpa_driver_nl80211_data *drv, struct nlattr *tb[])
static int nl80211_create_iface (struct wpa_driver_nl80211_data *drv, const char *ifname, enum nl80211_iftype iftype, const u8 *addr, int wds)
static int nl80211_create_iface_once (struct wpa_driver_nl80211_data *drv, const char *ifname, enum nl80211_iftype iftype, const u8 *addr, int wds)
static int nl80211_create_monitor_interface (struct wpa_driver_nl80211_data *drv)
static int nl80211_disable_11b_rates (struct wpa_driver_nl80211_data *drv, int ifindex, int disabled)
static void nl80211_dump_scan (struct wpa_driver_nl80211_data *drv)
static const u8nl80211_get_ie (const u8 *ies, size_t ies_len, u8 ie)
static struct wpa_scan_resultsnl80211_get_scan_results (struct wpa_driver_nl80211_data *drv)
static int nl80211_leave_ibss (struct wpa_driver_nl80211_data *drv)
static int nl80211_register_action_frame (struct wpa_driver_nl80211_data *drv, const u8 *match, size_t match_len)
static int nl80211_register_action_frames (struct wpa_driver_nl80211_data *drv)
static void nl80211_remove_iface (struct wpa_driver_nl80211_data *drv, int ifidx)
static void nl80211_remove_monitor_interface (struct wpa_driver_nl80211_data *drv)
static int nl80211_scan_filtered (struct wpa_driver_nl80211_data *drv, const u8 *ie, size_t ie_len)
static int nl80211_send_frame (void *priv, const u8 *data, size_t data_len, int encrypt)
static int nl80211_send_ft_action (void *priv, u8 action, const u8 *target_ap, const u8 *ies, size_t ies_len)
static int nl80211_set_conn_keys (struct wpa_driver_associate_params *params, struct nl_msg *msg)
static int nl80211_set_mode (struct wpa_driver_nl80211_data *drv, int ifindex, int mode)
static int nl80211_signal_monitor (void *priv, int threshold, int hysteresis)
static int nl_add_key (struct nl_msg *msg, enum wpa_alg alg, int key_idx, int defkey, const u8 *seq, size_t seq_len, const u8 *key, size_t key_len)
static int nl_get_multicast_id (struct wpa_driver_nl80211_data *drv, const char *family, const char *group)
static int no_seq_check (struct nl_msg *msg, void *arg)
static int phy_info_handler (struct nl_msg *msg, void *arg)
static int process_event (struct nl_msg *msg, void *arg)
static int send_and_recv (struct wpa_driver_nl80211_data *drv, struct nl_handle *nl_handle, struct nl_msg *msg, int(*valid_handler)(struct nl_msg *, void *), void *valid_data)
static 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)
static void send_scan_event (struct wpa_driver_nl80211_data *drv, int aborted, struct nlattr *tb[])
static u32 sta_flags_nl80211 (int flags)
static int wiphy_info_handler (struct nl_msg *msg, void *arg)
static struct hostapd_hw_modeswpa_driver_nl80211_add_11b (struct hostapd_hw_modes *modes, u16 *num_modes)
static int wpa_driver_nl80211_ap (struct wpa_driver_nl80211_data *drv, struct wpa_driver_associate_params *params)
static int wpa_driver_nl80211_associate (void *priv, struct wpa_driver_associate_params *params)
static int wpa_driver_nl80211_authenticate (void *priv, struct wpa_driver_auth_params *params)
static int wpa_driver_nl80211_cancel_remain_on_channel (void *priv)
static int wpa_driver_nl80211_capa (struct wpa_driver_nl80211_data *drv)
static void wpa_driver_nl80211_check_bss_status (struct wpa_driver_nl80211_data *drv, struct wpa_scan_results *res)
static int wpa_driver_nl80211_connect (struct wpa_driver_nl80211_data *drv, struct wpa_driver_associate_params *params)
static int wpa_driver_nl80211_deauthenticate (void *priv, const u8 *addr, int reason_code)
static void wpa_driver_nl80211_deinit (void *priv)
static int wpa_driver_nl80211_deinit_ap (void *priv)
static int wpa_driver_nl80211_del_beacon (struct wpa_driver_nl80211_data *drv)
static int wpa_driver_nl80211_disable_11b_rates (void *priv, int disabled)
static int wpa_driver_nl80211_disassociate (void *priv, const u8 *addr, int reason_code)
static int wpa_driver_nl80211_disconnect (struct wpa_driver_nl80211_data *drv, const u8 *addr, int reason_code)
static void wpa_driver_nl80211_event_link (struct wpa_driver_nl80211_data *drv, char *buf, size_t len, int del)
static void wpa_driver_nl80211_event_receive (int sock, void *eloop_ctx, void *sock_ctx)
static void wpa_driver_nl80211_event_rtm_dellink (void *ctx, struct ifinfomsg *ifi, u8 *buf, size_t len)
static void wpa_driver_nl80211_event_rtm_newlink (void *ctx, struct ifinfomsg *ifi, u8 *buf, size_t len)
static int wpa_driver_nl80211_finish_drv_init (struct wpa_driver_nl80211_data *drv)
static int wpa_driver_nl80211_get_bssid (void *priv, u8 *bssid)
static int wpa_driver_nl80211_get_capa (void *priv, struct wpa_driver_capa *capa)
static struct hostapd_hw_modeswpa_driver_nl80211_get_hw_feature_data (void *priv, u16 *num_modes, u16 *flags)
static int wpa_driver_nl80211_get_info (struct wpa_driver_nl80211_data *drv, struct wiphy_info_data *info)
static struct wpa_scan_resultswpa_driver_nl80211_get_scan_results (void *priv)
static int wpa_driver_nl80211_get_ssid (void *priv, u8 *ssid)
static int wpa_driver_nl80211_hapd_send_eapol (void *priv, const u8 *addr, const u8 *data, size_t data_len, int encrypt, const u8 *own_addr)
static int wpa_driver_nl80211_ibss (struct wpa_driver_nl80211_data *drv, struct wpa_driver_associate_params *params)
static int wpa_driver_nl80211_if_add (void *priv, enum wpa_driver_if_type type, const char *ifname, const u8 *addr, void *bss_ctx, void **drv_priv, char *force_ifname, u8 *if_addr)
static int wpa_driver_nl80211_if_remove (void *priv, enum wpa_driver_if_type type, const char *ifname)
static enum nl80211_iftype wpa_driver_nl80211_if_type (enum wpa_driver_if_type type)
static void * wpa_driver_nl80211_init (void *ctx, const char *ifname)
static int wpa_driver_nl80211_init_nl (struct wpa_driver_nl80211_data *drv, void *ctx)
static int wpa_driver_nl80211_mlme (struct wpa_driver_nl80211_data *drv, const u8 *addr, int cmd, u16 reason_code, int local_state_change)
static int wpa_driver_nl80211_own_ifindex (struct wpa_driver_nl80211_data *drv, int ifindex, u8 *buf, size_t len)
static int wpa_driver_nl80211_own_ifname (struct wpa_driver_nl80211_data *drv, u8 *buf, size_t len)
static int wpa_driver_nl80211_probe_req_report (void *priv, int report)
static void wpa_driver_nl80211_probe_req_report_timeout (void *eloop_ctx, void *timeout_ctx)
static int wpa_driver_nl80211_remain_on_channel (void *priv, unsigned int freq, unsigned int duration)
static void wpa_driver_nl80211_resume (void *priv)
static int wpa_driver_nl80211_scan (void *priv, struct wpa_driver_scan_params *params)
static void wpa_driver_nl80211_scan_timeout (void *eloop_ctx, void *timeout_ctx)
static int wpa_driver_nl80211_send_action (void *priv, unsigned int freq, const u8 *dst, const u8 *src, const u8 *bssid, const u8 *data, size_t data_len)
static int wpa_driver_nl80211_send_frame (struct wpa_driver_nl80211_data *drv, const void *data, size_t len, int encrypt)
static int wpa_driver_nl80211_send_mlme (void *priv, const u8 *data, size_t data_len)
static int wpa_driver_nl80211_set_beacon (void *priv, const u8 *head, size_t head_len, const u8 *tail, size_t tail_len, int dtim_period, int beacon_int)
static int wpa_driver_nl80211_set_country (void *priv, const char *alpha2_arg)
static int wpa_driver_nl80211_set_freq (struct wpa_driver_nl80211_data *drv, int freq, int ht_enabled, int sec_channel_offset)
static int wpa_driver_nl80211_set_key (const char *ifname, void *priv, enum wpa_alg alg, const u8 *addr, int key_idx, int set_tx, const u8 *seq, size_t seq_len, const u8 *key, size_t key_len)
static int wpa_driver_nl80211_set_mode (void *priv, int mode)
static int wpa_driver_nl80211_set_operstate (void *priv, int state)
static int wpa_driver_nl80211_set_supp_port (void *priv, int authorized)
static int wpa_driver_nl80211_sta_add (void *priv, struct hostapd_sta_add_params *params)
static int wpa_driver_nl80211_sta_remove (void *priv, const u8 *addr)
static int wpa_driver_nl80211_sta_set_flags (void *priv, const u8 *addr, int total_flags, int flags_or, int flags_and)
static void wpa_scan_results_free (struct wpa_scan_results *res)

Variables

static struct sock_fprog msock_filter
static struct sock_filter msock_filter_insns []
static const u8 rfc1042_header [6] = { 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00 }
struct wpa_driver_ops wpa_driver_nl80211_ops

Define Documentation

#define FAIL   0xFE

Definition at line 3246 of file driver_nl80211.c.

#define IF_OPER_DORMANT   5

Definition at line 54 of file driver_nl80211.c.

#define IF_OPER_UP   6

Definition at line 57 of file driver_nl80211.c.

#define IFF_DORMANT   0x20000

Definition at line 50 of file driver_nl80211.c.

#define IFF_LOWER_UP   0x10000

Definition at line 47 of file driver_nl80211.c.

#define MAX_REPORT_FREQS   50
#define PASS   0xFF

Definition at line 3245 of file driver_nl80211.c.


Function Documentation

static int ack_handler ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 162 of file driver_nl80211.c.

static int add_monitor_filter ( int  s  )  [static]

Definition at line 3347 of file driver_nl80211.c.

static int bss_info_handler ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 1790 of file driver_nl80211.c.

static void clear_state_mismatch ( struct wpa_driver_nl80211_data drv,
const u8 addr 
) [static]

Definition at line 1906 of file driver_nl80211.c.

static int cookie_handler ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 4933 of file driver_nl80211.c.

static int error_handler ( struct sockaddr_nl nla,
struct nlmsgerr *  err,
void *  arg 
) [static]

Definition at line 176 of file driver_nl80211.c.

static int family_handler ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 242 of file driver_nl80211.c.

static int finish_handler ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 169 of file driver_nl80211.c.

static void from_unknown_sta ( struct wpa_driver_nl80211_data drv,
u8 buf,
size_t  len 
) [static]

Definition at line 3125 of file driver_nl80211.c.

static void handle_frame ( struct wpa_driver_nl80211_data drv,
u8 buf,
size_t  len,
int  datarate,
int  ssi_signal 
) [static]

Definition at line 3136 of file driver_nl80211.c.

static void handle_monitor_read ( int  sock,
void *  eloop_ctx,
void *  sock_ctx 
) [static]

Definition at line 3167 of file driver_nl80211.c.

static void handle_tx_callback ( void *  ctx,
u8 buf,
size_t  len,
int  ok 
) [static]

Definition at line 3105 of file driver_nl80211.c.

static int have_ifidx ( struct wpa_driver_nl80211_data drv,
int  ifidx 
) [static]

Definition at line 148 of file driver_nl80211.c.

static int i802_set_freq ( void *  priv,
struct hostapd_freq_params freq 
) [static]

Definition at line 4269 of file driver_nl80211.c.

static void mlme_event ( struct wpa_driver_nl80211_data drv,
enum nl80211_commands  cmd,
struct nlattr *  frame,
struct nlattr *  addr,
struct nlattr *  timed_out,
struct nlattr *  freq,
struct nlattr *  ack,
struct nlattr *  cookie 
) [static]

Definition at line 727 of file driver_nl80211.c.

static void mlme_event_action ( struct wpa_driver_nl80211_data drv,
struct nlattr *  freq,
const u8 frame,
size_t  len 
) [static]

Definition at line 633 of file driver_nl80211.c.

static void mlme_event_action_tx_status ( struct wpa_driver_nl80211_data drv,
struct nlattr *  cookie,
const u8 frame,
size_t  len,
struct nlattr *  ack 
) [static]

Definition at line 662 of file driver_nl80211.c.

static void mlme_event_assoc ( struct wpa_driver_nl80211_data drv,
const u8 frame,
size_t  len 
) [static]

Definition at line 517 of file driver_nl80211.c.

static void mlme_event_auth ( struct wpa_driver_nl80211_data drv,
const u8 frame,
size_t  len 
) [static]

Definition at line 490 of file driver_nl80211.c.

static void mlme_event_connect ( struct wpa_driver_nl80211_data drv,
enum nl80211_commands  cmd,
struct nlattr *  status,
struct nlattr *  addr,
struct nlattr *  req_ie,
struct nlattr *  resp_ie 
) [static]

Definition at line 562 of file driver_nl80211.c.

static void mlme_event_deauth_disassoc ( struct wpa_driver_nl80211_data drv,
enum wpa_event_type  type,
const u8 frame,
size_t  len 
) [static]

Definition at line 696 of file driver_nl80211.c.

static void mlme_event_join_ibss ( struct wpa_driver_nl80211_data drv,
struct nlattr *  tb[] 
) [static]

Definition at line 812 of file driver_nl80211.c.

static void mlme_event_michael_mic_failure ( struct wpa_driver_nl80211_data drv,
struct nlattr *  tb[] 
) [static]

Definition at line 776 of file driver_nl80211.c.

static void mlme_event_remain_on_channel ( struct wpa_driver_nl80211_data drv,
int  cancel_event,
struct nlattr *  tb[] 
) [static]

Definition at line 829 of file driver_nl80211.c.

static void mlme_timeout_event ( struct wpa_driver_nl80211_data drv,
enum nl80211_commands  cmd,
struct nlattr *  addr 
) [static]

Definition at line 608 of file driver_nl80211.c.

static void nl80211_cqm_event ( struct wpa_driver_nl80211_data drv,
struct nlattr *  tb[] 
) [static]

Definition at line 917 of file driver_nl80211.c.

static int nl80211_create_iface ( struct wpa_driver_nl80211_data drv,
const char *  ifname,
enum nl80211_iftype  iftype,
const u8 addr,
int  wds 
) [static]

Definition at line 3078 of file driver_nl80211.c.

static int nl80211_create_iface_once ( struct wpa_driver_nl80211_data drv,
const char *  ifname,
enum nl80211_iftype  iftype,
const u8 addr,
int  wds 
) [static]

Definition at line 3010 of file driver_nl80211.c.

static int nl80211_create_monitor_interface ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 3401 of file driver_nl80211.c.

static int nl80211_disable_11b_rates ( struct wpa_driver_nl80211_data drv,
int  ifindex,
int  disabled 
) [static]

Definition at line 5145 of file driver_nl80211.c.

static void nl80211_dump_scan ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 2040 of file driver_nl80211.c.

static const u8* nl80211_get_ie ( const u8 ies,
size_t  ies_len,
u8  ie 
) [static]

Definition at line 1739 of file driver_nl80211.c.

static struct wpa_scan_results* nl80211_get_scan_results ( struct wpa_driver_nl80211_data drv  )  [static, read]

Definition at line 1985 of file driver_nl80211.c.

static int nl80211_leave_ibss ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 3625 of file driver_nl80211.c.

static int nl80211_register_action_frame ( struct wpa_driver_nl80211_data drv,
const u8 match,
size_t  match_len 
) [static]

Definition at line 1417 of file driver_nl80211.c.

static int nl80211_register_action_frames ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 1449 of file driver_nl80211.c.

static void nl80211_remove_iface ( struct wpa_driver_nl80211_data drv,
int  ifidx 
) [static]

Definition at line 2983 of file driver_nl80211.c.

static void nl80211_remove_monitor_interface ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 3385 of file driver_nl80211.c.

static int nl80211_scan_filtered ( struct wpa_driver_nl80211_data drv,
const u8 ie,
size_t  ie_len 
) [static]

Definition at line 1761 of file driver_nl80211.c.

static int nl80211_send_frame ( void *  priv,
const u8 data,
size_t  data_len,
int  encrypt 
) [static]

Definition at line 5312 of file driver_nl80211.c.

static int nl80211_send_ft_action ( void *  priv,
u8  action,
const u8 target_ap,
const u8 ies,
size_t  ies_len 
) [static]

Definition at line 5224 of file driver_nl80211.c.

static int nl80211_set_conn_keys ( struct wpa_driver_associate_params params,
struct nl_msg *  msg 
) [static]

Definition at line 2233 of file driver_nl80211.c.

static int nl80211_set_mode ( struct wpa_driver_nl80211_data drv,
int  ifindex,
int  mode 
) [static]

Definition at line 3964 of file driver_nl80211.c.

static int nl80211_signal_monitor ( void *  priv,
int  threshold,
int  hysteresis 
) [static]

Definition at line 5274 of file driver_nl80211.c.

static int nl_add_key ( struct nl_msg *  msg,
enum wpa_alg  alg,
int  key_idx,
int  defkey,
const u8 seq,
size_t  seq_len,
const u8 key,
size_t  key_len 
) [static]

Definition at line 2179 of file driver_nl80211.c.

static int nl_get_multicast_id ( struct wpa_driver_nl80211_data drv,
const char *  family,
const char *  group 
) [static]

Definition at line 273 of file driver_nl80211.c.

static int no_seq_check ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 185 of file driver_nl80211.c.

static int phy_info_handler ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 2484 of file driver_nl80211.c.

static int process_event ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 957 of file driver_nl80211.c.

static int send_and_recv ( struct wpa_driver_nl80211_data drv,
struct nl_handle *  nl_handle,
struct nl_msg *  msg,
int(*)(struct nl_msg *, void *)  valid_handler,
void *  valid_data 
) [static]

Definition at line 191 of file driver_nl80211.c.

static int send_and_recv_msgs ( struct wpa_driver_nl80211_data drv,
struct nl_msg *  msg,
int(*)(struct nl_msg *, void *)  valid_handler,
void *  valid_data 
) [static]

Definition at line 226 of file driver_nl80211.c.

static void send_scan_event ( struct wpa_driver_nl80211_data drv,
int  aborted,
struct nlattr *  tb[] 
) [static]

Definition at line 876 of file driver_nl80211.c.

static u32 sta_flags_nl80211 ( int  flags  )  [static]

Definition at line 3533 of file driver_nl80211.c.

static int wiphy_info_handler ( struct nl_msg *  msg,
void *  arg 
) [static]

Definition at line 1130 of file driver_nl80211.c.

static struct hostapd_hw_modes* wpa_driver_nl80211_add_11b ( struct hostapd_hw_modes modes,
u16 num_modes 
) [static, read]

Definition at line 2656 of file driver_nl80211.c.

static int wpa_driver_nl80211_ap ( struct wpa_driver_nl80211_data drv,
struct wpa_driver_associate_params params 
) [static]

Definition at line 3609 of file driver_nl80211.c.

static int wpa_driver_nl80211_associate ( void *  priv,
struct wpa_driver_associate_params params 
) [static]

Definition at line 3874 of file driver_nl80211.c.

static int wpa_driver_nl80211_authenticate ( void *  priv,
struct wpa_driver_auth_params params 
) [static]

Definition at line 2359 of file driver_nl80211.c.

static int wpa_driver_nl80211_cancel_remain_on_channel ( void *  priv  )  [static]

Definition at line 5051 of file driver_nl80211.c.

static int wpa_driver_nl80211_capa ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 1197 of file driver_nl80211.c.

static void wpa_driver_nl80211_check_bss_status ( struct wpa_driver_nl80211_data drv,
struct wpa_scan_results res 
) [static]

Definition at line 1919 of file driver_nl80211.c.

static int wpa_driver_nl80211_connect ( struct wpa_driver_nl80211_data drv,
struct wpa_driver_associate_params params 
) [static]

Definition at line 3728 of file driver_nl80211.c.

static int wpa_driver_nl80211_deauthenticate ( void *  priv,
const u8 addr,
int  reason_code 
) [static]

Definition at line 2331 of file driver_nl80211.c.

static void wpa_driver_nl80211_deinit ( void *  priv  )  [static]

wpa_driver_nl80211_deinit - Deinitialize nl80211 driver interface : Pointer to private nl80211 data from wpa_driver_nl80211_init()

Shut down driver interface and processing of driver events. Free private data buffer if one was allocated in wpa_driver_nl80211_init().

Definition at line 1528 of file driver_nl80211.c.

static int wpa_driver_nl80211_deinit_ap ( void *  priv  )  [static]

Definition at line 5202 of file driver_nl80211.c.

static int wpa_driver_nl80211_del_beacon ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 1503 of file driver_nl80211.c.

static int wpa_driver_nl80211_disable_11b_rates ( void *  priv,
int  disabled 
) [static]

Definition at line 5193 of file driver_nl80211.c.

static int wpa_driver_nl80211_disassociate ( void *  priv,
const u8 addr,
int  reason_code 
) [static]

Definition at line 2345 of file driver_nl80211.c.

static int wpa_driver_nl80211_disconnect ( struct wpa_driver_nl80211_data drv,
const u8 addr,
int  reason_code 
) [static]

Definition at line 2321 of file driver_nl80211.c.

static void wpa_driver_nl80211_event_link ( struct wpa_driver_nl80211_data drv,
char *  buf,
size_t  len,
int  del 
) [static]

Definition at line 320 of file driver_nl80211.c.

static void wpa_driver_nl80211_event_receive ( int  sock,
void *  eloop_ctx,
void *  sock_ctx 
) [static]

Definition at line 1067 of file driver_nl80211.c.

static void wpa_driver_nl80211_event_rtm_dellink ( void *  ctx,
struct ifinfomsg ifi,
u8 buf,
size_t  len 
) [static]

Definition at line 453 of file driver_nl80211.c.

static void wpa_driver_nl80211_event_rtm_newlink ( void *  ctx,
struct ifinfomsg ifi,
u8 buf,
size_t  len 
) [static]

Definition at line 391 of file driver_nl80211.c.

static int wpa_driver_nl80211_finish_drv_init ( struct wpa_driver_nl80211_data drv  )  [static]

Definition at line 1463 of file driver_nl80211.c.

static int wpa_driver_nl80211_get_bssid ( void *  priv,
u8 bssid 
) [static]

Definition at line 298 of file driver_nl80211.c.

static int wpa_driver_nl80211_get_capa ( void *  priv,
struct wpa_driver_capa capa 
) [static]

Definition at line 4060 of file driver_nl80211.c.

static struct hostapd_hw_modes* wpa_driver_nl80211_get_hw_feature_data ( void *  priv,
u16 num_modes,
u16 flags 
) [static, read]

Definition at line 2730 of file driver_nl80211.c.

static int wpa_driver_nl80211_get_info ( struct wpa_driver_nl80211_data drv,
struct wiphy_info_data info 
) [static]

Definition at line 1173 of file driver_nl80211.c.

static struct wpa_scan_results* wpa_driver_nl80211_get_scan_results ( void *  priv  )  [static, read]

wpa_driver_nl80211_get_scan_results - Fetch the latest scan results : Pointer to private wext data from wpa_driver_nl80211_init() Returns: Scan results on success, -1 on failure

Definition at line 2027 of file driver_nl80211.c.

static int wpa_driver_nl80211_get_ssid ( void *  priv,
u8 ssid 
) [static]

Definition at line 309 of file driver_nl80211.c.

static int wpa_driver_nl80211_hapd_send_eapol ( void *  priv,
const u8 addr,
const u8 data,
size_t  data_len,
int  encrypt,
const u8 own_addr 
) [static]

Definition at line 3464 of file driver_nl80211.c.

static int wpa_driver_nl80211_ibss ( struct wpa_driver_nl80211_data drv,
struct wpa_driver_associate_params params 
) [static]

Definition at line 3654 of file driver_nl80211.c.

static int wpa_driver_nl80211_if_add ( void *  priv,
enum wpa_driver_if_type  type,
const char *  ifname,
const u8 addr,
void *  bss_ctx,
void **  drv_priv,
char *  force_ifname,
u8 if_addr 
) [static]

Definition at line 4842 of file driver_nl80211.c.

static int wpa_driver_nl80211_if_remove ( void *  priv,
enum wpa_driver_if_type  type,
const char *  ifname 
) [static]

Definition at line 4897 of file driver_nl80211.c.

static enum nl80211_iftype wpa_driver_nl80211_if_type ( enum wpa_driver_if_type  type  )  [static]

Definition at line 4827 of file driver_nl80211.c.

static void* wpa_driver_nl80211_init ( void *  ctx,
const char *  ifname 
) [static]

wpa_driver_nl80211_init - Initialize nl80211 driver interface : context to be used when calling wpa_supplicant functions, e.g., wpa_supplicant_event() : interface name, e.g., wlan0 Returns: Pointer to private data, NULL on failure

Definition at line 1357 of file driver_nl80211.c.

static int wpa_driver_nl80211_init_nl ( struct wpa_driver_nl80211_data drv,
void *  ctx 
) [static]

Definition at line 1236 of file driver_nl80211.c.

static int wpa_driver_nl80211_mlme ( struct wpa_driver_nl80211_data drv,
const u8 addr,
int  cmd,
u16  reason_code,
int  local_state_change 
) [static]

Definition at line 2287 of file driver_nl80211.c.

static int wpa_driver_nl80211_own_ifindex ( struct wpa_driver_nl80211_data drv,
int  ifindex,
u8 buf,
size_t  len 
) [static]

Definition at line 373 of file driver_nl80211.c.

static int wpa_driver_nl80211_own_ifname ( struct wpa_driver_nl80211_data drv,
u8 buf,
size_t  len 
) [static]

Definition at line 348 of file driver_nl80211.c.

static int wpa_driver_nl80211_probe_req_report ( void *  priv,
int  report 
) [static]

Definition at line 5107 of file driver_nl80211.c.

static void wpa_driver_nl80211_probe_req_report_timeout ( void *  eloop_ctx,
void *  timeout_ctx 
) [static]

Definition at line 5088 of file driver_nl80211.c.

static int wpa_driver_nl80211_remain_on_channel ( void *  priv,
unsigned int  freq,
unsigned int  duration 
) [static]

Definition at line 5015 of file driver_nl80211.c.

static void wpa_driver_nl80211_resume ( void *  priv  )  [static]

Definition at line 5213 of file driver_nl80211.c.

static int wpa_driver_nl80211_scan ( void *  priv,
struct wpa_driver_scan_params params 
) [static]

wpa_driver_nl80211_scan - Request the driver to initiate scan : Pointer to private driver data from wpa_driver_nl80211_init() : Scan parameters Returns: 0 on success, -1 on failure

Definition at line 1628 of file driver_nl80211.c.

static void wpa_driver_nl80211_scan_timeout ( void *  eloop_ctx,
void *  timeout_ctx 
) [static]

wpa_driver_nl80211_scan_timeout - Scan timeout to report scan completion : Driver private data : ctx 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.

Definition at line 1609 of file driver_nl80211.c.

static int wpa_driver_nl80211_send_action ( void *  priv,
unsigned int  freq,
const u8 dst,
const u8 src,
const u8 bssid,
const u8 data,
size_t  data_len 
) [static]

Definition at line 4946 of file driver_nl80211.c.

static int wpa_driver_nl80211_send_frame ( struct wpa_driver_nl80211_data drv,
const void *  data,
size_t  len,
int  encrypt 
) [static]

Definition at line 2759 of file driver_nl80211.c.

static int wpa_driver_nl80211_send_mlme ( void *  priv,
const u8 data,
size_t  data_len 
) [static]

Definition at line 2799 of file driver_nl80211.c.

static int wpa_driver_nl80211_set_beacon ( void *  priv,
const u8 head,
size_t  head_len,
const u8 tail,
size_t  tail_len,
int  dtim_period,
int  beacon_int 
) [static]

Definition at line 2829 of file driver_nl80211.c.

static int wpa_driver_nl80211_set_country ( void *  priv,
const char *  alpha2_arg 
) [static]

wpa_driver_nl80211_set_country - ask nl80211 to set the regulatory domain : driver_nl80211 private data : country to which to switch to Returns: 0 on success, -1 on failure

This asks nl80211 to set the regulatory domain for given country ISO / IEC alpha2.

Definition at line 1094 of file driver_nl80211.c.

static int wpa_driver_nl80211_set_freq ( struct wpa_driver_nl80211_data drv,
int  freq,
int  ht_enabled,
int  sec_channel_offset 
) [static]

Definition at line 2874 of file driver_nl80211.c.

static int wpa_driver_nl80211_set_key ( const char *  ifname,
void *  priv,
enum wpa_alg  alg,
const u8 addr,
int  key_idx,
int  set_tx,
const u8 seq,
size_t  seq_len,
const u8 key,
size_t  key_len 
) [static]

Definition at line 2064 of file driver_nl80211.c.

static int wpa_driver_nl80211_set_mode ( void *  priv,
int  mode 
) [static]

Definition at line 3989 of file driver_nl80211.c.

static int wpa_driver_nl80211_set_operstate ( void *  priv,
int  state 
) [static]

Definition at line 4072 of file driver_nl80211.c.

static int wpa_driver_nl80211_set_supp_port ( void *  priv,
int  authorized 
) [static]

Definition at line 4085 of file driver_nl80211.c.

static int wpa_driver_nl80211_sta_add ( void *  priv,
struct hostapd_sta_add_params params 
) [static]

Definition at line 2917 of file driver_nl80211.c.

static int wpa_driver_nl80211_sta_remove ( void *  priv,
const u8 addr 
) [static]

Definition at line 2956 of file driver_nl80211.c.

static int wpa_driver_nl80211_sta_set_flags ( void *  priv,
const u8 addr,
int  total_flags,
int  flags_or,
int  flags_and 
) [static]

Definition at line 3550 of file driver_nl80211.c.

static void wpa_scan_results_free ( struct wpa_scan_results res  )  [static]

Definition at line 1970 of file driver_nl80211.c.


Variable Documentation

struct sock_fprog msock_filter [static]
Initial value:
 {
        .len = sizeof(msock_filter_insns)/sizeof(msock_filter_insns[0]),
        .filter = msock_filter_insns,
}

Definition at line 3341 of file driver_nl80211.c.

struct sock_filter msock_filter_insns[] [static]

Definition at line 3248 of file driver_nl80211.c.

const u8 rfc1042_header[6] = { 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00 } [static]

Definition at line 3462 of file driver_nl80211.c.

Definition at line 5321 of file driver_nl80211.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


wpa_supplicant
Author(s): Package maintained by Blaise Gassend
autogenerated on Fri Jan 11 10:04:22 2013