aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index ed5bf8b4b5c2..fb5dbcb79a12 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -232,6 +232,7 @@ struct ieee80211_rx_data {
232struct beacon_data { 232struct beacon_data {
233 u8 *head, *tail; 233 u8 *head, *tail;
234 int head_len, tail_len; 234 int head_len, tail_len;
235 struct ieee80211_meshconf_ie *meshconf;
235 struct rcu_head rcu_head; 236 struct rcu_head rcu_head;
236}; 237};
237 238
@@ -540,7 +541,10 @@ struct ieee80211_mesh_sync_ops {
540 struct ieee80211_mgmt *mgmt, 541 struct ieee80211_mgmt *mgmt,
541 struct ieee802_11_elems *elems, 542 struct ieee802_11_elems *elems,
542 struct ieee80211_rx_status *rx_status); 543 struct ieee80211_rx_status *rx_status);
543 void (*adjust_tbtt)(struct ieee80211_sub_if_data *sdata); 544
545 /* should be called with beacon_data under RCU read lock */
546 void (*adjust_tbtt)(struct ieee80211_sub_if_data *sdata,
547 struct beacon_data *beacon);
544 /* add other framework functions here */ 548 /* add other framework functions here */
545}; 549};
546 550
@@ -614,6 +618,9 @@ struct ieee80211_if_mesh {
614 bool chsw_init; 618 bool chsw_init;
615 u8 chsw_ttl; 619 u8 chsw_ttl;
616 u16 pre_value; 620 u16 pre_value;
621
622 /* offset from skb->data while building IE */
623 int meshconf_offset;
617}; 624};
618 625
619#ifdef CONFIG_MAC80211_MESH 626#ifdef CONFIG_MAC80211_MESH
@@ -776,10 +783,6 @@ struct ieee80211_sub_if_data {
776 u32 mntr_flags; 783 u32 mntr_flags;
777 } u; 784 } u;
778 785
779 spinlock_t cleanup_stations_lock;
780 struct list_head cleanup_stations;
781 struct work_struct cleanup_stations_wk;
782
783#ifdef CONFIG_MAC80211_DEBUGFS 786#ifdef CONFIG_MAC80211_DEBUGFS
784 struct { 787 struct {
785 struct dentry *subdir_stations; 788 struct dentry *subdir_stations;
@@ -1117,6 +1120,7 @@ struct ieee80211_local {
1117 1120
1118 struct work_struct sched_scan_stopped_work; 1121 struct work_struct sched_scan_stopped_work;
1119 struct ieee80211_sub_if_data __rcu *sched_scan_sdata; 1122 struct ieee80211_sub_if_data __rcu *sched_scan_sdata;
1123 struct cfg80211_sched_scan_request *sched_scan_req;
1120 1124
1121 unsigned long leave_oper_channel_time; 1125 unsigned long leave_oper_channel_time;
1122 enum mac80211_scan_state next_scan_state; 1126 enum mac80211_scan_state next_scan_state;
@@ -1425,6 +1429,9 @@ void ieee80211_rx_bss_put(struct ieee80211_local *local,
1425 struct ieee80211_bss *bss); 1429 struct ieee80211_bss *bss);
1426 1430
1427/* scheduled scan handling */ 1431/* scheduled scan handling */
1432int
1433__ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
1434 struct cfg80211_sched_scan_request *req);
1428int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata, 1435int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
1429 struct cfg80211_sched_scan_request *req); 1436 struct cfg80211_sched_scan_request *req);
1430int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata); 1437int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata);
@@ -1443,6 +1450,8 @@ void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc);
1443 1450
1444/* channel switch handling */ 1451/* channel switch handling */
1445void ieee80211_csa_finalize_work(struct work_struct *work); 1452void ieee80211_csa_finalize_work(struct work_struct *work);
1453int ieee80211_channel_switch(struct wiphy *wiphy, struct net_device *dev,
1454 struct cfg80211_csa_settings *params);
1446 1455
1447/* interface handling */ 1456/* interface handling */
1448int ieee80211_iface_init(void); 1457int ieee80211_iface_init(void);
@@ -1465,8 +1474,6 @@ void ieee80211_del_virtual_monitor(struct ieee80211_local *local);
1465 1474
1466bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); 1475bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata);
1467void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata); 1476void ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata);
1468int ieee80211_assign_beacon(struct ieee80211_sub_if_data *sdata,
1469 struct cfg80211_beacon_data *params);
1470 1477
1471static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata) 1478static inline bool ieee80211_sdata_running(struct ieee80211_sub_if_data *sdata)
1472{ 1479{