Sync with mac80211-next.git include/uapi/linux/nl80211.h
This brings in nl80211 definitions as of 2018-12-15. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
3a259f073a
commit
6a24adee9c
1 changed files with 552 additions and 6 deletions
|
@ -1033,6 +1033,38 @@
|
||||||
* %NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its
|
* %NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its
|
||||||
* address(specified in %NL80211_ATTR_MAC).
|
* address(specified in %NL80211_ATTR_MAC).
|
||||||
*
|
*
|
||||||
|
* @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in
|
||||||
|
* the %NL80211_ATTR_FTM_RESPONDER_STATS attribute.
|
||||||
|
*
|
||||||
|
* @NL80211_CMD_PEER_MEASUREMENT_START: start a (set of) peer measurement(s)
|
||||||
|
* with the given parameters, which are encapsulated in the nested
|
||||||
|
* %NL80211_ATTR_PEER_MEASUREMENTS attribute. Optionally, MAC address
|
||||||
|
* randomization may be enabled and configured by specifying the
|
||||||
|
* %NL80211_ATTR_MAC and %NL80211_ATTR_MAC_MASK attributes.
|
||||||
|
* If a timeout is requested, use the %NL80211_ATTR_TIMEOUT attribute.
|
||||||
|
* A u64 cookie for further %NL80211_ATTR_COOKIE use is is returned in
|
||||||
|
* the netlink extended ack message.
|
||||||
|
*
|
||||||
|
* To cancel a measurement, close the socket that requested it.
|
||||||
|
*
|
||||||
|
* Measurement results are reported to the socket that requested the
|
||||||
|
* measurement using @NL80211_CMD_PEER_MEASUREMENT_RESULT when they
|
||||||
|
* become available, so applications must ensure a large enough socket
|
||||||
|
* buffer size.
|
||||||
|
*
|
||||||
|
* Depending on driver support it may or may not be possible to start
|
||||||
|
* multiple concurrent measurements.
|
||||||
|
* @NL80211_CMD_PEER_MEASUREMENT_RESULT: This command number is used for the
|
||||||
|
* result notification from the driver to the requesting socket.
|
||||||
|
* @NL80211_CMD_PEER_MEASUREMENT_COMPLETE: Notification only, indicating that
|
||||||
|
* the measurement completed, using the measurement cookie
|
||||||
|
* (%NL80211_ATTR_COOKIE).
|
||||||
|
*
|
||||||
|
* @NL80211_CMD_NOTIFY_RADAR: Notify the kernel that a radar signal was
|
||||||
|
* detected and reported by a neighboring device on the channel
|
||||||
|
* indicated by %NL80211_ATTR_WIPHY_FREQ and other attributes
|
||||||
|
* determining the width and type.
|
||||||
|
*
|
||||||
* @NL80211_CMD_MAX: highest used command number
|
* @NL80211_CMD_MAX: highest used command number
|
||||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||||
*/
|
*/
|
||||||
|
@ -1245,6 +1277,14 @@ enum nl80211_commands {
|
||||||
|
|
||||||
NL80211_CMD_CONTROL_PORT_FRAME,
|
NL80211_CMD_CONTROL_PORT_FRAME,
|
||||||
|
|
||||||
|
NL80211_CMD_GET_FTM_RESPONDER_STATS,
|
||||||
|
|
||||||
|
NL80211_CMD_PEER_MEASUREMENT_START,
|
||||||
|
NL80211_CMD_PEER_MEASUREMENT_RESULT,
|
||||||
|
NL80211_CMD_PEER_MEASUREMENT_COMPLETE,
|
||||||
|
|
||||||
|
NL80211_CMD_NOTIFY_RADAR,
|
||||||
|
|
||||||
/* add new commands above here */
|
/* add new commands above here */
|
||||||
|
|
||||||
/* used to define NL80211_CMD_MAX below */
|
/* used to define NL80211_CMD_MAX below */
|
||||||
|
@ -1701,7 +1741,7 @@ enum nl80211_commands {
|
||||||
* the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
|
* the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
|
||||||
* is included in the probe request, but the match attributes
|
* is included in the probe request, but the match attributes
|
||||||
* will never let it go through), -EINVAL may be returned.
|
* will never let it go through), -EINVAL may be returned.
|
||||||
* If ommited, no filtering is done.
|
* If omitted, no filtering is done.
|
||||||
*
|
*
|
||||||
* @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
|
* @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
|
||||||
* interface combinations. In each nested item, it contains attributes
|
* interface combinations. In each nested item, it contains attributes
|
||||||
|
@ -1806,7 +1846,7 @@ enum nl80211_commands {
|
||||||
*
|
*
|
||||||
* @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be
|
* @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be
|
||||||
* used by the drivers which has MLME in firmware and does not have support
|
* used by the drivers which has MLME in firmware and does not have support
|
||||||
* to report per station tx/rx activity to free up the staion entry from
|
* to report per station tx/rx activity to free up the station entry from
|
||||||
* the list. This needs to be used when the driver advertises the
|
* the list. This needs to be used when the driver advertises the
|
||||||
* capability to timeout the stations.
|
* capability to timeout the stations.
|
||||||
*
|
*
|
||||||
|
@ -2167,7 +2207,7 @@ enum nl80211_commands {
|
||||||
*
|
*
|
||||||
* @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in
|
* @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in
|
||||||
* the specified band is to be adjusted before doing
|
* the specified band is to be adjusted before doing
|
||||||
* %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparision to figure out
|
* %NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI based comparison to figure out
|
||||||
* better BSSs. The attribute value is a packed structure
|
* better BSSs. The attribute value is a packed structure
|
||||||
* value as specified by &struct nl80211_bss_select_rssi_adjust.
|
* value as specified by &struct nl80211_bss_select_rssi_adjust.
|
||||||
*
|
*
|
||||||
|
@ -2241,6 +2281,24 @@ enum nl80211_commands {
|
||||||
* association request when used with NL80211_CMD_NEW_STATION). Can be set
|
* association request when used with NL80211_CMD_NEW_STATION). Can be set
|
||||||
* only if %NL80211_STA_FLAG_WME is set.
|
* only if %NL80211_STA_FLAG_WME is set.
|
||||||
*
|
*
|
||||||
|
* @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include
|
||||||
|
* in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing
|
||||||
|
* measurement (FTM) responder functionality and containing parameters as
|
||||||
|
* possible, see &enum nl80211_ftm_responder_attr
|
||||||
|
*
|
||||||
|
* @NL80211_ATTR_FTM_RESPONDER_STATS: Nested attribute with FTM responder
|
||||||
|
* statistics, see &enum nl80211_ftm_responder_stats.
|
||||||
|
*
|
||||||
|
* @NL80211_ATTR_TIMEOUT: Timeout for the given operation in milliseconds (u32),
|
||||||
|
* if the attribute is not given no timeout is requested. Note that 0 is an
|
||||||
|
* invalid value.
|
||||||
|
*
|
||||||
|
* @NL80211_ATTR_PEER_MEASUREMENTS: peer measurements request (and result)
|
||||||
|
* data, uses nested attributes specified in
|
||||||
|
* &enum nl80211_peer_measurement_attrs.
|
||||||
|
* This is also used for capability advertisement in the wiphy information,
|
||||||
|
* with the appropriate sub-attributes.
|
||||||
|
*
|
||||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||||
|
@ -2682,6 +2740,14 @@ enum nl80211_attrs {
|
||||||
|
|
||||||
NL80211_ATTR_HE_CAPABILITY,
|
NL80211_ATTR_HE_CAPABILITY,
|
||||||
|
|
||||||
|
NL80211_ATTR_FTM_RESPONDER,
|
||||||
|
|
||||||
|
NL80211_ATTR_FTM_RESPONDER_STATS,
|
||||||
|
|
||||||
|
NL80211_ATTR_TIMEOUT,
|
||||||
|
|
||||||
|
NL80211_ATTR_PEER_MEASUREMENTS,
|
||||||
|
|
||||||
/* add attributes here, update the policy in nl80211.c */
|
/* add attributes here, update the policy in nl80211.c */
|
||||||
|
|
||||||
__NL80211_ATTR_AFTER_LAST,
|
__NL80211_ATTR_AFTER_LAST,
|
||||||
|
@ -3051,6 +3117,14 @@ enum nl80211_sta_bss_param {
|
||||||
* @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
|
* @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
|
||||||
* @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm)
|
* @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm)
|
||||||
* @NL80211_STA_INFO_ACK_SIGNAL_AVG: avg signal strength of ACK frames (s8, dBm)
|
* @NL80211_STA_INFO_ACK_SIGNAL_AVG: avg signal strength of ACK frames (s8, dBm)
|
||||||
|
* @NL80211_STA_INFO_RX_MPDUS: total number of received packets (MPDUs)
|
||||||
|
* (u32, from this station)
|
||||||
|
* @NL80211_STA_INFO_FCS_ERROR_COUNT: total number of packets (MPDUs) received
|
||||||
|
* with an FCS error (u32, from this station). This count may not include
|
||||||
|
* some packets with an FCS error due to TA corruption. Hence this counter
|
||||||
|
* might not be fully accurate.
|
||||||
|
* @NL80211_STA_INFO_CONNECTED_TO_GATE: set to true if STA has a path to a
|
||||||
|
* mesh gate (u8, 0 or 1)
|
||||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||||
*/
|
*/
|
||||||
|
@ -3091,6 +3165,9 @@ enum nl80211_sta_info {
|
||||||
NL80211_STA_INFO_PAD,
|
NL80211_STA_INFO_PAD,
|
||||||
NL80211_STA_INFO_ACK_SIGNAL,
|
NL80211_STA_INFO_ACK_SIGNAL,
|
||||||
NL80211_STA_INFO_ACK_SIGNAL_AVG,
|
NL80211_STA_INFO_ACK_SIGNAL_AVG,
|
||||||
|
NL80211_STA_INFO_RX_MPDUS,
|
||||||
|
NL80211_STA_INFO_FCS_ERROR_COUNT,
|
||||||
|
NL80211_STA_INFO_CONNECTED_TO_GATE,
|
||||||
|
|
||||||
/* keep last */
|
/* keep last */
|
||||||
__NL80211_STA_INFO_AFTER_LAST,
|
__NL80211_STA_INFO_AFTER_LAST,
|
||||||
|
@ -3870,6 +3947,11 @@ enum nl80211_mesh_power_mode {
|
||||||
* remove it from the STA's list of peers. You may set this to 0 to disable
|
* remove it from the STA's list of peers. You may set this to 0 to disable
|
||||||
* the removal of the STA. Default is 30 minutes.
|
* the removal of the STA. Default is 30 minutes.
|
||||||
*
|
*
|
||||||
|
* @NL80211_MESHCONF_CONNECTED_TO_GATE: If set to true then this mesh STA
|
||||||
|
* will advertise that it is connected to a gate in the mesh formation
|
||||||
|
* field. If left unset then the mesh formation field will only
|
||||||
|
* advertise such if there is an active root mesh path.
|
||||||
|
*
|
||||||
* @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
|
* @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
|
||||||
*/
|
*/
|
||||||
enum nl80211_meshconf_params {
|
enum nl80211_meshconf_params {
|
||||||
|
@ -3902,6 +3984,7 @@ enum nl80211_meshconf_params {
|
||||||
NL80211_MESHCONF_POWER_MODE,
|
NL80211_MESHCONF_POWER_MODE,
|
||||||
NL80211_MESHCONF_AWAKE_WINDOW,
|
NL80211_MESHCONF_AWAKE_WINDOW,
|
||||||
NL80211_MESHCONF_PLINK_TIMEOUT,
|
NL80211_MESHCONF_PLINK_TIMEOUT,
|
||||||
|
NL80211_MESHCONF_CONNECTED_TO_GATE,
|
||||||
|
|
||||||
/* keep last */
|
/* keep last */
|
||||||
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
||||||
|
@ -4834,7 +4917,7 @@ enum nl80211_iface_limit_attrs {
|
||||||
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
|
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
|
||||||
* => allows a STA plus three P2P interfaces
|
* => allows a STA plus three P2P interfaces
|
||||||
*
|
*
|
||||||
* The list of these four possiblities could completely be contained
|
* The list of these four possibilities could completely be contained
|
||||||
* within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate
|
* within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate
|
||||||
* that any of these groups must match.
|
* that any of these groups must match.
|
||||||
*
|
*
|
||||||
|
@ -4864,7 +4947,7 @@ enum nl80211_if_combination_attrs {
|
||||||
* enum nl80211_plink_state - state of a mesh peer link finite state machine
|
* enum nl80211_plink_state - state of a mesh peer link finite state machine
|
||||||
*
|
*
|
||||||
* @NL80211_PLINK_LISTEN: initial state, considered the implicit
|
* @NL80211_PLINK_LISTEN: initial state, considered the implicit
|
||||||
* state of non existant mesh peer links
|
* state of non existent mesh peer links
|
||||||
* @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to
|
* @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to
|
||||||
* this mesh peer
|
* this mesh peer
|
||||||
* @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received
|
* @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received
|
||||||
|
@ -5225,6 +5308,13 @@ enum nl80211_feature_flags {
|
||||||
* @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data
|
* @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data
|
||||||
* except for supported rates from the probe request content if requested
|
* except for supported rates from the probe request content if requested
|
||||||
* by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag.
|
* by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag.
|
||||||
|
* @NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER: Driver supports enabling fine
|
||||||
|
* timing measurement responder role.
|
||||||
|
*
|
||||||
|
* @NL80211_EXT_FEATURE_CAN_REPLACE_PTK0: Driver/device confirm that they are
|
||||||
|
* able to rekey an in-use key correctly. Userspace must not rekey PTK keys
|
||||||
|
* if this flag is not set. Ignoring this can leak clear text packets and/or
|
||||||
|
* freeze the connection.
|
||||||
*
|
*
|
||||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||||
|
@ -5263,6 +5353,8 @@ enum nl80211_ext_feature_index {
|
||||||
NL80211_EXT_FEATURE_TXQS,
|
NL80211_EXT_FEATURE_TXQS,
|
||||||
NL80211_EXT_FEATURE_SCAN_RANDOM_SN,
|
NL80211_EXT_FEATURE_SCAN_RANDOM_SN,
|
||||||
NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
||||||
|
NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
|
||||||
|
NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
|
||||||
|
|
||||||
/* add new features before the definition below */
|
/* add new features before the definition below */
|
||||||
NUM_NL80211_EXT_FEATURES,
|
NUM_NL80211_EXT_FEATURES,
|
||||||
|
@ -5347,7 +5439,7 @@ enum nl80211_timeout_reason {
|
||||||
* request parameters IE in the probe request
|
* request parameters IE in the probe request
|
||||||
* @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses
|
* @NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: accept broadcast probe responses
|
||||||
* @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at
|
* @NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: send probe request frames at
|
||||||
* rate of at least 5.5M. In case non OCE AP is dicovered in the channel,
|
* rate of at least 5.5M. In case non OCE AP is discovered in the channel,
|
||||||
* only the first probe req in the channel will be sent in high rate.
|
* only the first probe req in the channel will be sent in high rate.
|
||||||
* @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request
|
* @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request
|
||||||
* tx deferral (dot11FILSProbeDelay shall be set to 15ms)
|
* tx deferral (dot11FILSProbeDelay shall be set to 15ms)
|
||||||
|
@ -5802,4 +5894,458 @@ enum nl80211_external_auth_action {
|
||||||
NL80211_EXTERNAL_AUTH_ABORT,
|
NL80211_EXTERNAL_AUTH_ABORT,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_ftm_responder_attributes - fine timing measurement
|
||||||
|
* responder attributes
|
||||||
|
* @__NL80211_FTM_RESP_ATTR_INVALID: Invalid
|
||||||
|
* @NL80211_FTM_RESP_ATTR_ENABLED: FTM responder is enabled
|
||||||
|
* @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element
|
||||||
|
* (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10),
|
||||||
|
* i.e. starting with the measurement token
|
||||||
|
* @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element
|
||||||
|
* (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13),
|
||||||
|
* i.e. starting with the measurement token
|
||||||
|
* @__NL80211_FTM_RESP_ATTR_LAST: Internal
|
||||||
|
* @NL80211_FTM_RESP_ATTR_MAX: highest FTM responder attribute.
|
||||||
|
*/
|
||||||
|
enum nl80211_ftm_responder_attributes {
|
||||||
|
__NL80211_FTM_RESP_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_FTM_RESP_ATTR_ENABLED,
|
||||||
|
NL80211_FTM_RESP_ATTR_LCI,
|
||||||
|
NL80211_FTM_RESP_ATTR_CIVICLOC,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
__NL80211_FTM_RESP_ATTR_LAST,
|
||||||
|
NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* enum nl80211_ftm_responder_stats - FTM responder statistics
|
||||||
|
*
|
||||||
|
* These attribute types are used with %NL80211_ATTR_FTM_RESPONDER_STATS
|
||||||
|
* when getting FTM responder statistics.
|
||||||
|
*
|
||||||
|
* @__NL80211_FTM_STATS_INVALID: attribute number 0 is reserved
|
||||||
|
* @NL80211_FTM_STATS_SUCCESS_NUM: number of FTM sessions in which all frames
|
||||||
|
* were ssfully answered (u32)
|
||||||
|
* @NL80211_FTM_STATS_PARTIAL_NUM: number of FTM sessions in which part of the
|
||||||
|
* frames were successfully answered (u32)
|
||||||
|
* @NL80211_FTM_STATS_FAILED_NUM: number of failed FTM sessions (u32)
|
||||||
|
* @NL80211_FTM_STATS_ASAP_NUM: number of ASAP sessions (u32)
|
||||||
|
* @NL80211_FTM_STATS_NON_ASAP_NUM: number of non-ASAP sessions (u32)
|
||||||
|
* @NL80211_FTM_STATS_TOTAL_DURATION_MSEC: total sessions durations - gives an
|
||||||
|
* indication of how much time the responder was busy (u64, msec)
|
||||||
|
* @NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM: number of unknown FTM triggers -
|
||||||
|
* triggers from initiators that didn't finish successfully the negotiation
|
||||||
|
* phase with the responder (u32)
|
||||||
|
* @NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM: number of FTM reschedule requests
|
||||||
|
* - initiator asks for a new scheduling although it already has scheduled
|
||||||
|
* FTM slot (u32)
|
||||||
|
* @NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM: number of FTM triggers out of
|
||||||
|
* scheduled window (u32)
|
||||||
|
* @NL80211_FTM_STATS_PAD: used for padding, ignore
|
||||||
|
* @__NL80211_TXQ_ATTR_AFTER_LAST: Internal
|
||||||
|
* @NL80211_FTM_STATS_MAX: highest possible FTM responder stats attribute
|
||||||
|
*/
|
||||||
|
enum nl80211_ftm_responder_stats {
|
||||||
|
__NL80211_FTM_STATS_INVALID,
|
||||||
|
NL80211_FTM_STATS_SUCCESS_NUM,
|
||||||
|
NL80211_FTM_STATS_PARTIAL_NUM,
|
||||||
|
NL80211_FTM_STATS_FAILED_NUM,
|
||||||
|
NL80211_FTM_STATS_ASAP_NUM,
|
||||||
|
NL80211_FTM_STATS_NON_ASAP_NUM,
|
||||||
|
NL80211_FTM_STATS_TOTAL_DURATION_MSEC,
|
||||||
|
NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM,
|
||||||
|
NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM,
|
||||||
|
NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM,
|
||||||
|
NL80211_FTM_STATS_PAD,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
__NL80211_FTM_STATS_AFTER_LAST,
|
||||||
|
NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_preamble - frame preamble types
|
||||||
|
* @NL80211_PREAMBLE_LEGACY: legacy (HR/DSSS, OFDM, ERP PHY) preamble
|
||||||
|
* @NL80211_PREAMBLE_HT: HT preamble
|
||||||
|
* @NL80211_PREAMBLE_VHT: VHT preamble
|
||||||
|
* @NL80211_PREAMBLE_DMG: DMG preamble
|
||||||
|
*/
|
||||||
|
enum nl80211_preamble {
|
||||||
|
NL80211_PREAMBLE_LEGACY,
|
||||||
|
NL80211_PREAMBLE_HT,
|
||||||
|
NL80211_PREAMBLE_VHT,
|
||||||
|
NL80211_PREAMBLE_DMG,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_type - peer measurement types
|
||||||
|
* @NL80211_PMSR_TYPE_INVALID: invalid/unused, needed as we use
|
||||||
|
* these numbers also for attributes
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_TYPE_FTM: flight time measurement
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_TYPES: internal
|
||||||
|
* @NL80211_PMSR_TYPE_MAX: highest type number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_type {
|
||||||
|
NL80211_PMSR_TYPE_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_TYPE_FTM,
|
||||||
|
|
||||||
|
NUM_NL80211_PMSR_TYPES,
|
||||||
|
NL80211_PMSR_TYPE_MAX = NUM_NL80211_PMSR_TYPES - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_status - peer measurement status
|
||||||
|
* @NL80211_PMSR_STATUS_SUCCESS: measurement completed successfully
|
||||||
|
* @NL80211_PMSR_STATUS_REFUSED: measurement was locally refused
|
||||||
|
* @NL80211_PMSR_STATUS_TIMEOUT: measurement timed out
|
||||||
|
* @NL80211_PMSR_STATUS_FAILURE: measurement failed, a type-dependent
|
||||||
|
* reason may be available in the response data
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_status {
|
||||||
|
NL80211_PMSR_STATUS_SUCCESS,
|
||||||
|
NL80211_PMSR_STATUS_REFUSED,
|
||||||
|
NL80211_PMSR_STATUS_TIMEOUT,
|
||||||
|
NL80211_PMSR_STATUS_FAILURE,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_req - peer measurement request attributes
|
||||||
|
* @__NL80211_PMSR_REQ_ATTR_INVALID: invalid
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_REQ_ATTR_DATA: This is a nested attribute with measurement
|
||||||
|
* type-specific request data inside. The attributes used are from the
|
||||||
|
* enums named nl80211_peer_measurement_<type>_req.
|
||||||
|
* @NL80211_PMSR_REQ_ATTR_GET_AP_TSF: include AP TSF timestamp, if supported
|
||||||
|
* (flag attribute)
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_REQ_ATTRS: internal
|
||||||
|
* @NL80211_PMSR_REQ_ATTR_MAX: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_req {
|
||||||
|
__NL80211_PMSR_REQ_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_REQ_ATTR_DATA,
|
||||||
|
NL80211_PMSR_REQ_ATTR_GET_AP_TSF,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_PMSR_REQ_ATTRS,
|
||||||
|
NL80211_PMSR_REQ_ATTR_MAX = NUM_NL80211_PMSR_REQ_ATTRS - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_resp - peer measurement response attributes
|
||||||
|
* @__NL80211_PMSR_RESP_ATTR_INVALID: invalid
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_RESP_ATTR_DATA: This is a nested attribute with measurement
|
||||||
|
* type-specific results inside. The attributes used are from the enums
|
||||||
|
* named nl80211_peer_measurement_<type>_resp.
|
||||||
|
* @NL80211_PMSR_RESP_ATTR_STATUS: u32 value with the measurement status
|
||||||
|
* (using values from &enum nl80211_peer_measurement_status.)
|
||||||
|
* @NL80211_PMSR_RESP_ATTR_HOST_TIME: host time (%CLOCK_BOOTTIME) when the
|
||||||
|
* result was measured; this value is not expected to be accurate to
|
||||||
|
* more than 20ms. (u64, nanoseconds)
|
||||||
|
* @NL80211_PMSR_RESP_ATTR_AP_TSF: TSF of the AP that the interface
|
||||||
|
* doing the measurement is connected to when the result was measured.
|
||||||
|
* This shall be accurately reported if supported and requested
|
||||||
|
* (u64, usec)
|
||||||
|
* @NL80211_PMSR_RESP_ATTR_FINAL: If results are sent to the host partially
|
||||||
|
* (*e.g. with FTM per-burst data) this flag will be cleared on all but
|
||||||
|
* the last result; if all results are combined it's set on the single
|
||||||
|
* result.
|
||||||
|
* @NL80211_PMSR_RESP_ATTR_PAD: padding for 64-bit attributes, ignore
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_RESP_ATTRS: internal
|
||||||
|
* @NL80211_PMSR_RESP_ATTR_MAX: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_resp {
|
||||||
|
__NL80211_PMSR_RESP_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_RESP_ATTR_DATA,
|
||||||
|
NL80211_PMSR_RESP_ATTR_STATUS,
|
||||||
|
NL80211_PMSR_RESP_ATTR_HOST_TIME,
|
||||||
|
NL80211_PMSR_RESP_ATTR_AP_TSF,
|
||||||
|
NL80211_PMSR_RESP_ATTR_FINAL,
|
||||||
|
NL80211_PMSR_RESP_ATTR_PAD,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_PMSR_RESP_ATTRS,
|
||||||
|
NL80211_PMSR_RESP_ATTR_MAX = NUM_NL80211_PMSR_RESP_ATTRS - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_peer_attrs - peer attributes for measurement
|
||||||
|
* @__NL80211_PMSR_PEER_ATTR_INVALID: invalid
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_PEER_ATTR_ADDR: peer's MAC address
|
||||||
|
* @NL80211_PMSR_PEER_ATTR_CHAN: channel definition, nested, using top-level
|
||||||
|
* attributes like %NL80211_ATTR_WIPHY_FREQ etc.
|
||||||
|
* @NL80211_PMSR_PEER_ATTR_REQ: This is a nested attribute indexed by
|
||||||
|
* measurement type, with attributes from the
|
||||||
|
* &enum nl80211_peer_measurement_req inside.
|
||||||
|
* @NL80211_PMSR_PEER_ATTR_RESP: This is a nested attribute indexed by
|
||||||
|
* measurement type, with attributes from the
|
||||||
|
* &enum nl80211_peer_measurement_resp inside.
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_PEER_ATTRS: internal
|
||||||
|
* @NL80211_PMSR_PEER_ATTR_MAX: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_peer_attrs {
|
||||||
|
__NL80211_PMSR_PEER_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_PEER_ATTR_ADDR,
|
||||||
|
NL80211_PMSR_PEER_ATTR_CHAN,
|
||||||
|
NL80211_PMSR_PEER_ATTR_REQ,
|
||||||
|
NL80211_PMSR_PEER_ATTR_RESP,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_PMSR_PEER_ATTRS,
|
||||||
|
NL80211_PMSR_PEER_ATTR_MAX = NUM_NL80211_PMSR_PEER_ATTRS - 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_attrs - peer measurement attributes
|
||||||
|
* @__NL80211_PMSR_ATTR_INVALID: invalid
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_ATTR_MAX_PEERS: u32 attribute used for capability
|
||||||
|
* advertisement only, indicates the maximum number of peers
|
||||||
|
* measurements can be done with in a single request
|
||||||
|
* @NL80211_PMSR_ATTR_REPORT_AP_TSF: flag attribute in capability
|
||||||
|
* indicating that the connected AP's TSF can be reported in
|
||||||
|
* measurement results
|
||||||
|
* @NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR: flag attribute in capability
|
||||||
|
* indicating that MAC address randomization is supported.
|
||||||
|
* @NL80211_PMSR_ATTR_TYPE_CAPA: capabilities reported by the device,
|
||||||
|
* this contains a nesting indexed by measurement type, and
|
||||||
|
* type-specific capabilities inside, which are from the enums
|
||||||
|
* named nl80211_peer_measurement_<type>_capa.
|
||||||
|
* @NL80211_PMSR_ATTR_PEERS: nested attribute, the nesting index is
|
||||||
|
* meaningless, just a list of peers to measure with, with the
|
||||||
|
* sub-attributes taken from
|
||||||
|
* &enum nl80211_peer_measurement_peer_attrs.
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_ATTR: internal
|
||||||
|
* @NL80211_PMSR_ATTR_MAX: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_attrs {
|
||||||
|
__NL80211_PMSR_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_ATTR_MAX_PEERS,
|
||||||
|
NL80211_PMSR_ATTR_REPORT_AP_TSF,
|
||||||
|
NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR,
|
||||||
|
NL80211_PMSR_ATTR_TYPE_CAPA,
|
||||||
|
NL80211_PMSR_ATTR_PEERS,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_PMSR_ATTR,
|
||||||
|
NL80211_PMSR_ATTR_MAX = NUM_NL80211_PMSR_ATTR - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_ftm_capa - FTM capabilities
|
||||||
|
* @__NL80211_PMSR_FTM_CAPA_ATTR_INVALID: invalid
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_ASAP: flag attribute indicating ASAP mode
|
||||||
|
* is supported
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP: flag attribute indicating non-ASAP
|
||||||
|
* mode is supported
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI: flag attribute indicating if LCI
|
||||||
|
* data can be requested during the measurement
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC: flag attribute indicating if civic
|
||||||
|
* location data can be requested during the measurement
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES: u32 bitmap attribute of bits
|
||||||
|
* from &enum nl80211_preamble.
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS: bitmap of values from
|
||||||
|
* &enum nl80211_chan_width indicating the supported channel
|
||||||
|
* bandwidths for FTM. Note that a higher channel bandwidth may be
|
||||||
|
* configured to allow for other measurements types with different
|
||||||
|
* bandwidth requirement in the same measurement.
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT: u32 attribute indicating
|
||||||
|
* the maximum bursts exponent that can be used (if not present anything
|
||||||
|
* is valid)
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST: u32 attribute indicating
|
||||||
|
* the maximum FTMs per burst (if not present anything is valid)
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_FTM_CAPA_ATTR: internal
|
||||||
|
* @NL80211_PMSR_FTM_CAPA_ATTR_MAX: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_ftm_capa {
|
||||||
|
__NL80211_PMSR_FTM_CAPA_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_ASAP,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_PMSR_FTM_CAPA_ATTR,
|
||||||
|
NL80211_PMSR_FTM_CAPA_ATTR_MAX = NUM_NL80211_PMSR_FTM_CAPA_ATTR - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_ftm_req - FTM request attributes
|
||||||
|
* @__NL80211_PMSR_FTM_REQ_ATTR_INVALID: invalid
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_ASAP: ASAP mode requested (flag)
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE: preamble type (see
|
||||||
|
* &enum nl80211_preamble), optional for DMG (u32)
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP: number of bursts exponent as in
|
||||||
|
* 802.11-2016 9.4.2.168 "Fine Timing Measurement Parameters element"
|
||||||
|
* (u8, 0-15, optional with default 15 i.e. "no preference")
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD: interval between bursts in units
|
||||||
|
* of 100ms (u16, optional with default 0)
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION: burst duration, as in 802.11-2016
|
||||||
|
* Table 9-257 "Burst Duration field encoding" (u8, 0-15, optional with
|
||||||
|
* default 15 i.e. "no preference")
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST: number of successful FTM frames
|
||||||
|
* requested per burst
|
||||||
|
* (u8, 0-31, optional with default 0 i.e. "no preference")
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES: number of FTMR frame retries
|
||||||
|
* (u8, default 3)
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI: request LCI data (flag)
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC: request civic location data
|
||||||
|
* (flag)
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
|
||||||
|
* @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_ftm_req {
|
||||||
|
__NL80211_PMSR_FTM_REQ_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_ASAP,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_PMSR_FTM_REQ_ATTR,
|
||||||
|
NL80211_PMSR_FTM_REQ_ATTR_MAX = NUM_NL80211_PMSR_FTM_REQ_ATTR - 1
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_ftm_failure_reasons - FTM failure reasons
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_UNSPECIFIED: unspecified failure, not used
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_NO_RESPONSE: no response from the FTM responder
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_REJECTED: FTM responder rejected measurement
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL: we already know the peer is
|
||||||
|
* on a different channel, so can't measure (if we didn't know, we'd
|
||||||
|
* try and get no response)
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE: peer can't actually do FTM
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP: invalid T1/T4 timestamps
|
||||||
|
* received
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_PEER_BUSY: peer reports busy, you may retry
|
||||||
|
* later (see %NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME)
|
||||||
|
* @NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS: parameters were changed
|
||||||
|
* by the peer and are no longer supported
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_ftm_failure_reasons {
|
||||||
|
NL80211_PMSR_FTM_FAILURE_UNSPECIFIED,
|
||||||
|
NL80211_PMSR_FTM_FAILURE_NO_RESPONSE,
|
||||||
|
NL80211_PMSR_FTM_FAILURE_REJECTED,
|
||||||
|
NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL,
|
||||||
|
NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE,
|
||||||
|
NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP,
|
||||||
|
NL80211_PMSR_FTM_FAILURE_PEER_BUSY,
|
||||||
|
NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum nl80211_peer_measurement_ftm_resp - FTM response attributes
|
||||||
|
* @__NL80211_PMSR_FTM_RESP_ATTR_INVALID: invalid
|
||||||
|
*
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON: FTM-specific failure reason
|
||||||
|
* (u32, optional)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX: optional, if bursts are reported
|
||||||
|
* as separate results then it will be the burst index 0...(N-1) and
|
||||||
|
* the top level will indicate partial results (u32)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS: number of FTM Request frames
|
||||||
|
* transmitted (u32, optional)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES: number of FTM Request frames
|
||||||
|
* that were acknowleged (u32, optional)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME: retry time received from the
|
||||||
|
* busy peer (u32, seconds)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP: actual number of bursts exponent
|
||||||
|
* used by the responder (similar to request, u8)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION: actual burst duration used by
|
||||||
|
* the responder (similar to request, u8)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST: actual FTMs per burst used
|
||||||
|
* by the responder (similar to request, u8)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG: average RSSI across all FTM action
|
||||||
|
* frames (optional, s32, 1/2 dBm)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD: RSSI spread across all FTM action
|
||||||
|
* frames (optional, s32, 1/2 dBm)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_TX_RATE: bitrate we used for the response to the
|
||||||
|
* FTM action frame (optional, nested, using &enum nl80211_rate_info
|
||||||
|
* attributes)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_RX_RATE: bitrate the responder used for the FTM
|
||||||
|
* action frame (optional, nested, using &enum nl80211_rate_info attrs)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG: average RTT (s64, picoseconds, optional
|
||||||
|
* but one of RTT/DIST must be present)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE: RTT variance (u64, ps^2, note that
|
||||||
|
* standard deviation is the square root of variance, optional)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD: RTT spread (u64, picoseconds,
|
||||||
|
* optional)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG: average distance (s64, mm, optional
|
||||||
|
* but one of RTT/DIST must be present)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE: distance variance (u64, mm^2, note
|
||||||
|
* that standard deviation is the square root of variance, optional)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD: distance spread (u64, mm, optional)
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_LCI: LCI data from peer (binary, optional);
|
||||||
|
* this is the contents of the Measurement Report Element (802.11-2016
|
||||||
|
* 9.4.2.22.1) starting with the Measurement Token, with Measurement
|
||||||
|
* Type 8.
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC: civic location data from peer
|
||||||
|
* (binary, optional);
|
||||||
|
* this is the contents of the Measurement Report Element (802.11-2016
|
||||||
|
* 9.4.2.22.1) starting with the Measurement Token, with Measurement
|
||||||
|
* Type 11.
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_PAD: ignore, for u64/s64 padding only
|
||||||
|
*
|
||||||
|
* @NUM_NL80211_PMSR_FTM_RESP_ATTR: internal
|
||||||
|
* @NL80211_PMSR_FTM_RESP_ATTR_MAX: highest attribute number
|
||||||
|
*/
|
||||||
|
enum nl80211_peer_measurement_ftm_resp {
|
||||||
|
__NL80211_PMSR_FTM_RESP_ATTR_INVALID,
|
||||||
|
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_TX_RATE,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_RX_RATE,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_LCI,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_PAD,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
NUM_NL80211_PMSR_FTM_RESP_ATTR,
|
||||||
|
NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* __LINUX_NL80211_H */
|
#endif /* __LINUX_NL80211_H */
|
||||||
|
|
Loading…
Reference in a new issue