#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"
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 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 3275 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 3274 of file driver_nl80211.c.
static int ack_handler | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 164 of file driver_nl80211.c.
static int add_monitor_filter | ( | int | s | ) | [static] |
Definition at line 3376 of file driver_nl80211.c.
static int bss_info_handler | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 1818 of file driver_nl80211.c.
static void clear_state_mismatch | ( | struct wpa_driver_nl80211_data * | drv, | |
const u8 * | addr | |||
) | [static] |
Definition at line 1934 of file driver_nl80211.c.
static int cookie_handler | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 4962 of file driver_nl80211.c.
static int error_handler | ( | struct sockaddr_nl * | nla, | |
struct nlmsgerr * | err, | |||
void * | arg | |||
) | [static] |
Definition at line 178 of file driver_nl80211.c.
static int family_handler | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 244 of file driver_nl80211.c.
static int finish_handler | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 171 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 3154 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 3165 of file driver_nl80211.c.
static void handle_monitor_read | ( | int | sock, | |
void * | eloop_ctx, | |||
void * | sock_ctx | |||
) | [static] |
Definition at line 3196 of file driver_nl80211.c.
static void handle_tx_callback | ( | void * | ctx, | |
u8 * | buf, | |||
size_t | len, | |||
int | ok | |||
) | [static] |
Definition at line 3134 of file driver_nl80211.c.
static int have_ifidx | ( | struct wpa_driver_nl80211_data * | drv, | |
int | ifidx | |||
) | [static] |
Definition at line 150 of file driver_nl80211.c.
static int i802_set_freq | ( | void * | priv, | |
struct hostapd_freq_params * | freq | |||
) | [static] |
Definition at line 4298 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 758 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 635 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 664 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 519 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 492 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 564 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 698 of file driver_nl80211.c.
static void mlme_event_join_ibss | ( | struct wpa_driver_nl80211_data * | drv, | |
struct nlattr * | tb[] | |||
) | [static] |
Definition at line 843 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 807 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 860 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 610 of file driver_nl80211.c.
static void nl80211_cqm_event | ( | struct wpa_driver_nl80211_data * | drv, | |
struct nlattr * | tb[] | |||
) | [static] |
Definition at line 948 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 3107 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 3039 of file driver_nl80211.c.
static int nl80211_create_monitor_interface | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 3430 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 5174 of file driver_nl80211.c.
static void nl80211_dump_scan | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 2068 of file driver_nl80211.c.
Definition at line 1767 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 2013 of file driver_nl80211.c.
static int nl80211_leave_ibss | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 3654 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 1448 of file driver_nl80211.c.
static int nl80211_register_action_frames | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 1480 of file driver_nl80211.c.
static void nl80211_remove_iface | ( | struct wpa_driver_nl80211_data * | drv, | |
int | ifidx | |||
) | [static] |
Definition at line 3012 of file driver_nl80211.c.
static void nl80211_remove_monitor_interface | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 3414 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 1789 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 5341 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 5253 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 2261 of file driver_nl80211.c.
static int nl80211_set_mode | ( | struct wpa_driver_nl80211_data * | drv, | |
int | ifindex, | |||
int | mode | |||
) | [static] |
Definition at line 3993 of file driver_nl80211.c.
static int nl80211_signal_monitor | ( | void * | priv, | |
int | threshold, | |||
int | hysteresis | |||
) | [static] |
Definition at line 5303 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 2207 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 275 of file driver_nl80211.c.
static int no_seq_check | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 187 of file driver_nl80211.c.
static int phy_info_handler | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 2513 of file driver_nl80211.c.
static int process_event | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 988 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 193 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 228 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 907 of file driver_nl80211.c.
static u32 sta_flags_nl80211 | ( | int | flags | ) | [static] |
Definition at line 3562 of file driver_nl80211.c.
static int wiphy_info_handler | ( | struct nl_msg * | msg, | |
void * | arg | |||
) | [static] |
Definition at line 1161 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 2685 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 3638 of file driver_nl80211.c.
static int wpa_driver_nl80211_associate | ( | void * | priv, | |
struct wpa_driver_associate_params * | params | |||
) | [static] |
Definition at line 3903 of file driver_nl80211.c.
static int wpa_driver_nl80211_authenticate | ( | void * | priv, | |
struct wpa_driver_auth_params * | params | |||
) | [static] |
Definition at line 2387 of file driver_nl80211.c.
static int wpa_driver_nl80211_cancel_remain_on_channel | ( | void * | priv | ) | [static] |
Definition at line 5080 of file driver_nl80211.c.
static int wpa_driver_nl80211_capa | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 1228 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 1947 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 3757 of file driver_nl80211.c.
static int wpa_driver_nl80211_deauthenticate | ( | void * | priv, | |
const u8 * | addr, | |||
int | reason_code | |||
) | [static] |
Definition at line 2359 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 1559 of file driver_nl80211.c.
static int wpa_driver_nl80211_deinit_ap | ( | void * | priv | ) | [static] |
Definition at line 5231 of file driver_nl80211.c.
static int wpa_driver_nl80211_del_beacon | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 1534 of file driver_nl80211.c.
static int wpa_driver_nl80211_disable_11b_rates | ( | void * | priv, | |
int | disabled | |||
) | [static] |
Definition at line 5222 of file driver_nl80211.c.
static int wpa_driver_nl80211_disassociate | ( | void * | priv, | |
const u8 * | addr, | |||
int | reason_code | |||
) | [static] |
Definition at line 2373 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 2349 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 322 of file driver_nl80211.c.
static void wpa_driver_nl80211_event_receive | ( | int | sock, | |
void * | eloop_ctx, | |||
void * | sock_ctx | |||
) | [static] |
Definition at line 1098 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 455 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 393 of file driver_nl80211.c.
static int wpa_driver_nl80211_finish_drv_init | ( | struct wpa_driver_nl80211_data * | drv | ) | [static] |
Definition at line 1494 of file driver_nl80211.c.
static int wpa_driver_nl80211_get_bssid | ( | void * | priv, | |
u8 * | bssid | |||
) | [static] |
Definition at line 300 of file driver_nl80211.c.
static int wpa_driver_nl80211_get_capa | ( | void * | priv, | |
struct wpa_driver_capa * | capa | |||
) | [static] |
Definition at line 4089 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 2759 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 1204 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 2055 of file driver_nl80211.c.
static int wpa_driver_nl80211_get_ssid | ( | void * | priv, | |
u8 * | ssid | |||
) | [static] |
Definition at line 311 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 3493 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 3683 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 4871 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 4926 of file driver_nl80211.c.
static enum nl80211_iftype wpa_driver_nl80211_if_type | ( | enum wpa_driver_if_type | type | ) | [static] |
Definition at line 4856 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 1388 of file driver_nl80211.c.
static int wpa_driver_nl80211_init_nl | ( | struct wpa_driver_nl80211_data * | drv, | |
void * | ctx | |||
) | [static] |
Definition at line 1267 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 2315 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 375 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 350 of file driver_nl80211.c.
static int wpa_driver_nl80211_probe_req_report | ( | void * | priv, | |
int | report | |||
) | [static] |
Definition at line 5136 of file driver_nl80211.c.
static void wpa_driver_nl80211_probe_req_report_timeout | ( | void * | eloop_ctx, | |
void * | timeout_ctx | |||
) | [static] |
Definition at line 5117 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 5044 of file driver_nl80211.c.
static void wpa_driver_nl80211_resume | ( | void * | priv | ) | [static] |
Definition at line 5242 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 1659 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 1640 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 4975 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 2788 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 2828 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 2858 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 1125 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 2903 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 2092 of file driver_nl80211.c.
static int wpa_driver_nl80211_set_mode | ( | void * | priv, | |
int | mode | |||
) | [static] |
Definition at line 4018 of file driver_nl80211.c.
static int wpa_driver_nl80211_set_operstate | ( | void * | priv, | |
int | state | |||
) | [static] |
Definition at line 4101 of file driver_nl80211.c.
static int wpa_driver_nl80211_set_supp_port | ( | void * | priv, | |
int | authorized | |||
) | [static] |
Definition at line 4114 of file driver_nl80211.c.
static int wpa_driver_nl80211_sta_add | ( | void * | priv, | |
struct hostapd_sta_add_params * | params | |||
) | [static] |
Definition at line 2946 of file driver_nl80211.c.
static int wpa_driver_nl80211_sta_remove | ( | void * | priv, | |
const u8 * | addr | |||
) | [static] |
Definition at line 2985 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 3579 of file driver_nl80211.c.
static void wpa_scan_results_free | ( | struct wpa_scan_results * | res | ) | [static] |
Definition at line 1998 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 3370 of file driver_nl80211.c.
struct sock_filter msock_filter_insns[] [static] |
Definition at line 3277 of file driver_nl80211.c.
const u8 rfc1042_header[6] = { 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00 } [static] |
Definition at line 3491 of file driver_nl80211.c.
Definition at line 5350 of file driver_nl80211.c.