]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - src/common/ieee802_11_defs.h
WNM: Collocated Interference Reporting
[thirdparty/hostap.git] / src / common / ieee802_11_defs.h
index d57bb0c99361dffb2a0ffc50c22ad3851804e8ea..762e731ab022c908059e39876a2b86d8b891274a 100644 (file)
 #define WLAN_STATUS_AUTHORIZATION_DEENABLED 107
 #define WLAN_STATUS_FILS_AUTHENTICATION_FAILURE 112
 #define WLAN_STATUS_UNKNOWN_AUTHENTICATION_SERVER 113
+#define WLAN_STATUS_UNKNOWN_PASSWORD_IDENTIFIER 123
 
 /* Reason codes (IEEE Std 802.11-2016, 9.4.1.7, Table 9-45) */
 #define WLAN_REASON_UNSPECIFIED 1
 #define WLAN_EID_EXT_FILS_NONCE 13
 #define WLAN_EID_EXT_FUTURE_CHANNEL_GUIDANCE 14
 #define WLAN_EID_EXT_OWE_DH_PARAM 32
+#define WLAN_EID_EXT_PASSWORD_IDENTIFIER 33
+#define WLAN_EID_EXT_HE_CAPABILITIES 35
+#define WLAN_EID_EXT_HE_OPERATION 36
 
 
 /* Action frame categories (IEEE Std 802.11-2016, 9.4.1.11, Table 9-76) */
@@ -917,6 +921,16 @@ struct ieee80211_mgmt {
                                         * Entries (optional) */
                                        u8 variable[];
                                } STRUCT_PACKED bss_tm_query;
+                               struct {
+                                       u8 action; /* 11 */
+                                       u8 dialog_token;
+                                       u8 req_info;
+                               } STRUCT_PACKED coloc_intf_req;
+                               struct {
+                                       u8 action; /* 12 */
+                                       u8 dialog_token;
+                                       u8 variable[];
+                               } STRUCT_PACKED coloc_intf_report;
                                struct {
                                        u8 action; /* 15 */
                                        u8 variable[];
@@ -1127,6 +1141,7 @@ struct ieee80211_ampe_ie {
 #define VHT_CAP_SUPP_CHAN_WIDTH_160MHZ              ((u32) BIT(2))
 #define VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ     ((u32) BIT(3))
 #define VHT_CAP_SUPP_CHAN_WIDTH_MASK                ((u32) BIT(2) | BIT(3))
+#define VHT_CAP_SUPP_CHAN_WIDTH_MASK_SHIFT          2
 #define VHT_CAP_RXLDPC                              ((u32) BIT(4))
 #define VHT_CAP_SHORT_GI_80                         ((u32) BIT(5))
 #define VHT_CAP_SHORT_GI_160                        ((u32) BIT(6))
@@ -1193,6 +1208,8 @@ struct ieee80211_ampe_ie {
 #define OSEN_IE_VENDOR_TYPE 0x506f9a12
 #define MBO_IE_VENDOR_TYPE 0x506f9a16
 #define MBO_OUI_TYPE 22
+#define OWE_IE_VENDOR_TYPE 0x506f9a1c
+#define OWE_OUI_TYPE 28
 
 #define WMM_OUI_TYPE 2
 #define WMM_OUI_SUBTYPE_INFORMATION_ELEMENT 0
@@ -1312,6 +1329,7 @@ enum wmm_ac {
 #define HS20_INDICATION_OUI_TYPE 16
 #define HS20_ANQP_OUI_TYPE 17
 #define HS20_OSEN_OUI_TYPE 18
+#define HS20_ROAMING_CONS_SEL_OUI_TYPE 29
 #define HS20_STYPE_QUERY_LIST 1
 #define HS20_STYPE_CAPABILITY_LIST 2
 #define HS20_STYPE_OPERATOR_FRIENDLY_NAME 3
@@ -1322,21 +1340,27 @@ enum wmm_ac {
 #define HS20_STYPE_OSU_PROVIDERS_LIST 8
 #define HS20_STYPE_ICON_REQUEST 10
 #define HS20_STYPE_ICON_BINARY_FILE 11
+#define HS20_STYPE_OPERATOR_ICON_METADATA 12
+#define HS20_STYPE_OSU_PROVIDERS_NAI_LIST 13
 
 #define HS20_DGAF_DISABLED 0x01
 #define HS20_PPS_MO_ID_PRESENT 0x02
 #define HS20_ANQP_DOMAIN_ID_PRESENT 0x04
+#ifndef HS20_VERSION
 #define HS20_VERSION 0x10 /* Release 2 */
+#endif /* HS20_VERSION */
 
 /* WNM-Notification WFA vendors specific subtypes */
 #define HS20_WNM_SUB_REM_NEEDED 0
 #define HS20_WNM_DEAUTH_IMMINENT_NOTICE 1
+#define HS20_WNM_T_C_ACCEPTANCE 2
 
 #define HS20_DEAUTH_REASON_CODE_BSS 0
 #define HS20_DEAUTH_REASON_CODE_ESS 1
 
 /* MBO v0.0_r19, 4.2: MBO Attributes */
 /* Table 4-5: MBO Attributes */
+/* OCE v0.0.10, Table 4-3: OCE Attributes */
 enum mbo_attr_id {
        MBO_ATTR_ID_AP_CAPA_IND = 1,
        MBO_ATTR_ID_NON_PREF_CHAN_REPORT = 2,
@@ -1346,6 +1370,10 @@ enum mbo_attr_id {
        MBO_ATTR_ID_TRANSITION_REASON = 6,
        MBO_ATTR_ID_TRANSITION_REJECT_REASON = 7,
        MBO_ATTR_ID_ASSOC_RETRY_DELAY = 8,
+       OCE_ATTR_ID_CAPA_IND = 101,
+       OCE_ATTR_ID_RSSI_BASED_ASSOC_REJECT = 102,
+       OCE_ATTR_ID_REDUCED_WAN_METRICS = 103,
+       OCE_ATTR_ID_RNR_COMPLETENESS = 104,
 };
 
 /* MBO v0.0_r19, 4.2.1: MBO AP Capability Indication Attribute */
@@ -1426,6 +1454,12 @@ enum wfa_wnm_notif_subelem_id {
 #define MBO_ANQP_SUBTYPE_CELL_CONN_PREF 2
 #define MAX_MBO_ANQP_SUBTYPE MBO_ANQP_SUBTYPE_CELL_CONN_PREF
 
+/* OCE v0.0.10, 4.2.1: OCE Capability Indication Attribute */
+#define OCE_RELEASE 1
+#define OCE_RELEASE_MASK (BIT(0) | BIT(1) | BIT(2))
+#define OCE_IS_STA_CFON BIT(3)
+#define OCE_IS_NON_OCE_AP_PRESENT BIT(4)
+
 /* Wi-Fi Direct (P2P) */
 
 #define P2P_OUI_TYPE 9
@@ -1968,18 +2002,17 @@ enum nr_chan_width {
 struct ieee80211_he_capabilities {
        u8 he_mac_capab_info[5];
        u8 he_phy_capab_info[9];
-       u16 he_txrx_mcs_support;
-       /* possibly followed by Tx Rx MCS NSS descriptor */
-       u8 variable[];
+       u8 he_txrx_mcs_support[12]; /* TODO: 4, 8, or 12 octets */
        /* PPE Thresholds (optional) */
 } STRUCT_PACKED;
 
 struct ieee80211_he_operation {
        u32 he_oper_params;
-       u8 he_mcs_nss_set[3];
+       u8 he_mcs_nss_set[2];
        u8 vht_op_info_chwidth;
        u8 vht_op_info_chan_center_freq_seg0_idx;
        u8 vht_op_info_chan_center_freq_seg1_idx;
+       /* Followed by conditional MaxBSSID Indicator subfield (u8) */
 } STRUCT_PACKED;
 
 /* HE Capabilities Information defines */
@@ -2014,4 +2047,7 @@ struct ieee80211_he_operation {
 #define HE_OPERATION_BSS_COLOR_DISABLED                ((u32) BIT(30))
 #define HE_OPERATION_BSS_DUAL_BEACON           ((u32) BIT(31))
 
+/* DPP Public Action frame identifiers - OUI_WFA */
+#define DPP_OUI_TYPE 0x1A
+
 #endif /* IEEE802_11_DEFS_H */