- /**
-@@ -6849,6 +6960,12 @@ enum nl80211_peer_measurement_ftm_capa {
- * if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
- * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
- * ranging will be used.
-+ * @NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK: negotiate for LMR feedback. Only
-+ * valid if either %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED or
-+ * %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set.
-+ * @NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR: optional. The BSS color of the
-+ * responder. Only valid if %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED
-+ * or %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED is set.
- *
- * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
- * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
-@@ -6867,6 +6984,8 @@ enum nl80211_peer_measurement_ftm_req {
- NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
- NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
- NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
-+ NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK,
-+ NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR,
-
- /* keep last */
- NUM_NL80211_PMSR_FTM_REQ_ATTR,
-@@ -7124,4 +7243,115 @@ enum nl80211_unsol_bcast_probe_resp_attr
- NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX =
- __NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST - 1
- };
-+
-+/**
-+ * enum nl80211_sae_pwe_mechanism - The mechanism(s) allowed for SAE PWE
-+ * derivation. Applicable only when WPA3-Personal SAE authentication is
-+ * used.
-+ *
-+ * @NL80211_SAE_PWE_UNSPECIFIED: not specified, used internally to indicate that
-+ * attribute is not present from userspace.
-+ * @NL80211_SAE_PWE_HUNT_AND_PECK: hunting-and-pecking loop only
-+ * @NL80211_SAE_PWE_HASH_TO_ELEMENT: hash-to-element only
-+ * @NL80211_SAE_PWE_BOTH: both hunting-and-pecking loop and hash-to-element
-+ * can be used.
-+ */
-+enum nl80211_sae_pwe_mechanism {
-+ NL80211_SAE_PWE_UNSPECIFIED,
-+ NL80211_SAE_PWE_HUNT_AND_PECK,
-+ NL80211_SAE_PWE_HASH_TO_ELEMENT,
-+ NL80211_SAE_PWE_BOTH,
-+};
-+
-+/**
-+ * enum nl80211_sar_type - type of SAR specs
-+ *
-+ * @NL80211_SAR_TYPE_POWER: power limitation specified in 0.25dBm unit
-+ *
-+ */
-+enum nl80211_sar_type {
-+ NL80211_SAR_TYPE_POWER,
-+
-+ /* add new type here */
-+
-+ /* Keep last */
-+ NUM_NL80211_SAR_TYPE,
-+};
-+
-+/**
-+ * enum nl80211_sar_attrs - Attributes for SAR spec
-+ *
-+ * @NL80211_SAR_ATTR_TYPE: the SAR type as defined in &enum nl80211_sar_type.
-+ *
-+ * @NL80211_SAR_ATTR_SPECS: Nested array of SAR power
-+ * limit specifications. Each specification contains a set
-+ * of %nl80211_sar_specs_attrs.
-+ *
-+ * For SET operation, it contains array of %NL80211_SAR_ATTR_SPECS_POWER
-+ * and %NL80211_SAR_ATTR_SPECS_RANGE_INDEX.
-+ *
-+ * For sar_capa dump, it contains array of
-+ * %NL80211_SAR_ATTR_SPECS_START_FREQ
-+ * and %NL80211_SAR_ATTR_SPECS_END_FREQ.
-+ *
-+ * @__NL80211_SAR_ATTR_LAST: Internal
-+ * @NL80211_SAR_ATTR_MAX: highest sar attribute
-+ *
-+ * These attributes are used with %NL80211_CMD_SET_SAR_SPEC
-+ */
-+enum nl80211_sar_attrs {
-+ __NL80211_SAR_ATTR_INVALID,
-+
-+ NL80211_SAR_ATTR_TYPE,
-+ NL80211_SAR_ATTR_SPECS,
-+
-+ __NL80211_SAR_ATTR_LAST,
-+ NL80211_SAR_ATTR_MAX = __NL80211_SAR_ATTR_LAST - 1,
-+};
-+
-+/**
-+ * enum nl80211_sar_specs_attrs - Attributes for SAR power limit specs
-+ *
-+ * @NL80211_SAR_ATTR_SPECS_POWER: Required (s32)value to specify the actual
-+ * power limit value in units of 0.25 dBm if type is
-+ * NL80211_SAR_TYPE_POWER. (i.e., a value of 44 represents 11 dBm).
-+ * 0 means userspace doesn't have SAR limitation on this associated range.
-+ *
-+ * @NL80211_SAR_ATTR_SPECS_RANGE_INDEX: Required (u32) value to specify the
-+ * index of exported freq range table and the associated power limitation
-+ * is applied to this range.
-+ *
-+ * Userspace isn't required to set all the ranges advertised by WLAN driver,
-+ * and userspace can skip some certain ranges. These skipped ranges don't
-+ * have SAR limitations, and they are same as setting the
-+ * %NL80211_SAR_ATTR_SPECS_POWER to any unreasonable high value because any
-+ * value higher than regulatory allowed value just means SAR power
-+ * limitation is removed, but it's required to set at least one range.
-+ * It's not allowed to set duplicated range in one SET operation.
-+ *
-+ * Every SET operation overwrites previous SET operation.
-+ *
-+ * @NL80211_SAR_ATTR_SPECS_START_FREQ: Required (u32) value to specify the start
-+ * frequency of this range edge when registering SAR capability to wiphy.
-+ * It's not a channel center frequency. The unit is kHz.
-+ *
-+ * @NL80211_SAR_ATTR_SPECS_END_FREQ: Required (u32) value to specify the end
-+ * frequency of this range edge when registering SAR capability to wiphy.
-+ * It's not a channel center frequency. The unit is kHz.
-+ *
-+ * @__NL80211_SAR_ATTR_SPECS_LAST: Internal
-+ * @NL80211_SAR_ATTR_SPECS_MAX: highest sar specs attribute
-+ */
-+enum nl80211_sar_specs_attrs {
-+ __NL80211_SAR_ATTR_SPECS_INVALID,
-+
-+ NL80211_SAR_ATTR_SPECS_POWER,
-+ NL80211_SAR_ATTR_SPECS_RANGE_INDEX,
-+ NL80211_SAR_ATTR_SPECS_START_FREQ,
-+ NL80211_SAR_ATTR_SPECS_END_FREQ,
-+
-+ __NL80211_SAR_ATTR_SPECS_LAST,
-+ NL80211_SAR_ATTR_SPECS_MAX = __NL80211_SAR_ATTR_SPECS_LAST - 1,
-+};
-+
+-/**
+- * enum nl80211_mbssid_config_attributes - multiple BSSID (MBSSID) and enhanced
+- * multi-BSSID advertisements (EMA) in AP mode.
+- * Kernel uses some of these attributes to advertise driver's support for
+- * MBSSID and EMA.
+- * Remaining attributes should be used by the userspace to configure the
+- * features.
+- *
+- * @__NL80211_MBSSID_CONFIG_ATTR_INVALID: Invalid
+- *
+- * @NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES: Used by the kernel to advertise
+- * the maximum number of MBSSID interfaces supported by the driver.
+- * Driver should indicate MBSSID support by setting
+- * wiphy->mbssid_max_interfaces to a value more than or equal to 2.
+- *
+- * @NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY: Used by the kernel
+- * to advertise the maximum profile periodicity supported by the driver
+- * if EMA is enabled. Driver should indicate EMA support to the userspace
+- * by setting wiphy->ema_max_profile_periodicity to
+- * a non-zero value.
+- *
+- * @NL80211_MBSSID_CONFIG_ATTR_INDEX: Mandatory parameter to pass the index of
+- * this BSS (u8) in the multiple BSSID set.
+- * Value must be set to 0 for the transmitting interface and non-zero for
+- * all non-transmitting interfaces. The userspace will be responsible
+- * for using unique indices for the interfaces.
+- * Range: 0 to wiphy->mbssid_max_interfaces-1.
+- *
+- * @NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX: Mandatory parameter for
+- * a non-transmitted profile which provides the interface index (u32) of
+- * the transmitted profile. The value must match one of the interface
+- * indices advertised by the kernel. Optional if the interface being set up
+- * is the transmitting one, however, if provided then the value must match
+- * the interface index of the same.
+- *
+- * @NL80211_MBSSID_CONFIG_ATTR_EMA: Flag used to enable EMA AP feature.
+- * Setting this flag is permitted only if the driver advertises EMA support
+- * by setting wiphy->ema_max_profile_periodicity to non-zero.
+- *
+- * @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal
+- * @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute
+- */
+-enum nl80211_mbssid_config_attributes {
+- __NL80211_MBSSID_CONFIG_ATTR_INVALID,
+-
+- NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES,
+- NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY,
+- NL80211_MBSSID_CONFIG_ATTR_INDEX,
+- NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX,
+- NL80211_MBSSID_CONFIG_ATTR_EMA,
+-
+- /* keep last */
+- __NL80211_MBSSID_CONFIG_ATTR_LAST,
+- NL80211_MBSSID_CONFIG_ATTR_MAX = __NL80211_MBSSID_CONFIG_ATTR_LAST - 1,
+-};
+-