ieee80211_i.h (06d181a8fd58031db9c114d920b40d8820380a6e) | ieee80211_i.h (e3685e03b40f5ec7926d9a75bf63467fc4071df9) |
---|---|
1/* 2 * Copyright 2002-2005, Instant802 Networks, Inc. 3 * Copyright 2005, Devicescape Software, Inc. 4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> 5 * Copyright 2007-2010 Johannes Berg <johannes@sipsolutions.net> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 602 unchanged lines hidden (view full) --- 611 bool adjusting_tbtt; 612 /* mesh power save */ 613 enum nl80211_mesh_power_mode nonpeer_pm; 614 int ps_peers_light_sleep; 615 int ps_peers_deep_sleep; 616 struct ps_data ps; 617 /* Channel Switching Support */ 618 struct mesh_csa_settings __rcu *csa; | 1/* 2 * Copyright 2002-2005, Instant802 Networks, Inc. 3 * Copyright 2005, Devicescape Software, Inc. 4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> 5 * Copyright 2007-2010 Johannes Berg <johannes@sipsolutions.net> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 602 unchanged lines hidden (view full) --- 611 bool adjusting_tbtt; 612 /* mesh power save */ 613 enum nl80211_mesh_power_mode nonpeer_pm; 614 int ps_peers_light_sleep; 615 int ps_peers_deep_sleep; 616 struct ps_data ps; 617 /* Channel Switching Support */ 618 struct mesh_csa_settings __rcu *csa; |
619 enum { 620 IEEE80211_MESH_CSA_ROLE_NONE, 621 IEEE80211_MESH_CSA_ROLE_INIT, 622 IEEE80211_MESH_CSA_ROLE_REPEATER, 623 } csa_role; | 619 bool chsw_init; |
624 u8 chsw_ttl; 625 u16 pre_value; 626 627 /* offset from skb->data while building IE */ 628 int meshconf_offset; 629}; 630 631#ifdef CONFIG_MAC80211_MESH --- 605 unchanged lines hidden (view full) --- 1237 unsigned long hw_roc_start_time; 1238 u64 roc_cookie_counter; 1239 1240 struct idr ack_status_frames; 1241 spinlock_t ack_status_lock; 1242 1243 struct ieee80211_sub_if_data __rcu *p2p_sdata; 1244 | 620 u8 chsw_ttl; 621 u16 pre_value; 622 623 /* offset from skb->data while building IE */ 624 int meshconf_offset; 625}; 626 627#ifdef CONFIG_MAC80211_MESH --- 605 unchanged lines hidden (view full) --- 1233 unsigned long hw_roc_start_time; 1234 u64 roc_cookie_counter; 1235 1236 struct idr ack_status_frames; 1237 spinlock_t ack_status_lock; 1238 1239 struct ieee80211_sub_if_data __rcu *p2p_sdata; 1240 |
1245 struct napi_struct *napi; 1246 | |
1247 /* virtual monitor interface */ 1248 struct ieee80211_sub_if_data __rcu *monitor_sdata; 1249 struct cfg80211_chan_def monitor_chandef; 1250}; 1251 1252static inline struct ieee80211_sub_if_data * 1253IEEE80211_DEV_TO_SUB_IF(struct net_device *dev) 1254{ --- 154 unchanged lines hidden (view full) --- 1409int ieee80211_ibss_finish_csa(struct ieee80211_sub_if_data *sdata); 1410void ieee80211_ibss_stop(struct ieee80211_sub_if_data *sdata); 1411 1412/* mesh code */ 1413void ieee80211_mesh_work(struct ieee80211_sub_if_data *sdata); 1414void ieee80211_mesh_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, 1415 struct sk_buff *skb); 1416int ieee80211_mesh_csa_beacon(struct ieee80211_sub_if_data *sdata, | 1241 /* virtual monitor interface */ 1242 struct ieee80211_sub_if_data __rcu *monitor_sdata; 1243 struct cfg80211_chan_def monitor_chandef; 1244}; 1245 1246static inline struct ieee80211_sub_if_data * 1247IEEE80211_DEV_TO_SUB_IF(struct net_device *dev) 1248{ --- 154 unchanged lines hidden (view full) --- 1403int ieee80211_ibss_finish_csa(struct ieee80211_sub_if_data *sdata); 1404void ieee80211_ibss_stop(struct ieee80211_sub_if_data *sdata); 1405 1406/* mesh code */ 1407void ieee80211_mesh_work(struct ieee80211_sub_if_data *sdata); 1408void ieee80211_mesh_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, 1409 struct sk_buff *skb); 1410int ieee80211_mesh_csa_beacon(struct ieee80211_sub_if_data *sdata, |
1417 struct cfg80211_csa_settings *csa_settings); | 1411 struct cfg80211_csa_settings *csa_settings, 1412 bool csa_action); |
1418int ieee80211_mesh_finish_csa(struct ieee80211_sub_if_data *sdata); 1419 1420/* scan/BSS handling */ 1421void ieee80211_scan_work(struct work_struct *work); 1422int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata, 1423 const u8 *ssid, u8 ssid_len, 1424 struct ieee80211_channel *chan, 1425 enum nl80211_bss_scan_width scan_width); --- 127 unchanged lines hidden (view full) --- 1553/* VHT */ 1554void 1555ieee80211_vht_cap_ie_to_sta_vht_cap(struct ieee80211_sub_if_data *sdata, 1556 struct ieee80211_supported_band *sband, 1557 const struct ieee80211_vht_cap *vht_cap_ie, 1558 struct sta_info *sta); 1559enum ieee80211_sta_rx_bandwidth ieee80211_sta_cur_vht_bw(struct sta_info *sta); 1560void ieee80211_sta_set_rx_nss(struct sta_info *sta); | 1413int ieee80211_mesh_finish_csa(struct ieee80211_sub_if_data *sdata); 1414 1415/* scan/BSS handling */ 1416void ieee80211_scan_work(struct work_struct *work); 1417int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata, 1418 const u8 *ssid, u8 ssid_len, 1419 struct ieee80211_channel *chan, 1420 enum nl80211_bss_scan_width scan_width); --- 127 unchanged lines hidden (view full) --- 1548/* VHT */ 1549void 1550ieee80211_vht_cap_ie_to_sta_vht_cap(struct ieee80211_sub_if_data *sdata, 1551 struct ieee80211_supported_band *sband, 1552 const struct ieee80211_vht_cap *vht_cap_ie, 1553 struct sta_info *sta); 1554enum ieee80211_sta_rx_bandwidth ieee80211_sta_cur_vht_bw(struct sta_info *sta); 1555void ieee80211_sta_set_rx_nss(struct sta_info *sta); |
1561u32 __ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata, 1562 struct sta_info *sta, u8 opmode, 1563 enum ieee80211_band band, bool nss_only); | |
1564void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata, 1565 struct sta_info *sta, u8 opmode, 1566 enum ieee80211_band band, bool nss_only); 1567void ieee80211_apply_vhtcap_overrides(struct ieee80211_sub_if_data *sdata, 1568 struct ieee80211_sta_vht_cap *vht_cap); 1569 1570/* Spectrum management */ 1571void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, --- 36 unchanged lines hidden (view full) --- 1608 WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), 1609 "%s: resume with hardware scan still in progress\n", 1610 wiphy_name(hw->wiphy)); 1611 1612 return ieee80211_reconfig(hw_to_local(hw)); 1613} 1614 1615/* utility functions/constants */ | 1556void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata, 1557 struct sta_info *sta, u8 opmode, 1558 enum ieee80211_band band, bool nss_only); 1559void ieee80211_apply_vhtcap_overrides(struct ieee80211_sub_if_data *sdata, 1560 struct ieee80211_sta_vht_cap *vht_cap); 1561 1562/* Spectrum management */ 1563void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, --- 36 unchanged lines hidden (view full) --- 1600 WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), 1601 "%s: resume with hardware scan still in progress\n", 1602 wiphy_name(hw->wiphy)); 1603 1604 return ieee80211_reconfig(hw_to_local(hw)); 1605} 1606 1607/* utility functions/constants */ |
1616extern const void *const mac80211_wiphy_privid; /* for wiphy privid */ | 1608extern void *mac80211_wiphy_privid; /* for wiphy privid */ |
1617u8 *ieee80211_get_bssid(struct ieee80211_hdr *hdr, size_t len, 1618 enum nl80211_iftype type); 1619int ieee80211_frame_duration(enum ieee80211_band band, size_t len, 1620 int rate, int erp, int short_preamble, 1621 int shift); 1622void mac80211_ev_michael_mic_failure(struct ieee80211_sub_if_data *sdata, int keyidx, 1623 struct ieee80211_hdr *hdr, const u8 *tsc, 1624 gfp_t gfp); --- 70 unchanged lines hidden (view full) --- 1695 enum queue_stop_reason reason); 1696void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, 1697 enum queue_stop_reason reason); 1698void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue, 1699 enum queue_stop_reason reason); 1700void ieee80211_propagate_queue_wake(struct ieee80211_local *local, int queue); 1701void ieee80211_add_pending_skb(struct ieee80211_local *local, 1702 struct sk_buff *skb); | 1609u8 *ieee80211_get_bssid(struct ieee80211_hdr *hdr, size_t len, 1610 enum nl80211_iftype type); 1611int ieee80211_frame_duration(enum ieee80211_band band, size_t len, 1612 int rate, int erp, int short_preamble, 1613 int shift); 1614void mac80211_ev_michael_mic_failure(struct ieee80211_sub_if_data *sdata, int keyidx, 1615 struct ieee80211_hdr *hdr, const u8 *tsc, 1616 gfp_t gfp); --- 70 unchanged lines hidden (view full) --- 1687 enum queue_stop_reason reason); 1688void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue, 1689 enum queue_stop_reason reason); 1690void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue, 1691 enum queue_stop_reason reason); 1692void ieee80211_propagate_queue_wake(struct ieee80211_local *local, int queue); 1693void ieee80211_add_pending_skb(struct ieee80211_local *local, 1694 struct sk_buff *skb); |
1703void ieee80211_add_pending_skbs_fn(struct ieee80211_local *local, 1704 struct sk_buff_head *skbs, 1705 void (*fn)(void *data), void *data); 1706static inline void ieee80211_add_pending_skbs(struct ieee80211_local *local, 1707 struct sk_buff_head *skbs) 1708{ 1709 ieee80211_add_pending_skbs_fn(local, skbs, NULL, NULL); 1710} | 1695void ieee80211_add_pending_skbs(struct ieee80211_local *local, 1696 struct sk_buff_head *skbs); |
1711void ieee80211_flush_queues(struct ieee80211_local *local, 1712 struct ieee80211_sub_if_data *sdata); 1713 1714void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata, 1715 u16 transaction, u16 auth_alg, u16 status, 1716 const u8 *extra, size_t extra_len, const u8 *bssid, 1717 const u8 *da, const u8 *key, u8 key_len, u8 key_idx, 1718 u32 tx_flags); --- 102 unchanged lines hidden --- | 1697void ieee80211_flush_queues(struct ieee80211_local *local, 1698 struct ieee80211_sub_if_data *sdata); 1699 1700void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata, 1701 u16 transaction, u16 auth_alg, u16 status, 1702 const u8 *extra, size_t extra_len, const u8 *bssid, 1703 const u8 *da, const u8 *key, u8 key_len, u8 key_idx, 1704 u32 tx_flags); --- 102 unchanged lines hidden --- |