]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Sync with mac80211-next.git include/uapi/linux/nl80211.h
authorJouni Malinen <j@w1.fi>
Tue, 10 Sep 2019 10:42:14 +0000 (13:42 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 10 Sep 2019 10:42:14 +0000 (13:42 +0300)
This brings in nl80211 definitions as of 2019-08-30.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/drivers/nl80211_copy.h

index 6f09d1500960d98eb7cc35bfe9970e25aad728d9..beee59c831a735042a94521b40eb41840363e35b 100644 (file)
 #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
  *
  * 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
  *
  *     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
@@ -2341,6 +2357,22 @@ enum nl80211_commands {
  *     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
@@ -2794,6 +2826,15 @@ enum nl80211_attrs {
        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,
@@ -2844,7 +2885,7 @@ enum nl80211_attrs {
 #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
 
@@ -3175,6 +3216,8 @@ enum nl80211_sta_bss_param {
  *     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
  */
@@ -3221,6 +3264,7 @@ enum nl80211_sta_info {
        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,
@@ -3402,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
  */
@@ -3419,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
@@ -3817,6 +3870,8 @@ enum nl80211_user_reg_hint_type {
  * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
  *     (on this channel or globally)
  * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
+ * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
+ *     receiving frames destined to the local BSS
  * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
  *     currently defined
  * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
@@ -3833,6 +3888,7 @@ enum nl80211_survey_info {
        NL80211_SURVEY_INFO_TIME_TX,
        NL80211_SURVEY_INFO_TIME_SCAN,
        NL80211_SURVEY_INFO_PAD,
+       NL80211_SURVEY_INFO_TIME_BSS_RX,
 
        /* keep last */
        __NL80211_SURVEY_INFO_AFTER_LAST,
@@ -4406,6 +4462,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,
 };
 
 /**
@@ -4516,6 +4573,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
  */
@@ -4523,6 +4581,7 @@ enum nl80211_band {
        NL80211_BAND_2GHZ,
        NL80211_BAND_5GHZ,
        NL80211_BAND_60GHZ,
+       NL80211_BAND_6GHZ,
 
        NUM_NL80211_BANDS,
 };
@@ -5314,7 +5373,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,
 };
 
 /**
@@ -5422,6 +5481,9 @@ enum nl80211_feature_flags {
  * @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.
  */
@@ -5466,6 +5528,7 @@ enum nl80211_ext_feature_index {
        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,
@@ -6464,4 +6527,26 @@ enum nl80211_peer_measurement_ftm_resp {
        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 */