aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index c4fadbafbf21..2ccd4d1bef89 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -309,6 +309,8 @@ struct ieee80211_vif_chanctx_switch {
309 * @BSS_CHANGED_KEEP_ALIVE: keep alive options (idle period or protected 309 * @BSS_CHANGED_KEEP_ALIVE: keep alive options (idle period or protected
310 * keep alive) changed. 310 * keep alive) changed.
311 * @BSS_CHANGED_MCAST_RATE: Multicast Rate setting changed for this interface 311 * @BSS_CHANGED_MCAST_RATE: Multicast Rate setting changed for this interface
312 * @BSS_CHANGED_FTM_RESPONDER: fime timing reasurement request responder
313 * functionality changed for this BSS (AP mode).
312 * 314 *
313 */ 315 */
314enum ieee80211_bss_change { 316enum ieee80211_bss_change {
@@ -338,6 +340,7 @@ enum ieee80211_bss_change {
338 BSS_CHANGED_MU_GROUPS = 1<<23, 340 BSS_CHANGED_MU_GROUPS = 1<<23,
339 BSS_CHANGED_KEEP_ALIVE = 1<<24, 341 BSS_CHANGED_KEEP_ALIVE = 1<<24,
340 BSS_CHANGED_MCAST_RATE = 1<<25, 342 BSS_CHANGED_MCAST_RATE = 1<<25,
343 BSS_CHANGED_FTM_RESPONDER = 1<<26,
341 344
342 /* when adding here, make sure to change ieee80211_reconfig */ 345 /* when adding here, make sure to change ieee80211_reconfig */
343}; 346};
@@ -464,6 +467,21 @@ struct ieee80211_mu_group_data {
464}; 467};
465 468
466/** 469/**
470 * ieee80211_ftm_responder_params - FTM responder parameters
471 *
472 * @lci: LCI subelement content
473 * @civicloc: CIVIC location subelement content
474 * @lci_len: LCI data length
475 * @civicloc_len: Civic data length
476 */
477struct ieee80211_ftm_responder_params {
478 const u8 *lci;
479 const u8 *civicloc;
480 size_t lci_len;
481 size_t civicloc_len;
482};
483
484/**
467 * struct ieee80211_bss_conf - holds the BSS's changing parameters 485 * struct ieee80211_bss_conf - holds the BSS's changing parameters
468 * 486 *
469 * This structure keeps information about a BSS (and an association 487 * This structure keeps information about a BSS (and an association
@@ -562,6 +580,9 @@ struct ieee80211_mu_group_data {
562 * @protected_keep_alive: if set, indicates that the station should send an RSN 580 * @protected_keep_alive: if set, indicates that the station should send an RSN
563 * protected frame to the AP to reset the idle timer at the AP for the 581 * protected frame to the AP to reset the idle timer at the AP for the
564 * station. 582 * station.
583 * @ftm_responder: whether to enable or disable fine timing measurement FTM
584 * responder functionality.
585 * @ftmr_params: configurable lci/civic parameter when enabling FTM responder.
565 */ 586 */
566struct ieee80211_bss_conf { 587struct ieee80211_bss_conf {
567 const u8 *bssid; 588 const u8 *bssid;
@@ -612,6 +633,8 @@ struct ieee80211_bss_conf {
612 bool allow_p2p_go_ps; 633 bool allow_p2p_go_ps;
613 u16 max_idle_period; 634 u16 max_idle_period;
614 bool protected_keep_alive; 635 bool protected_keep_alive;
636 bool ftm_responder;
637 struct ieee80211_ftm_responder_params *ftmr_params;
615}; 638};
616 639
617/** 640/**
@@ -3598,6 +3621,8 @@ enum ieee80211_reconfig_type {
3598 * aggregating two specific frames in the same A-MSDU. The relation 3621 * aggregating two specific frames in the same A-MSDU. The relation
3599 * between the skbs should be symmetric and transitive. Note that while 3622 * between the skbs should be symmetric and transitive. Note that while
3600 * skb is always a real frame, head may or may not be an A-MSDU. 3623 * skb is always a real frame, head may or may not be an A-MSDU.
3624 * @get_ftm_responder_stats: Retrieve FTM responder statistics, if available.
3625 * Statistics should be cumulative, currently no way to reset is provided.
3601 */ 3626 */
3602struct ieee80211_ops { 3627struct ieee80211_ops {
3603 void (*tx)(struct ieee80211_hw *hw, 3628 void (*tx)(struct ieee80211_hw *hw,
@@ -3883,6 +3908,9 @@ struct ieee80211_ops {
3883 bool (*can_aggregate_in_amsdu)(struct ieee80211_hw *hw, 3908 bool (*can_aggregate_in_amsdu)(struct ieee80211_hw *hw,
3884 struct sk_buff *head, 3909 struct sk_buff *head,
3885 struct sk_buff *skb); 3910 struct sk_buff *skb);
3911 int (*get_ftm_responder_stats)(struct ieee80211_hw *hw,
3912 struct ieee80211_vif *vif,
3913 struct cfg80211_ftm_responder_stats *ftm_stats);
3886}; 3914};
3887 3915
3888/** 3916/**