|
1033 | 1033 | * %NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its
|
1034 | 1034 | * address(specified in %NL80211_ATTR_MAC).
|
1035 | 1035 | *
|
| 1036 | + * @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in |
| 1037 | + * the %NL80211_ATTR_FTM_RESPONDER_STATS attribute. |
| 1038 | + * |
1036 | 1039 | * @NL80211_CMD_MAX: highest used command number
|
1037 | 1040 | * @__NL80211_CMD_AFTER_LAST: internal use
|
1038 | 1041 | */
|
@@ -1245,6 +1248,8 @@ enum nl80211_commands {
|
1245 | 1248 |
|
1246 | 1249 | NL80211_CMD_CONTROL_PORT_FRAME,
|
1247 | 1250 |
|
| 1251 | + NL80211_CMD_GET_FTM_RESPONDER_STATS, |
| 1252 | + |
1248 | 1253 | /* add new commands above here */
|
1249 | 1254 |
|
1250 | 1255 | /* used to define NL80211_CMD_MAX below */
|
@@ -2241,6 +2246,14 @@ enum nl80211_commands {
|
2241 | 2246 | * association request when used with NL80211_CMD_NEW_STATION). Can be set
|
2242 | 2247 | * only if %NL80211_STA_FLAG_WME is set.
|
2243 | 2248 | *
|
| 2249 | + * @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include |
| 2250 | + * in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing |
| 2251 | + * measurement (FTM) responder functionality and containing parameters as |
| 2252 | + * possible, see &enum nl80211_ftm_responder_attr |
| 2253 | + * |
| 2254 | + * @NL80211_ATTR_FTM_RESPONDER_STATS: Nested attribute with FTM responder |
| 2255 | + * statistics, see &enum nl80211_ftm_responder_stats. |
| 2256 | + * |
2244 | 2257 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
2245 | 2258 | * @NL80211_ATTR_MAX: highest attribute number currently defined
|
2246 | 2259 | * @__NL80211_ATTR_AFTER_LAST: internal use
|
@@ -2682,6 +2695,10 @@ enum nl80211_attrs {
|
2682 | 2695 |
|
2683 | 2696 | NL80211_ATTR_HE_CAPABILITY,
|
2684 | 2697 |
|
| 2698 | + NL80211_ATTR_FTM_RESPONDER, |
| 2699 | + |
| 2700 | + NL80211_ATTR_FTM_RESPONDER_STATS, |
| 2701 | + |
2685 | 2702 | /* add attributes here, update the policy in nl80211.c */
|
2686 | 2703 |
|
2687 | 2704 | __NL80211_ATTR_AFTER_LAST,
|
@@ -5225,6 +5242,8 @@ enum nl80211_feature_flags {
|
5225 | 5242 | * @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data
|
5226 | 5243 | * except for supported rates from the probe request content if requested
|
5227 | 5244 | * by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag.
|
| 5245 | + * @NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER: Driver supports enabling fine |
| 5246 | + * timing measurement responder role. |
5228 | 5247 | *
|
5229 | 5248 | * @NL80211_EXT_FEATURE_CAN_REPLACE_PTK0: Driver/device confirm that they are
|
5230 | 5249 | * able to rekey an in-use key correctly. Userspace must not rekey PTK keys
|
@@ -5269,6 +5288,7 @@ enum nl80211_ext_feature_index {
|
5269 | 5288 | NL80211_EXT_FEATURE_SCAN_RANDOM_SN,
|
5270 | 5289 | NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
5271 | 5290 | NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
|
| 5291 | + NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER, |
5272 | 5292 |
|
5273 | 5293 | /* add new features before the definition below */
|
5274 | 5294 | NUM_NL80211_EXT_FEATURES,
|
@@ -5808,4 +5828,74 @@ enum nl80211_external_auth_action {
|
5808 | 5828 | NL80211_EXTERNAL_AUTH_ABORT,
|
5809 | 5829 | };
|
5810 | 5830 |
|
| 5831 | +/** |
| 5832 | + * enum nl80211_ftm_responder_attributes - fine timing measurement |
| 5833 | + * responder attributes |
| 5834 | + * @__NL80211_FTM_RESP_ATTR_INVALID: Invalid |
| 5835 | + * @NL80211_FTM_RESP_ATTR_ENABLED: FTM responder is enabled |
| 5836 | + * @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element |
| 5837 | + * (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10) |
| 5838 | + * @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element |
| 5839 | + * (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13) |
| 5840 | + * @__NL80211_FTM_RESP_ATTR_LAST: Internal |
| 5841 | + * @NL80211_FTM_RESP_ATTR_MAX: highest FTM responder attribute. |
| 5842 | + */ |
| 5843 | +enum nl80211_ftm_responder_attributes { |
| 5844 | + __NL80211_FTM_RESP_ATTR_INVALID, |
| 5845 | + |
| 5846 | + NL80211_FTM_RESP_ATTR_ENABLED, |
| 5847 | + NL80211_FTM_RESP_ATTR_LCI, |
| 5848 | + NL80211_FTM_RESP_ATTR_CIVICLOC, |
| 5849 | + |
| 5850 | + /* keep last */ |
| 5851 | + __NL80211_FTM_RESP_ATTR_LAST, |
| 5852 | + NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1, |
| 5853 | +}; |
| 5854 | + |
| 5855 | +/* |
| 5856 | + * enum nl80211_ftm_responder_stats - FTM responder statistics |
| 5857 | + * |
| 5858 | + * These attribute types are used with %NL80211_ATTR_FTM_RESPONDER_STATS |
| 5859 | + * when getting FTM responder statistics. |
| 5860 | + * |
| 5861 | + * @__NL80211_FTM_STATS_INVALID: attribute number 0 is reserved |
| 5862 | + * @NL80211_FTM_STATS_SUCCESS_NUM: number of FTM sessions in which all frames |
| 5863 | + * were ssfully answered (u32) |
| 5864 | + * @NL80211_FTM_STATS_PARTIAL_NUM: number of FTM sessions in which part of the |
| 5865 | + * frames were successfully answered (u32) |
| 5866 | + * @NL80211_FTM_STATS_FAILED_NUM: number of failed FTM sessions (u32) |
| 5867 | + * @NL80211_FTM_STATS_ASAP_NUM: number of ASAP sessions (u32) |
| 5868 | + * @NL80211_FTM_STATS_NON_ASAP_NUM: number of non-ASAP sessions (u32) |
| 5869 | + * @NL80211_FTM_STATS_TOTAL_DURATION_MSEC: total sessions durations - gives an |
| 5870 | + * indication of how much time the responder was busy (u64, msec) |
| 5871 | + * @NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM: number of unknown FTM triggers - |
| 5872 | + * triggers from initiators that didn't finish successfully the negotiation |
| 5873 | + * phase with the responder (u32) |
| 5874 | + * @NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM: number of FTM reschedule requests |
| 5875 | + * - initiator asks for a new scheduling although it already has scheduled |
| 5876 | + * FTM slot (u32) |
| 5877 | + * @NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM: number of FTM triggers out of |
| 5878 | + * scheduled window (u32) |
| 5879 | + * @NL80211_FTM_STATS_PAD: used for padding, ignore |
| 5880 | + * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal |
| 5881 | + * @NL80211_FTM_STATS_MAX: highest possible FTM responder stats attribute |
| 5882 | + */ |
| 5883 | +enum nl80211_ftm_responder_stats { |
| 5884 | + __NL80211_FTM_STATS_INVALID, |
| 5885 | + NL80211_FTM_STATS_SUCCESS_NUM, |
| 5886 | + NL80211_FTM_STATS_PARTIAL_NUM, |
| 5887 | + NL80211_FTM_STATS_FAILED_NUM, |
| 5888 | + NL80211_FTM_STATS_ASAP_NUM, |
| 5889 | + NL80211_FTM_STATS_NON_ASAP_NUM, |
| 5890 | + NL80211_FTM_STATS_TOTAL_DURATION_MSEC, |
| 5891 | + NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM, |
| 5892 | + NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM, |
| 5893 | + NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM, |
| 5894 | + NL80211_FTM_STATS_PAD, |
| 5895 | + |
| 5896 | + /* keep last */ |
| 5897 | + __NL80211_FTM_STATS_AFTER_LAST, |
| 5898 | + NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1 |
| 5899 | +}; |
| 5900 | + |
5811 | 5901 | #endif /* __LINUX_NL80211_H */
|
0 commit comments