#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 "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"
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 /* driver signals dormant */ |
#define | IFF_LOWER_UP 0x10000 /* driver signals L1 up */ |
#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 u8 * | nl80211_get_ie (const u8 *ies, size_t ies_len, u8 ie) |
static struct wpa_scan_results * | nl80211_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_modes * | wpa_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_modes * | wpa_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_results * | wpa_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 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 /* driver signals dormant */ |
Definition at line 50 of file driver_nl80211.c.
#define IFF_LOWER_UP 0x10000 /* driver signals L1 up */ |
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.
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.
struct sock_fprog msock_filter [static] |
{ .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.