Linux Kernel
3.7.1
|
#include <linux/delay.h>
#include <linux/if_ether.h>
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/etherdevice.h>
#include <linux/moduleparam.h>
#include <linux/rtnetlink.h>
#include <linux/pm_qos.h>
#include <linux/crc32.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <net/mac80211.h>
#include <asm/unaligned.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
#include "rate.h"
#include "led.h"
Go to the source code of this file.
Macros | |
#define | IEEE80211_AUTH_TIMEOUT (HZ / 5) |
#define | IEEE80211_AUTH_MAX_TRIES 3 |
#define | IEEE80211_AUTH_WAIT_ASSOC (HZ * 5) |
#define | IEEE80211_ASSOC_TIMEOUT (HZ / 5) |
#define | IEEE80211_ASSOC_MAX_TRIES 3 |
#define | IEEE80211_BEACON_LOSS_COUNT 7 |
#define | IEEE80211_CONNECTION_IDLE_TIME (30 * HZ) |
#define | IEEE80211_SIGNAL_AVE_WEIGHT 3 |
#define | IEEE80211_SIGNAL_AVE_MIN_COUNT 4 |
#define | TMR_RUNNING_TIMER 0 |
#define | TMR_RUNNING_CHANSW 1 |
Enumerations | |
enum | rx_mgmt_action { RX_MGMT_NONE, RX_MGMT_CFG80211_DEAUTH, RX_MGMT_CFG80211_DISASSOC, RX_MGMT_CFG80211_RX_AUTH, RX_MGMT_CFG80211_RX_ASSOC, RX_MGMT_CFG80211_ASSOC_TIMEOUT } |
enum rx_mgmt_action |
EXPORT_SYMBOL | ( | ieee80211_chswitch_done | ) |
EXPORT_SYMBOL | ( | ieee80211_enable_dyn_ps | ) |
EXPORT_SYMBOL | ( | ieee80211_disable_dyn_ps | ) |
EXPORT_SYMBOL | ( | ieee80211_ap_probereq_get | ) |
EXPORT_SYMBOL | ( | ieee80211_beacon_loss | ) |
EXPORT_SYMBOL | ( | ieee80211_connection_loss | ) |
EXPORT_SYMBOL | ( | ieee80211_cqm_rssi_notify | ) |
|
read |
ieee80211_ap_probereq_get - retrieve a Probe Request template : pointer obtained from ieee80211_alloc_hw(). : &struct ieee80211_vif pointer from the add_interface callback.
Creates a Probe Request template which can, for example, be uploaded to hardware. The template is filled with bssid, ssid and supported rate information. This function must only be called from within the .bss_info_changed callback function and only in managed mode. The function is only useful when the interface is associated, otherwise it will return NULL.
void ieee80211_beacon_loss | ( | struct ieee80211_vif * | vif | ) |
ieee80211_beacon_loss - inform hardware does not receive beacons
: &struct ieee80211_vif pointer from the add_interface callback.
When beacon filtering is enabled with IEEE80211_VIF_BEACON_FILTER and IEEE80211_CONF_PS is set, the driver needs to inform whenever the hardware is not receiving beacons with this function.
void ieee80211_chswitch_done | ( | struct ieee80211_vif * | vif, |
bool | success | ||
) |
void ieee80211_connection_loss | ( | struct ieee80211_vif * | vif | ) |
ieee80211_connection_loss - inform hardware has lost connection to the AP
: &struct ieee80211_vif pointer from the add_interface callback.
When beacon filtering is enabled with IEEE80211_VIF_BEACON_FILTER, and IEEE80211_CONF_PS and IEEE80211_HW_CONNECTION_MONITOR are set, the driver needs to inform if the connection to the AP has been lost.
This function will cause immediate change to disassociated state, without connection recovery attempts.
void ieee80211_cqm_rssi_notify | ( | struct ieee80211_vif * | vif, |
enum nl80211_cqm_rssi_threshold_event | rssi_event, | ||
gfp_t | gfp | ||
) |
ieee80211_cqm_rssi_notify - inform a configured connection quality monitoring rssi threshold triggered
: &struct ieee80211_vif pointer from the add_interface callback. : the RSSI trigger event type : context flags
When the IEEE80211_VIF_SUPPORTS_CQM_RSSI is set, and a connection quality monitoring is configured with an rssi threshold, the driver will inform whenever the rssi level reaches the threshold.
void ieee80211_disable_dyn_ps | ( | struct ieee80211_vif * | vif | ) |
ieee80211_disable_dyn_ps - force mac80211 to temporarily disable dynamic psm
: &struct ieee80211_vif pointer from the add_interface callback.
Some hardware require full power save to manage simultaneous BT traffic on the WLAN frequency. Full PSM is required periodically, whenever there are burst of BT traffic. The hardware gets information of BT traffic via hardware co-existence lines, and consequentially requests mac80211 to (temporarily) enter full psm. This function will only temporarily disable dynamic PS, not enable PSM if it was not already enabled. The driver must make sure to re-enable dynamic PS using ieee80211_enable_dyn_ps() if the driver has disabled it.
void ieee80211_dynamic_ps_disable_work | ( | struct work_struct * | work | ) |
void ieee80211_dynamic_ps_enable_work | ( | struct work_struct * | work | ) |
void ieee80211_enable_dyn_ps | ( | struct ieee80211_vif * | vif | ) |
ieee80211_enable_dyn_ps - restore dynamic psm after being disabled
: &struct ieee80211_vif pointer from the add_interface callback.
This function restores dynamic PS after being temporarily disabled via ieee80211_disable_dyn_ps(). Each ieee80211_disable_dyn_ps() call must be coupled with an eventual call to this function.
int ieee80211_max_network_latency | ( | struct notifier_block * | nb, |
unsigned long | data, | ||
void * | dummy | ||
) |
int ieee80211_mgd_assoc | ( | struct ieee80211_sub_if_data * | sdata, |
struct cfg80211_assoc_request * | req | ||
) |
int ieee80211_mgd_auth | ( | struct ieee80211_sub_if_data * | sdata, |
struct cfg80211_auth_request * | req | ||
) |
int ieee80211_mgd_deauth | ( | struct ieee80211_sub_if_data * | sdata, |
struct cfg80211_deauth_request * | req | ||
) |
int ieee80211_mgd_disassoc | ( | struct ieee80211_sub_if_data * | sdata, |
struct cfg80211_disassoc_request * | req | ||
) |
void ieee80211_mgd_stop | ( | struct ieee80211_sub_if_data * | sdata | ) |
void ieee80211_mlme_notify_scan_completed | ( | struct ieee80211_local * | local | ) |
void ieee80211_recalc_ps | ( | struct ieee80211_local * | local, |
s32 | latency | ||
) |
void ieee80211_recalc_ps_vif | ( | struct ieee80211_sub_if_data * | sdata | ) |
void ieee80211_send_nullfunc | ( | struct ieee80211_local * | local, |
struct ieee80211_sub_if_data * | sdata, | ||
int | powersave | ||
) |
void ieee80211_send_pspoll | ( | struct ieee80211_local * | local, |
struct ieee80211_sub_if_data * | sdata | ||
) |
void ieee80211_sta_process_chanswitch | ( | struct ieee80211_sub_if_data * | sdata, |
struct ieee80211_channel_sw_ie * | sw_elem, | ||
struct ieee80211_bss * | bss, | ||
u64 | timestamp | ||
) |
void ieee80211_sta_reset_beacon_monitor | ( | struct ieee80211_sub_if_data * | sdata | ) |
void ieee80211_sta_reset_conn_monitor | ( | struct ieee80211_sub_if_data * | sdata | ) |
void ieee80211_sta_rx_notify | ( | struct ieee80211_sub_if_data * | sdata, |
struct ieee80211_hdr * | hdr | ||
) |
void ieee80211_sta_rx_queued_mgmt | ( | struct ieee80211_sub_if_data * | sdata, |
struct sk_buff * | skb | ||
) |
void ieee80211_sta_setup_sdata | ( | struct ieee80211_sub_if_data * | sdata | ) |
void ieee80211_sta_tx_notify | ( | struct ieee80211_sub_if_data * | sdata, |
struct ieee80211_hdr * | hdr, | ||
bool | ack | ||
) |
void ieee80211_sta_work | ( | struct ieee80211_sub_if_data * | sdata | ) |
module_param | ( | max_nullfunc_tries | , |
int | , | ||
0644 | |||
) |
module_param | ( | max_probe_tries | , |
int | , | ||
0644 | |||
) |
module_param | ( | probe_wait_ms | , |
int | , | ||
0644 | |||
) |
MODULE_PARM_DESC | ( | max_nullfunc_tries | , |
"Maximum nullfunc tx tries before disconnecting (reason 4)." | |||
) |
MODULE_PARM_DESC | ( | max_probe_tries | , |
"Maximum probe tries before disconnecting (reason 4)." | |||
) |