mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-21 22:09:23 +01:00
nl80211: Update to the latest mac80211-next version
This commit is contained in:
parent
5667227020
commit
42954e98ae
674
linux/nl80211.h
674
linux/nl80211.h
@ -11,7 +11,7 @@
|
||||
* Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
|
||||
* Copyright 2008 Colin McCabe <colin@cozybit.com>
|
||||
* Copyright 2015-2017 Intel Deutschland GmbH
|
||||
* Copyright (C) 2018 Intel Corporation
|
||||
* Copyright (C) 2018-2019 Intel Corporation
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@ -52,6 +52,11 @@
|
||||
#define NL80211_MULTICAST_GROUP_NAN "nan"
|
||||
#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
|
||||
|
||||
#define NL80211_EDMG_BW_CONFIG_MIN 4
|
||||
#define NL80211_EDMG_BW_CONFIG_MAX 15
|
||||
#define NL80211_EDMG_CHANNELS_MIN 1
|
||||
#define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */
|
||||
|
||||
/**
|
||||
* DOC: Station handling
|
||||
*
|
||||
@ -234,6 +239,15 @@
|
||||
* use in a FILS shared key connection with PMKSA caching.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC: SAE authentication offload
|
||||
*
|
||||
* By setting @NL80211_EXT_FEATURE_SAE_OFFLOAD flag drivers can indicate they
|
||||
* support offloading SAE authentication for WPA3-Personal networks. In
|
||||
* %NL80211_CMD_CONNECT the password for SAE should be specified using
|
||||
* %NL80211_ATTR_SAE_PASSWORD.
|
||||
*/
|
||||
|
||||
/**
|
||||
* enum nl80211_commands - supported nl80211 commands
|
||||
*
|
||||
@ -648,7 +662,9 @@
|
||||
* is used during CSA period.
|
||||
* @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
|
||||
* command may be used with the corresponding cookie to cancel the wait
|
||||
* time if it is known that it is no longer necessary.
|
||||
* time if it is known that it is no longer necessary. This command is
|
||||
* also sent as an event whenever the driver has completed the off-channel
|
||||
* wait time.
|
||||
* @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
|
||||
* @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
|
||||
* transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
|
||||
@ -1036,6 +1052,55 @@
|
||||
* @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_UPDATE_OWE_INFO: This interface allows the host driver to
|
||||
* offload OWE processing to user space. This intends to support
|
||||
* OWE AKM by the host drivers that implement SME but rely
|
||||
* on the user space for the cryptographic/DH IE processing in AP mode.
|
||||
*
|
||||
* @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric
|
||||
* refreshing, is that from one mesh point we be able to send some data
|
||||
* frames to other mesh points which are not currently selected as a
|
||||
* primary traffic path, but which are only 1 hop away. The absence of
|
||||
* the primary path to the chosen node makes it necessary to apply some
|
||||
* form of marking on a chosen packet stream so that the packets can be
|
||||
* properly steered to the selected node for testing, and not by the
|
||||
* regular mesh path lookup. Further, the packets must be of type data
|
||||
* so that the rate control (often embedded in firmware) is used for
|
||||
* rate selection.
|
||||
*
|
||||
* Here attribute %NL80211_ATTR_MAC is used to specify connected mesh
|
||||
* peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
|
||||
* content. The frame is ethernet data.
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
@ -1250,6 +1315,16 @@ enum nl80211_commands {
|
||||
|
||||
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,
|
||||
|
||||
NL80211_CMD_UPDATE_OWE_INFO,
|
||||
|
||||
NL80211_CMD_PROBE_MESH_LINK,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@ -1530,6 +1605,12 @@ enum nl80211_commands {
|
||||
* (a u32 with flags from &enum nl80211_wpa_versions).
|
||||
* @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
|
||||
* indicate which key management algorithm(s) to use (an array of u32).
|
||||
* This attribute is also sent in response to @NL80211_CMD_GET_WIPHY,
|
||||
* indicating the supported AKM suites, intended for specific drivers which
|
||||
* implement SME and have constraints on which AKMs are supported and also
|
||||
* the cases where an AKM support is offloaded to the driver/firmware.
|
||||
* If there is no such notification from the driver, user space should
|
||||
* assume the driver supports all the AKM suites.
|
||||
*
|
||||
* @NL80211_ATTR_REQ_IE: (Re)association request information elements as
|
||||
* sent out by the card, for ROAM and successful CONNECT events.
|
||||
@ -1706,7 +1787,7 @@ enum nl80211_commands {
|
||||
* the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
|
||||
* is included in the probe request, but the match attributes
|
||||
* 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
|
||||
* interface combinations. In each nested item, it contains attributes
|
||||
@ -1811,7 +1892,7 @@ enum nl80211_commands {
|
||||
*
|
||||
* @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
|
||||
* 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
|
||||
* capability to timeout the stations.
|
||||
*
|
||||
@ -2172,7 +2253,7 @@ enum nl80211_commands {
|
||||
*
|
||||
* @NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: When present the RSSI level for BSSs in
|
||||
* 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
|
||||
* value as specified by &struct nl80211_bss_select_rssi_adjust.
|
||||
*
|
||||
@ -2226,9 +2307,9 @@ enum nl80211_commands {
|
||||
* %NL80211_CMD_EXTERNAL_AUTH request event.
|
||||
* @NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: Flag attribute indicating that the user
|
||||
* space supports external authentication. This attribute shall be used
|
||||
* only with %NL80211_CMD_CONNECT request. The driver may offload
|
||||
* authentication processing to user space if this capability is indicated
|
||||
* in NL80211_CMD_CONNECT requests from the user space.
|
||||
* with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver
|
||||
* may offload authentication processing to user space if this capability
|
||||
* is indicated in the respective requests from the user space.
|
||||
*
|
||||
* @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this
|
||||
* u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED.
|
||||
@ -2254,6 +2335,44 @@ enum nl80211_commands {
|
||||
* @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.
|
||||
*
|
||||
* @NL80211_ATTR_AIRTIME_WEIGHT: Station's weight when scheduled by the airtime
|
||||
* scheduler.
|
||||
*
|
||||
* @NL80211_ATTR_STA_TX_POWER_SETTING: Transmit power setting type (u8) for
|
||||
* station associated with the AP. See &enum nl80211_tx_power_setting for
|
||||
* possible values.
|
||||
* @NL80211_ATTR_STA_TX_POWER: Transmit power level (s16) in dBm units. This
|
||||
* allows to set Tx power for a station. If this attribute is not included,
|
||||
* the default per-interface tx power setting will be overriding. Driver
|
||||
* should be picking up the lowest tx power, either tx power per-interface
|
||||
* or per-station.
|
||||
*
|
||||
* @NL80211_ATTR_SAE_PASSWORD: attribute for passing SAE password material. It
|
||||
* is used with %NL80211_CMD_CONNECT to provide password for offloading
|
||||
* SAE authentication for WPA3-Personal networks.
|
||||
*
|
||||
* @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
|
||||
*
|
||||
* @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
|
||||
* functionality.
|
||||
*
|
||||
* @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
|
||||
* channel(s) that are allowed to be used for EDMG transmissions.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
|
||||
* @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
|
||||
* the allowed channel bandwidth configurations. (u8 attribute)
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@ -2699,6 +2818,23 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_FTM_RESPONDER_STATS,
|
||||
|
||||
NL80211_ATTR_TIMEOUT,
|
||||
|
||||
NL80211_ATTR_PEER_MEASUREMENTS,
|
||||
|
||||
NL80211_ATTR_AIRTIME_WEIGHT,
|
||||
NL80211_ATTR_STA_TX_POWER_SETTING,
|
||||
NL80211_ATTR_STA_TX_POWER,
|
||||
|
||||
NL80211_ATTR_SAE_PASSWORD,
|
||||
|
||||
NL80211_ATTR_TWT_RESPONDER,
|
||||
|
||||
NL80211_ATTR_HE_OBSS_PD,
|
||||
|
||||
NL80211_ATTR_WIPHY_EDMG_CHANNELS,
|
||||
NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@ -2742,14 +2878,14 @@ enum nl80211_attrs {
|
||||
|
||||
#define NL80211_MAX_SUPP_RATES 32
|
||||
#define NL80211_MAX_SUPP_HT_RATES 77
|
||||
#define NL80211_MAX_SUPP_REG_RULES 64
|
||||
#define NL80211_MAX_SUPP_REG_RULES 128
|
||||
#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
|
||||
#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
|
||||
#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
|
||||
#define NL80211_HT_CAPABILITY_LEN 26
|
||||
#define NL80211_VHT_CAPABILITY_LEN 12
|
||||
#define NL80211_HE_MIN_CAPABILITY_LEN 16
|
||||
#define NL80211_HE_MAX_CAPABILITY_LEN 51
|
||||
#define NL80211_HE_MAX_CAPABILITY_LEN 54
|
||||
#define NL80211_MAX_NR_CIPHER_SUITES 5
|
||||
#define NL80211_MAX_NR_AKM_SUITES 2
|
||||
|
||||
@ -3074,6 +3210,14 @@ enum nl80211_sta_bss_param {
|
||||
* 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_TX_DURATION: aggregate PPDU duration for all frames
|
||||
* sent to the station (u64, usec)
|
||||
* @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
|
||||
* @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
|
||||
* @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
|
||||
* of STA's association
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
@ -3116,6 +3260,11 @@ enum nl80211_sta_info {
|
||||
NL80211_STA_INFO_ACK_SIGNAL_AVG,
|
||||
NL80211_STA_INFO_RX_MPDUS,
|
||||
NL80211_STA_INFO_FCS_ERROR_COUNT,
|
||||
NL80211_STA_INFO_CONNECTED_TO_GATE,
|
||||
NL80211_STA_INFO_TX_DURATION,
|
||||
NL80211_STA_INFO_AIRTIME_WEIGHT,
|
||||
NL80211_STA_INFO_AIRTIME_LINK_METRIC,
|
||||
NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
@ -3225,8 +3374,10 @@ enum nl80211_mpath_flags {
|
||||
* &enum nl80211_mpath_flags;
|
||||
* @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
|
||||
* @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
|
||||
* @NL80211_MPATH_INFO_HOP_COUNT: hop count to destination
|
||||
* @NL80211_MPATH_INFO_PATH_CHANGE: total number of path changes to destination
|
||||
* @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
|
||||
* currently defind
|
||||
* currently defined
|
||||
* @__NL80211_MPATH_INFO_AFTER_LAST: internal use
|
||||
*/
|
||||
enum nl80211_mpath_info {
|
||||
@ -3238,6 +3389,8 @@ enum nl80211_mpath_info {
|
||||
NL80211_MPATH_INFO_FLAGS,
|
||||
NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
|
||||
NL80211_MPATH_INFO_DISCOVERY_RETRIES,
|
||||
NL80211_MPATH_INFO_HOP_COUNT,
|
||||
NL80211_MPATH_INFO_PATH_CHANGE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MPATH_INFO_AFTER_LAST,
|
||||
@ -3293,6 +3446,12 @@ enum nl80211_band_iftype_attr {
|
||||
* @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
|
||||
* @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
|
||||
* attributes from &enum nl80211_band_iftype_attr
|
||||
* @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
|
||||
* channel(s) that are allowed to be used for EDMG transmissions.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
|
||||
* @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
|
||||
* the allowed channel bandwidth configurations.
|
||||
* Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
|
||||
* @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
|
||||
* @__NL80211_BAND_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
@ -3310,6 +3469,9 @@ enum nl80211_band_attr {
|
||||
NL80211_BAND_ATTR_VHT_CAPA,
|
||||
NL80211_BAND_ATTR_IFTYPE_DATA,
|
||||
|
||||
NL80211_BAND_ATTR_EDMG_CHANNELS,
|
||||
NL80211_BAND_ATTR_EDMG_BW_CONFIG,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_BAND_ATTR_AFTER_LAST,
|
||||
NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
|
||||
@ -3566,6 +3728,14 @@ enum nl80211_reg_rule_attr {
|
||||
* value as specified by &struct nl80211_bss_select_rssi_adjust.
|
||||
* @NL80211_SCHED_SCAN_MATCH_ATTR_BSSID: BSSID to be used for matching
|
||||
* (this cannot be used together with SSID).
|
||||
* @NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI: Nested attribute that carries the
|
||||
* band specific minimum rssi thresholds for the bands defined in
|
||||
* enum nl80211_band. The minimum rssi threshold value(s32) specific to a
|
||||
* band shall be encapsulated in attribute with type value equals to one
|
||||
* of the NL80211_BAND_* defined in enum nl80211_band. For example, the
|
||||
* minimum rssi threshold value for 2.4GHZ band shall be encapsulated
|
||||
* within an attribute of type NL80211_BAND_2GHZ. And one or more of such
|
||||
* attributes will be nested within this attribute.
|
||||
* @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
|
||||
* attribute number currently defined
|
||||
* @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
|
||||
@ -3578,6 +3748,7 @@ enum nl80211_sched_scan_match_attr {
|
||||
NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI,
|
||||
NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST,
|
||||
NL80211_SCHED_SCAN_MATCH_ATTR_BSSID,
|
||||
NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
|
||||
@ -3895,6 +4066,11 @@ enum nl80211_mesh_power_mode {
|
||||
* 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.
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
enum nl80211_meshconf_params {
|
||||
@ -3927,6 +4103,7 @@ enum nl80211_meshconf_params {
|
||||
NL80211_MESHCONF_POWER_MODE,
|
||||
NL80211_MESHCONF_AWAKE_WINDOW,
|
||||
NL80211_MESHCONF_PLINK_TIMEOUT,
|
||||
NL80211_MESHCONF_CONNECTED_TO_GATE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_MESHCONF_ATTR_AFTER_LAST,
|
||||
@ -4056,6 +4233,27 @@ enum nl80211_channel_type {
|
||||
NL80211_CHAN_HT40PLUS
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_key_mode - Key mode
|
||||
*
|
||||
* @NL80211_KEY_RX_TX: (Default)
|
||||
* Key can be used for Rx and Tx immediately
|
||||
*
|
||||
* The following modes can only be selected for unicast keys and when the
|
||||
* driver supports @NL80211_EXT_FEATURE_EXT_KEY_ID:
|
||||
*
|
||||
* @NL80211_KEY_NO_TX: Only allowed in combination with @NL80211_CMD_NEW_KEY:
|
||||
* Unicast key can only be used for Rx, Tx not allowed, yet
|
||||
* @NL80211_KEY_SET_TX: Only allowed in combination with @NL80211_CMD_SET_KEY:
|
||||
* The unicast key identified by idx and mac is cleared for Tx and becomes
|
||||
* the preferred Tx key for the station.
|
||||
*/
|
||||
enum nl80211_key_mode {
|
||||
NL80211_KEY_RX_TX,
|
||||
NL80211_KEY_NO_TX,
|
||||
NL80211_KEY_SET_TX
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_chan_width - channel width definitions
|
||||
*
|
||||
@ -4261,6 +4459,7 @@ enum nl80211_mfp {
|
||||
enum nl80211_wpa_versions {
|
||||
NL80211_WPA_VERSION_1 = 1 << 0,
|
||||
NL80211_WPA_VERSION_2 = 1 << 1,
|
||||
NL80211_WPA_VERSION_3 = 1 << 2,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -4299,6 +4498,9 @@ enum nl80211_key_default_types {
|
||||
* @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags
|
||||
* attributes, specifying what a key should be set as default as.
|
||||
* See &enum nl80211_key_default_types.
|
||||
* @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.
|
||||
* Defaults to @NL80211_KEY_RX_TX.
|
||||
*
|
||||
* @__NL80211_KEY_AFTER_LAST: internal
|
||||
* @NL80211_KEY_MAX: highest key attribute
|
||||
*/
|
||||
@ -4312,6 +4514,7 @@ enum nl80211_key_attributes {
|
||||
NL80211_KEY_DEFAULT_MGMT,
|
||||
NL80211_KEY_TYPE,
|
||||
NL80211_KEY_DEFAULT_TYPES,
|
||||
NL80211_KEY_MODE,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_KEY_AFTER_LAST,
|
||||
@ -4367,6 +4570,7 @@ enum nl80211_txrate_gi {
|
||||
* @NL80211_BAND_2GHZ: 2.4 GHz ISM band
|
||||
* @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
|
||||
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
|
||||
* @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
|
||||
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
|
||||
* since newer kernel versions may support more bands
|
||||
*/
|
||||
@ -4374,6 +4578,7 @@ enum nl80211_band {
|
||||
NL80211_BAND_2GHZ,
|
||||
NL80211_BAND_5GHZ,
|
||||
NL80211_BAND_60GHZ,
|
||||
NL80211_BAND_6GHZ,
|
||||
|
||||
NUM_NL80211_BANDS,
|
||||
};
|
||||
@ -4859,7 +5064,7 @@ enum nl80211_iface_limit_attrs {
|
||||
* numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
|
||||
* => 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
|
||||
* that any of these groups must match.
|
||||
*
|
||||
@ -4889,7 +5094,7 @@ enum nl80211_if_combination_attrs {
|
||||
* enum nl80211_plink_state - state of a mesh peer link finite state machine
|
||||
*
|
||||
* @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
|
||||
* this mesh peer
|
||||
* @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received
|
||||
@ -5165,7 +5370,7 @@ enum nl80211_feature_flags {
|
||||
NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28,
|
||||
NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29,
|
||||
NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30,
|
||||
NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
|
||||
NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1U << 31,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -5257,6 +5462,24 @@ enum nl80211_feature_flags {
|
||||
* 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.
|
||||
* @NL80211_EXT_FEATURE_EXT_KEY_ID: Driver supports "Extended Key ID for
|
||||
* Individually Addressed Frames" from IEEE802.11-2016.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_AIRTIME_FAIRNESS: Driver supports getting airtime
|
||||
* fairness for transmitted packets and has enabled airtime fairness
|
||||
* scheduling.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_AP_PMKSA_CACHING: Driver/device supports PMKSA caching
|
||||
* (set/del PMKSA operations) in AP mode.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD: Driver supports
|
||||
* filtering of sched scan results using band specific RSSI thresholds.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_STA_TX_PWR: This driver supports controlling tx power
|
||||
* to a station.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in
|
||||
* station mode (SAE password is passed as part of the connect command).
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
@ -5297,6 +5520,12 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
||||
NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
|
||||
NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
|
||||
NL80211_EXT_FEATURE_AIRTIME_FAIRNESS,
|
||||
NL80211_EXT_FEATURE_AP_PMKSA_CACHING,
|
||||
NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD,
|
||||
NL80211_EXT_FEATURE_EXT_KEY_ID,
|
||||
NL80211_EXT_FEATURE_STA_TX_PWR,
|
||||
NL80211_EXT_FEATURE_SAE_OFFLOAD,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
@ -5381,7 +5610,7 @@ enum nl80211_timeout_reason {
|
||||
* request parameters IE in the probe request
|
||||
* @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
|
||||
* 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.
|
||||
* @NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: allow probe request
|
||||
* tx deferral (dot11FILSProbeDelay shall be set to 15ms)
|
||||
@ -5548,9 +5777,14 @@ enum nl80211_crit_proto_id {
|
||||
* Used by cfg80211_rx_mgmt()
|
||||
*
|
||||
* @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver.
|
||||
* @NL80211_RXMGMT_FLAG_EXTERNAL_AUTH: Host driver intends to offload
|
||||
* the authentication. Exclusively defined for host drivers that
|
||||
* advertises the SME functionality but would like the userspace
|
||||
* to handle certain authentication algorithms (e.g. SAE).
|
||||
*/
|
||||
enum nl80211_rxmgmt_flags {
|
||||
NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0,
|
||||
NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 1 << 1,
|
||||
};
|
||||
|
||||
/*
|
||||
@ -5842,9 +6076,11 @@ enum nl80211_external_auth_action {
|
||||
* @__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)
|
||||
* (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)
|
||||
* (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.
|
||||
*/
|
||||
@ -5906,4 +6142,408 @@ enum nl80211_ftm_responder_stats {
|
||||
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
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_obss_pd_attributes - OBSS packet detection attributes
|
||||
* @__NL80211_HE_OBSS_PD_ATTR_INVALID: Invalid
|
||||
*
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset.
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset.
|
||||
*
|
||||
* @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal
|
||||
* @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute.
|
||||
*/
|
||||
enum nl80211_obss_pd_attributes {
|
||||
__NL80211_HE_OBSS_PD_ATTR_INVALID,
|
||||
|
||||
NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET,
|
||||
NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_HE_OBSS_PD_ATTR_LAST,
|
||||
NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1,
|
||||
};
|
||||
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
Loading…
Reference in New Issue
Block a user