diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 28 |
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 | */ |
314 | enum ieee80211_bss_change { | 316 | enum 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 | */ | ||
477 | struct 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 | */ |
566 | struct ieee80211_bss_conf { | 587 | struct 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 | */ |
3602 | struct ieee80211_ops { | 3627 | struct 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 | /** |