#include <net/mac80211.h>
#include <linux/netdevice.h>
#include <linux/export.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/skbuff.h>
#include <linux/etherdevice.h>
#include <linux/if_arp.h>
#include <linux/bitmap.h>
#include <linux/crc32.h>
#include <net/net_namespace.h>
#include <net/cfg80211.h>
#include <net/rtnetlink.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
#include "rate.h"
#include "mesh.h"
#include "wme.h"
#include "led.h"
#include "wep.h"
Go to the source code of this file.
Functions | |
static void | __ieee80211_stop_queue (struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason) |
static void | __ieee80211_wake_queue (struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason) |
static void | _ieee80211_enable_rssi_reports (struct ieee80211_sub_if_data *sdata, int rssi_min_thold, int rssi_max_thold) |
static int | check_mgd_smps (struct ieee80211_if_managed *ifmgd, enum ieee80211_smps_mode *smps_mode) |
EXPORT_SYMBOL (wiphy_to_ieee80211_hw) | |
EXPORT_SYMBOL (ieee80211_generic_frame_duration) | |
EXPORT_SYMBOL (ieee80211_rts_duration) | |
EXPORT_SYMBOL (ieee80211_ctstoself_duration) | |
EXPORT_SYMBOL (ieee80211_wake_queue) | |
EXPORT_SYMBOL (ieee80211_stop_queue) | |
EXPORT_SYMBOL (ieee80211_stop_queues) | |
EXPORT_SYMBOL (ieee80211_queue_stopped) | |
EXPORT_SYMBOL (ieee80211_wake_queues) | |
EXPORT_SYMBOL (ieee80211_queue_work) | |
EXPORT_SYMBOL (ieee80211_queue_delayed_work) | |
EXPORT_SYMBOL (ieee80211_enable_rssi_reports) | |
EXPORT_SYMBOL (ieee80211_disable_rssi_reports) | |
EXPORT_SYMBOL_GPL (ieee80211_iterate_active_interfaces) | |
EXPORT_SYMBOL_GPL (ieee80211_iterate_active_interfaces_atomic) | |
EXPORT_SYMBOL_GPL (ieee80211_resume_disconnect) | |
EXPORT_SYMBOL_GPL (ieee80211_ave_rssi) | |
int | ieee80211_add_ext_srates_ie (struct ieee80211_vif *vif, struct sk_buff *skb, bool need_basic) |
void | ieee80211_add_pending_skb (struct ieee80211_local *local, struct sk_buff *skb) |
void | ieee80211_add_pending_skbs_fn (struct ieee80211_local *local, struct sk_buff_head *skbs, void(*fn)(void *data), void *data) |
int | ieee80211_add_srates_ie (struct ieee80211_vif *vif, struct sk_buff *skb, bool need_basic) |
int | ieee80211_ave_rssi (struct ieee80211_vif *vif) |
int | ieee80211_build_preq_ies (struct ieee80211_local *local, u8 *buffer, const u8 *ie, size_t ie_len, enum ieee80211_band band, u32 rate_mask, u8 channel) |
struct sk_buff * | ieee80211_build_probe_req (struct ieee80211_sub_if_data *sdata, u8 *dst, u32 ratemask, const u8 *ssid, size_t ssid_len, const u8 *ie, size_t ie_len, bool directed) |
static bool | ieee80211_can_queue_work (struct ieee80211_local *local) |
__le16 | ieee80211_ctstoself_duration (struct ieee80211_hw *hw, struct ieee80211_vif *vif, size_t frame_len, const struct ieee80211_tx_info *frame_txctl) |
void | ieee80211_disable_rssi_reports (struct ieee80211_vif *vif) |
void | ieee80211_enable_rssi_reports (struct ieee80211_vif *vif, int rssi_min_thold, int rssi_max_thold) |
int | ieee80211_frame_duration (enum ieee80211_band band, size_t len, int rate, int erp, int short_preamble) |
__le16 | ieee80211_generic_frame_duration (struct ieee80211_hw *hw, struct ieee80211_vif *vif, enum ieee80211_band band, size_t frame_len, struct ieee80211_rate *rate) |
u8 * | ieee80211_get_bssid (struct ieee80211_hdr *hdr, size_t len, enum nl80211_iftype type) |
enum nl80211_channel_type | ieee80211_ht_oper_to_channel_type (struct ieee80211_ht_operation *ht_oper) |
static bool | ieee80211_id_in_list (const u8 *ids, int n_ids, u8 id) |
u8 * | ieee80211_ie_build_ht_cap (u8 *pos, struct ieee80211_sta_ht_cap *ht_cap, u16 cap) |
u8 * | ieee80211_ie_build_ht_oper (u8 *pos, struct ieee80211_sta_ht_cap *ht_cap, struct ieee80211_channel *channel, enum nl80211_channel_type channel_type, u16 prot_mode) |
size_t | ieee80211_ie_split (const u8 *ies, size_t ielen, const u8 *ids, int n_ids, size_t offset) |
size_t | ieee80211_ie_split_vendor (const u8 *ies, size_t ielen, size_t offset) |
void | ieee80211_iterate_active_interfaces (struct ieee80211_hw *hw, void(*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) |
void | ieee80211_iterate_active_interfaces_atomic (struct ieee80211_hw *hw, void(*iterator)(void *data, u8 *mac, struct ieee80211_vif *vif), void *data) |
u32 | ieee80211_mandatory_rates (struct ieee80211_local *local, enum ieee80211_band band) |
void | ieee80211_propagate_queue_wake (struct ieee80211_local *local, int queue) |
void | ieee80211_queue_delayed_work (struct ieee80211_hw *hw, struct delayed_work *dwork, unsigned long delay) |
int | ieee80211_queue_stopped (struct ieee80211_hw *hw, int queue) |
void | ieee80211_queue_work (struct ieee80211_hw *hw, struct work_struct *work) |
void | ieee80211_recalc_smps (struct ieee80211_local *local) |
int | ieee80211_reconfig (struct ieee80211_local *local) |
void | ieee80211_resume_disconnect (struct ieee80211_vif *vif) |
__le16 | ieee80211_rts_duration (struct ieee80211_hw *hw, struct ieee80211_vif *vif, size_t frame_len, const struct ieee80211_tx_info *frame_txctl) |
void | ieee80211_send_auth (struct ieee80211_sub_if_data *sdata, u16 transaction, u16 auth_alg, u8 *extra, size_t extra_len, const u8 *da, const u8 *bssid, const u8 *key, u8 key_len, u8 key_idx) |
void | ieee80211_send_probe_req (struct ieee80211_sub_if_data *sdata, u8 *dst, const u8 *ssid, size_t ssid_len, const u8 *ie, size_t ie_len, u32 ratemask, bool directed, bool no_cck) |
void | ieee80211_set_wmm_default (struct ieee80211_sub_if_data *sdata, bool bss_notify) |
void | ieee80211_sta_def_wmm_params (struct ieee80211_sub_if_data *sdata, const size_t supp_rates_len, const u8 *supp_rates) |
u32 | ieee80211_sta_get_rates (struct ieee80211_local *local, struct ieee802_11_elems *elems, enum ieee80211_band band, u32 *basic_rates) |
void | ieee80211_stop_device (struct ieee80211_local *local) |
void | ieee80211_stop_queue (struct ieee80211_hw *hw, int queue) |
void | ieee80211_stop_queue_by_reason (struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason) |
void | ieee80211_stop_queues (struct ieee80211_hw *hw) |
void | ieee80211_stop_queues_by_reason (struct ieee80211_hw *hw, enum queue_stop_reason reason) |
void | ieee80211_tx_set_protected (struct ieee80211_tx_data *tx) |
void | ieee80211_wake_queue (struct ieee80211_hw *hw, int queue) |
void | ieee80211_wake_queue_by_reason (struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason) |
void | ieee80211_wake_queues (struct ieee80211_hw *hw) |
void | ieee80211_wake_queues_by_reason (struct ieee80211_hw *hw, enum queue_stop_reason reason) |
void | ieee802_11_parse_elems (u8 *start, size_t len, struct ieee802_11_elems *elems) |
u32 | ieee802_11_parse_elems_crc (u8 *start, size_t len, struct ieee802_11_elems *elems, u64 filter, u32 crc) |
struct ieee80211_hw * | wiphy_to_ieee80211_hw (struct wiphy *wiphy) |
Variables | |
void * | mac80211_wiphy_privid = &mac80211_wiphy_privid |
static void __ieee80211_stop_queue | ( | struct ieee80211_hw * | hw, |
int | queue, | ||
enum queue_stop_reason | reason | ||
) | [static] |
Definition at line 343 of file kernel-3.5/util.c.
static void __ieee80211_wake_queue | ( | struct ieee80211_hw * | hw, |
int | queue, | ||
enum queue_stop_reason | reason | ||
) | [static] |
Definition at line 298 of file kernel-3.5/util.c.
static void _ieee80211_enable_rssi_reports | ( | struct ieee80211_sub_if_data * | sdata, |
int | rssi_min_thold, | ||
int | rssi_max_thold | ||
) | [static] |
Definition at line 1597 of file kernel-3.5/util.c.
static int check_mgd_smps | ( | struct ieee80211_if_managed * | ifmgd, |
enum ieee80211_smps_mode * | smps_mode | ||
) | [static] |
Definition at line 1480 of file kernel-3.5/util.c.
int ieee80211_add_ext_srates_ie | ( | struct ieee80211_vif * | vif, |
struct sk_buff * | skb, | ||
bool | need_basic | ||
) |
Definition at line 1769 of file kernel-3.5/util.c.
void ieee80211_add_pending_skb | ( | struct ieee80211_local * | local, |
struct sk_buff * | skb | ||
) |
Definition at line 394 of file kernel-3.5/util.c.
void ieee80211_add_pending_skbs_fn | ( | struct ieee80211_local * | local, |
struct sk_buff_head * | skbs, | ||
void(*)(void *data) | fn, | ||
void * | data | ||
) |
Definition at line 414 of file kernel-3.5/util.c.
int ieee80211_add_srates_ie | ( | struct ieee80211_vif * | vif, |
struct sk_buff * | skb, | ||
bool | need_basic | ||
) |
Definition at line 1737 of file kernel-3.5/util.c.
int ieee80211_ave_rssi | ( | struct ieee80211_vif * | vif | ) |
Definition at line 1804 of file kernel-3.5/util.c.
int ieee80211_build_preq_ies | ( | struct ieee80211_local * | local, |
u8 * | buffer, | ||
const u8 * | ie, | ||
size_t | ie_len, | ||
enum ieee80211_band | band, | ||
u32 | rate_mask, | ||
u8 | channel | ||
) |
Definition at line 976 of file kernel-3.5/util.c.
struct sk_buff* ieee80211_build_probe_req | ( | struct ieee80211_sub_if_data * | sdata, |
u8 * | dst, | ||
u32 | ratemask, | ||
const u8 * | ssid, | ||
size_t | ssid_len, | ||
const u8 * | ie, | ||
size_t | ie_len, | ||
bool | directed | ||
) | [read] |
Definition at line 1074 of file kernel-3.5/util.c.
static bool ieee80211_can_queue_work | ( | struct ieee80211_local * | local | ) | [static] |
Definition at line 571 of file kernel-3.5/util.c.
__le16 ieee80211_ctstoself_duration | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif, | ||
size_t | frame_len, | ||
const struct ieee80211_tx_info * | frame_txctl | ||
) |
Definition at line 229 of file kernel-3.5/util.c.
void ieee80211_disable_rssi_reports | ( | struct ieee80211_vif * | vif | ) |
Definition at line 1629 of file kernel-3.5/util.c.
void ieee80211_enable_rssi_reports | ( | struct ieee80211_vif * | vif, |
int | rssi_min_thold, | ||
int | rssi_max_thold | ||
) |
Definition at line 1615 of file kernel-3.5/util.c.
int ieee80211_frame_duration | ( | enum ieee80211_band | band, |
size_t | len, | ||
int | rate, | ||
int | erp, | ||
int | short_preamble | ||
) |
Definition at line 109 of file kernel-3.5/util.c.
__le16 ieee80211_generic_frame_duration | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif, | ||
enum ieee80211_band | band, | ||
size_t | frame_len, | ||
struct ieee80211_rate * | rate | ||
) |
Definition at line 163 of file kernel-3.5/util.c.
u8* ieee80211_get_bssid | ( | struct ieee80211_hdr * | hdr, |
size_t | len, | ||
enum nl80211_iftype | type | ||
) |
Definition at line 49 of file kernel-3.5/util.c.
enum nl80211_channel_type ieee80211_ht_oper_to_channel_type | ( | struct ieee80211_ht_operation * | ht_oper | ) |
Definition at line 1713 of file kernel-3.5/util.c.
static bool ieee80211_id_in_list | ( | const u8 * | ids, |
int | n_ids, | ||
u8 | id | ||
) | [static] |
Definition at line 1541 of file kernel-3.5/util.c.
u8* ieee80211_ie_build_ht_cap | ( | u8 * | pos, |
struct ieee80211_sta_ht_cap * | ht_cap, | ||
u16 | cap | ||
) |
Definition at line 1637 of file kernel-3.5/util.c.
u8* ieee80211_ie_build_ht_oper | ( | u8 * | pos, |
struct ieee80211_sta_ht_cap * | ht_cap, | ||
struct ieee80211_channel * | channel, | ||
enum nl80211_channel_type | channel_type, | ||
u16 | prot_mode | ||
) |
Definition at line 1672 of file kernel-3.5/util.c.
size_t ieee80211_ie_split | ( | const u8 * | ies, |
size_t | ielen, | ||
const u8 * | ids, | ||
int | n_ids, | ||
size_t | offset | ||
) |
ieee80211_ie_split - split an IE buffer according to ordering
: the IE buffer : the length of the IE buffer : an array with element IDs that are allowed before the split : the size of the element ID array : offset where to start splitting in the buffer
This function splits an IE buffer by updating the variable to point to the location where the buffer should be split.
It assumes that the given IE buffer is well-formed, this has to be guaranteed by the caller!
It also assumes that the IEs in the buffer are ordered correctly, if not the result of using this function will not be ordered correctly either, i.e. it does no reordering.
The function returns the offset where the next part of the buffer starts, which may be if the entire (remainder) of the buffer should be used.
Definition at line 1576 of file kernel-3.5/util.c.
size_t ieee80211_ie_split_vendor | ( | const u8 * | ies, |
size_t | ielen, | ||
size_t | offset | ||
) |
Definition at line 1587 of file kernel-3.5/util.c.
void ieee80211_iterate_active_interfaces | ( | struct ieee80211_hw * | hw, |
void(*)(void *data, u8 *mac, struct ieee80211_vif *vif) | iterator, | ||
void * | data | ||
) |
Definition at line 508 of file kernel-3.5/util.c.
void ieee80211_iterate_active_interfaces_atomic | ( | struct ieee80211_hw * | hw, |
void(*)(void *data, u8 *mac, struct ieee80211_vif *vif) | iterator, | ||
void * | data | ||
) |
Definition at line 536 of file kernel-3.5/util.c.
u32 ieee80211_mandatory_rates | ( | struct ieee80211_local * | local, |
enum ieee80211_band | band | ||
) |
Definition at line 910 of file kernel-3.5/util.c.
void ieee80211_propagate_queue_wake | ( | struct ieee80211_local * | local, |
int | queue | ||
) |
Definition at line 268 of file kernel-3.5/util.c.
void ieee80211_queue_delayed_work | ( | struct ieee80211_hw * | hw, |
struct delayed_work * | dwork, | ||
unsigned long | delay | ||
) |
Definition at line 591 of file kernel-3.5/util.c.
int ieee80211_queue_stopped | ( | struct ieee80211_hw * | hw, |
int | queue | ||
) |
Definition at line 471 of file kernel-3.5/util.c.
void ieee80211_queue_work | ( | struct ieee80211_hw * | hw, |
struct work_struct * | work | ||
) |
Definition at line 580 of file kernel-3.5/util.c.
void ieee80211_recalc_smps | ( | struct ieee80211_local * | local | ) |
Definition at line 1500 of file kernel-3.5/util.c.
int ieee80211_reconfig | ( | struct ieee80211_local * | local | ) |
Definition at line 1199 of file kernel-3.5/util.c.
void ieee80211_resume_disconnect | ( | struct ieee80211_vif * | vif | ) |
Definition at line 1453 of file kernel-3.5/util.c.
__le16 ieee80211_rts_duration | ( | struct ieee80211_hw * | hw, |
struct ieee80211_vif * | vif, | ||
size_t | frame_len, | ||
const struct ieee80211_tx_info * | frame_txctl | ||
) |
Definition at line 189 of file kernel-3.5/util.c.
void ieee80211_send_auth | ( | struct ieee80211_sub_if_data * | sdata, |
u16 | transaction, | ||
u16 | auth_alg, | ||
u8 * | extra, | ||
size_t | extra_len, | ||
const u8 * | da, | ||
const u8 * | bssid, | ||
const u8 * | key, | ||
u8 | key_len, | ||
u8 | key_idx | ||
) |
Definition at line 936 of file kernel-3.5/util.c.
void ieee80211_send_probe_req | ( | struct ieee80211_sub_if_data * | sdata, |
u8 * | dst, | ||
const u8 * | ssid, | ||
size_t | ssid_len, | ||
const u8 * | ie, | ||
size_t | ie_len, | ||
u32 | ratemask, | ||
bool | directed, | ||
bool | no_cck | ||
) |
Definition at line 1127 of file kernel-3.5/util.c.
void ieee80211_set_wmm_default | ( | struct ieee80211_sub_if_data * | sdata, |
bool | bss_notify | ||
) |
Definition at line 809 of file kernel-3.5/util.c.
void ieee80211_sta_def_wmm_params | ( | struct ieee80211_sub_if_data * | sdata, |
const size_t | supp_rates_len, | ||
const u8 * | supp_rates | ||
) |
Definition at line 889 of file kernel-3.5/util.c.
u32 ieee80211_sta_get_rates | ( | struct ieee80211_local * | local, |
struct ieee802_11_elems * | elems, | ||
enum ieee80211_band | band, | ||
u32 * | basic_rates | ||
) |
Definition at line 1144 of file kernel-3.5/util.c.
void ieee80211_stop_device | ( | struct ieee80211_local * | local | ) |
Definition at line 1188 of file kernel-3.5/util.c.
void ieee80211_stop_queue | ( | struct ieee80211_hw * | hw, |
int | queue | ||
) |
Definition at line 387 of file kernel-3.5/util.c.
void ieee80211_stop_queue_by_reason | ( | struct ieee80211_hw * | hw, |
int | queue, | ||
enum queue_stop_reason | reason | ||
) |
Definition at line 376 of file kernel-3.5/util.c.
void ieee80211_stop_queues | ( | struct ieee80211_hw * | hw | ) |
Definition at line 464 of file kernel-3.5/util.c.
void ieee80211_stop_queues_by_reason | ( | struct ieee80211_hw * | hw, |
enum queue_stop_reason | reason | ||
) |
Definition at line 449 of file kernel-3.5/util.c.
void ieee80211_tx_set_protected | ( | struct ieee80211_tx_data * | tx | ) |
Definition at line 98 of file kernel-3.5/util.c.
void ieee80211_wake_queue | ( | struct ieee80211_hw * | hw, |
int | queue | ||
) |
Definition at line 336 of file kernel-3.5/util.c.
void ieee80211_wake_queue_by_reason | ( | struct ieee80211_hw * | hw, |
int | queue, | ||
enum queue_stop_reason | reason | ||
) |
Definition at line 325 of file kernel-3.5/util.c.
void ieee80211_wake_queues | ( | struct ieee80211_hw * | hw | ) |
Definition at line 502 of file kernel-3.5/util.c.
void ieee80211_wake_queues_by_reason | ( | struct ieee80211_hw * | hw, |
enum queue_stop_reason | reason | ||
) |
Definition at line 487 of file kernel-3.5/util.c.
void ieee802_11_parse_elems | ( | u8 * | start, |
size_t | len, | ||
struct ieee802_11_elems * | elems | ||
) |
Definition at line 803 of file kernel-3.5/util.c.
u32 ieee802_11_parse_elems_crc | ( | u8 * | start, |
size_t | len, | ||
struct ieee802_11_elems * | elems, | ||
u64 | filter, | ||
u32 | crc | ||
) |
Definition at line 604 of file kernel-3.5/util.c.
struct ieee80211_hw* wiphy_to_ieee80211_hw | ( | struct wiphy * | wiphy | ) | [read] |
Definition at line 39 of file kernel-3.5/util.c.
Definition at line 37 of file kernel-3.5/util.c.