]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - include/uapi/linux/nl80211.h
nl80211: Add support for EDMG channels
[linux.git] / include / uapi / linux / nl80211.h
index beb9a9d0c00a5a93dc65afc156f41b80a2af4c07..bf7c4222f51290cfa035b4830aec2119026de237 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
  *
  *     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
@@ -2356,6 +2363,16 @@ enum nl80211_commands {
  *
  * @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
@@ -2813,6 +2830,11 @@ enum nl80211_attrs {
 
        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,
@@ -3194,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
  */
@@ -3240,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,
@@ -3421,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
  */
@@ -3438,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
@@ -4536,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
  */
@@ -4543,6 +4578,7 @@ enum nl80211_band {
        NL80211_BAND_2GHZ,
        NL80211_BAND_5GHZ,
        NL80211_BAND_60GHZ,
+       NL80211_BAND_6GHZ,
 
        NUM_NL80211_BANDS,
 };
@@ -6488,4 +6524,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 */