|
int | ieee80211_hw_config (struct ieee80211_local *local, u32 changed) |
|
void | ieee80211_tx_set_protected (struct ieee80211_tx_data *tx) |
|
void | ieee80211_bss_info_change_notify (struct ieee80211_sub_if_data *sdata, u32 changed) |
|
void | ieee80211_configure_filter (struct ieee80211_local *local) |
|
u32 | ieee80211_reset_erp_info (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_sta_setup_sdata (struct ieee80211_sub_if_data *sdata) |
|
int | ieee80211_mgd_auth (struct ieee80211_sub_if_data *sdata, struct cfg80211_auth_request *req) |
|
int | ieee80211_mgd_assoc (struct ieee80211_sub_if_data *sdata, struct cfg80211_assoc_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_send_pspoll (struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_recalc_ps (struct ieee80211_local *local, s32 latency) |
|
void | ieee80211_recalc_ps_vif (struct ieee80211_sub_if_data *sdata) |
|
int | ieee80211_max_network_latency (struct notifier_block *nb, unsigned long data, void *dummy) |
|
int | ieee80211_set_arp_filter (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_quiesce (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_sta_restart (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_sta_work (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_sta_rx_queued_mgmt (struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) |
|
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_mgd_stop (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_ibss_notify_scan_completed (struct ieee80211_local *local) |
|
void | ieee80211_ibss_setup_sdata (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_ibss_rx_no_sta (struct ieee80211_sub_if_data *sdata, const u8 *bssid, const u8 *addr, u32 supp_rates) |
|
int | ieee80211_ibss_join (struct ieee80211_sub_if_data *sdata, struct cfg80211_ibss_params *params) |
|
int | ieee80211_ibss_leave (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_ibss_quiesce (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_ibss_restart (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_ibss_work (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_ibss_rx_queued_mgmt (struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) |
|
void | ieee80211_mesh_work (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_mesh_rx_queued_mgmt (struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) |
|
void | ieee80211_scan_work (struct work_struct *work) |
|
int | ieee80211_request_internal_scan (struct ieee80211_sub_if_data *sdata, const u8 *ssid, u8 ssid_len, struct ieee80211_channel *chan) |
|
int | ieee80211_request_scan (struct ieee80211_sub_if_data *sdata, struct cfg80211_scan_request *req) |
|
void | ieee80211_scan_cancel (struct ieee80211_local *local) |
|
void | ieee80211_run_deferred_scan (struct ieee80211_local *local) |
|
void | ieee80211_scan_rx (struct ieee80211_local *local, struct sk_buff *skb) |
|
void | ieee80211_mlme_notify_scan_completed (struct ieee80211_local *local) |
|
struct ieee80211_bss * | ieee80211_bss_info_update (struct ieee80211_local *local, struct ieee80211_rx_status *rx_status, struct ieee80211_mgmt *mgmt, size_t len, struct ieee802_11_elems *elems, struct ieee80211_channel *channel, bool beacon) |
|
void | ieee80211_rx_bss_put (struct ieee80211_local *local, struct ieee80211_bss *bss) |
|
int | ieee80211_request_sched_scan_start (struct ieee80211_sub_if_data *sdata, struct cfg80211_sched_scan_request *req) |
|
int | ieee80211_request_sched_scan_stop (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_sched_scan_stopped_work (struct work_struct *work) |
|
void | ieee80211_offchannel_stop_vifs (struct ieee80211_local *local, bool offchannel_ps_enable) |
|
void | ieee80211_offchannel_return (struct ieee80211_local *local, bool offchannel_ps_disable) |
|
void | ieee80211_roc_setup (struct ieee80211_local *local) |
|
void | ieee80211_start_next_roc (struct ieee80211_local *local) |
|
void | ieee80211_roc_purge (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_roc_notify_destroy (struct ieee80211_roc_work *roc) |
|
void | ieee80211_sw_roc_work (struct work_struct *work) |
|
void | ieee80211_handle_roc_started (struct ieee80211_roc_work *roc) |
|
int | ieee80211_iface_init (void) |
|
void | ieee80211_iface_exit (void) |
|
int | ieee80211_if_add (struct ieee80211_local *local, const char *name, struct wireless_dev **new_wdev, enum nl80211_iftype type, struct vif_params *params) |
|
int | ieee80211_if_change_type (struct ieee80211_sub_if_data *sdata, enum nl80211_iftype type) |
|
void | ieee80211_if_remove (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_remove_interfaces (struct ieee80211_local *local) |
|
void | ieee80211_recalc_idle (struct ieee80211_local *local) |
|
void | ieee80211_adjust_monitor_flags (struct ieee80211_sub_if_data *sdata, const int offset) |
|
int | ieee80211_do_open (struct wireless_dev *wdev, bool coming_up) |
|
void | ieee80211_sdata_stop (struct ieee80211_sub_if_data *sdata) |
|
void | ieee80211_clear_tx_pending (struct ieee80211_local *local) |
|
void | ieee80211_tx_pending (unsigned long data) |
|
netdev_tx_t | ieee80211_monitor_start_xmit (struct sk_buff *skb, struct net_device *dev) |
|
netdev_tx_t | ieee80211_subif_start_xmit (struct sk_buff *skb, struct net_device *dev) |
|
void | ieee80211_purge_tx_queue (struct ieee80211_hw *hw, struct sk_buff_head *skbs) |
|
void | ieee80211_apply_htcap_overrides (struct ieee80211_sub_if_data *sdata, struct ieee80211_sta_ht_cap *ht_cap) |
|
void | ieee80211_ht_cap_ie_to_sta_ht_cap (struct ieee80211_sub_if_data *sdata, struct ieee80211_supported_band *sband, struct ieee80211_ht_cap *ht_cap_ie, struct ieee80211_sta_ht_cap *ht_cap) |
|
void | ieee80211_send_delba (struct ieee80211_sub_if_data *sdata, const u8 *da, u16 tid, u16 initiator, u16 reason_code) |
|
int | ieee80211_send_smps_action (struct ieee80211_sub_if_data *sdata, enum ieee80211_smps_mode smps, const u8 *da, const u8 *bssid) |
|
void | ieee80211_request_smps_work (struct work_struct *work) |
|
void | ___ieee80211_stop_rx_ba_session (struct sta_info *sta, u16 tid, u16 initiator, u16 reason, bool stop) |
|
void | __ieee80211_stop_rx_ba_session (struct sta_info *sta, u16 tid, u16 initiator, u16 reason, bool stop) |
|
void | ieee80211_sta_tear_down_BA_sessions (struct sta_info *sta, bool tx) |
|
void | ieee80211_process_delba (struct ieee80211_sub_if_data *sdata, struct sta_info *sta, struct ieee80211_mgmt *mgmt, size_t len) |
|
void | ieee80211_process_addba_resp (struct ieee80211_local *local, struct sta_info *sta, struct ieee80211_mgmt *mgmt, size_t len) |
|
void | ieee80211_process_addba_request (struct ieee80211_local *local, struct sta_info *sta, struct ieee80211_mgmt *mgmt, size_t len) |
|
int | __ieee80211_stop_tx_ba_session (struct sta_info *sta, u16 tid, enum ieee80211_back_parties initiator, bool tx) |
|
int | ___ieee80211_stop_tx_ba_session (struct sta_info *sta, u16 tid, enum ieee80211_back_parties initiator, bool tx) |
|
void | ieee80211_start_tx_ba_cb (struct ieee80211_vif *vif, u8 *ra, u16 tid) |
|
void | ieee80211_stop_tx_ba_cb (struct ieee80211_vif *vif, u8 *ra, u8 tid) |
|
void | ieee80211_ba_session_work (struct work_struct *work) |
|
void | ieee80211_tx_ba_session_handle_start (struct sta_info *sta, int tid) |
|
void | ieee80211_release_reorder_timeout (struct sta_info *sta, int tid) |
|
void | ieee80211_process_measurement_req (struct ieee80211_sub_if_data *sdata, struct ieee80211_mgmt *mgmt, size_t len) |
|
int | ieee80211_reconfig (struct ieee80211_local *local) |
|
void | ieee80211_stop_device (struct ieee80211_local *local) |
|
int | __ieee80211_suspend (struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) |
|
u8 * | ieee80211_get_bssid (struct ieee80211_hdr *hdr, size_t len, enum nl80211_iftype type) |
|
int | ieee80211_frame_duration (enum ieee80211_band band, size_t len, int rate, int erp, int short_preamble) |
|
void | mac80211_ev_michael_mic_failure (struct ieee80211_sub_if_data *sdata, int keyidx, struct ieee80211_hdr *hdr, const u8 *tsc, gfp_t gfp) |
|
void | ieee80211_set_wmm_default (struct ieee80211_sub_if_data *sdata, bool bss_notify) |
|
void | ieee80211_xmit (struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) |
|
void | ieee80211_tx_skb_tid (struct ieee80211_sub_if_data *sdata, struct sk_buff *skb, int tid) |
|
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) |
|
u32 | ieee80211_mandatory_rates (struct ieee80211_local *local, enum ieee80211_band band) |
|
void | ieee80211_dynamic_ps_enable_work (struct work_struct *work) |
|
void | ieee80211_dynamic_ps_disable_work (struct work_struct *work) |
|
void | ieee80211_dynamic_ps_timer (unsigned long data) |
|
void | ieee80211_send_nullfunc (struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata, int powersave) |
|
void | ieee80211_sta_rx_notify (struct ieee80211_sub_if_data *sdata, struct ieee80211_hdr *hdr) |
|
void | ieee80211_sta_tx_notify (struct ieee80211_sub_if_data *sdata, struct ieee80211_hdr *hdr, bool ack) |
|
void | ieee80211_wake_queues_by_reason (struct ieee80211_hw *hw, enum queue_stop_reason reason) |
|
void | ieee80211_stop_queues_by_reason (struct ieee80211_hw *hw, enum queue_stop_reason reason) |
|
void | ieee80211_wake_queue_by_reason (struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason) |
|
void | ieee80211_stop_queue_by_reason (struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason) |
|
void | ieee80211_propagate_queue_wake (struct ieee80211_local *local, int queue) |
|
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) |
|
void | ieee80211_send_auth (struct ieee80211_sub_if_data *sdata, u16 transaction, u16 auth_alg, u8 *extra, size_t extra_len, const u8 *bssid, const u8 *da, const u8 *key, u8 key_len, u8 key_idx) |
|
void | ieee80211_send_deauth_disassoc (struct ieee80211_sub_if_data *sdata, const u8 *bssid, u16 stype, u16 reason, bool send_frame, u8 *frame_buf) |
|
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, struct ieee80211_channel *chan, const u8 *ssid, size_t ssid_len, const u8 *ie, size_t ie_len, bool directed) |
|
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, struct ieee80211_channel *channel) |
|
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) |
|
int | __ieee80211_request_smps (struct ieee80211_sub_if_data *sdata, enum ieee80211_smps_mode smps_mode) |
|
void | ieee80211_recalc_smps (struct ieee80211_local *local) |
|
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) |
|
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) |
|
u8 * | ieee80211_ie_build_vht_cap (u8 *pos, struct ieee80211_sta_vht_cap *vht_cap, u32 cap) |
|
int | ieee80211_add_srates_ie (struct ieee80211_sub_if_data *sdata, struct sk_buff *skb, bool need_basic, enum ieee80211_band band) |
|
int | ieee80211_add_ext_srates_ie (struct ieee80211_sub_if_data *sdata, struct sk_buff *skb, bool need_basic, enum ieee80211_band band) |
|
enum ieee80211_chan_mode | ieee80211_get_channel_mode (struct ieee80211_local *local, struct ieee80211_sub_if_data *ignore) |
|
bool | ieee80211_set_channel_type (struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata, enum nl80211_channel_type chantype) |
|
enum nl80211_channel_type | ieee80211_ht_oper_to_channel_type (struct ieee80211_ht_operation *ht_oper) |
|
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 1719 of file util.c.
ieee80211_subif_start_xmit - netif start_xmit function for Ethernet-type subinterfaces (wlan#, WDS, and VLAN interfaces) : packet to be sent : incoming interface
Returns: 0 on success (and frees skb in this case) or 1 on failure (skb will not be freed, and caller is responsible for either retrying later or freeing skb).
This function takes in an Ethernet header and encapsulates it with suitable IEEE 802.11 header based on which interface the packet is coming in. The encapsulated packet will then be passed to master interface, wlan#.11, for transmission (through low-level driver).
Definition at line 1716 of file tx.c.