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 ---