]> 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 fd9d9f7dce91842b233c2893215137fb56ecfe87..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_PUBLIC_KEY 12
 #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) */
@@ -916,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[];
@@ -1126,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))
@@ -1192,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
@@ -1311,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
@@ -1321,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,
@@ -1345,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 */
@@ -1419,9 +1448,17 @@ enum wfa_wnm_notif_subelem_id {
        WFA_WNM_NOTIF_SUBELEM_CELL_DATA_CAPA = 3,
 };
 
-/* MBO v0.0_r25, 4.3: MBO ANQP-elements */
+/* MBO v0.0_r27, 4.3: MBO ANQP-elements */
 #define MBO_ANQP_OUI_TYPE 0x12
-#define MBO_ANQP_SUBTYPE_CELL_CONN_PREF 1
+#define MBO_ANQP_SUBTYPE_QUERY_LIST 1
+#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) */
 
@@ -1570,7 +1607,9 @@ enum wifi_display_subelem {
        WFD_SUBELEM_COUPLED_SINK = 6,
        WFD_SUBELEM_EXT_CAPAB = 7,
        WFD_SUBELEM_LOCAL_IP_ADDRESS = 8,
-       WFD_SUBELEM_SESSION_INFO = 9
+       WFD_SUBELEM_SESSION_INFO = 9,
+       WFD_SUBELEM_MAC_INFO = 10,
+       WFD_SUBELEM_R2_DEVICE_INFO = 11,
 };
 
 /* 802.11s */
@@ -1602,29 +1641,6 @@ enum plink_action_field {
 
 #define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
 
-/* cipher suite selectors */
-#define WLAN_CIPHER_SUITE_USE_GROUP    0x000FAC00
-#define WLAN_CIPHER_SUITE_WEP40                0x000FAC01
-#define WLAN_CIPHER_SUITE_TKIP         0x000FAC02
-/* reserved:                           0x000FAC03 */
-#define WLAN_CIPHER_SUITE_CCMP         0x000FAC04
-#define WLAN_CIPHER_SUITE_WEP104       0x000FAC05
-#define WLAN_CIPHER_SUITE_AES_CMAC     0x000FAC06
-#define WLAN_CIPHER_SUITE_NO_GROUP_ADDR        0x000FAC07
-#define WLAN_CIPHER_SUITE_GCMP         0x000FAC08
-#define WLAN_CIPHER_SUITE_GCMP_256     0x000FAC09
-#define WLAN_CIPHER_SUITE_CCMP_256     0x000FAC0A
-#define WLAN_CIPHER_SUITE_BIP_GMAC_128 0x000FAC0B
-#define WLAN_CIPHER_SUITE_BIP_GMAC_256 0x000FAC0C
-#define WLAN_CIPHER_SUITE_BIP_CMAC_256 0x000FAC0D
-
-#define WLAN_CIPHER_SUITE_SMS4         0x00147201
-
-#define WLAN_CIPHER_SUITE_CKIP         0x00409600
-#define WLAN_CIPHER_SUITE_CKIP_CMIC    0x00409601
-#define WLAN_CIPHER_SUITE_CMIC         0x00409602
-#define WLAN_CIPHER_SUITE_KRK          0x004096FF /* for nl80211 use only */
-
 
 /* IEEE 802.11v - WNM Action field values */
 enum wnm_action {
@@ -1983,4 +1999,55 @@ enum nr_chan_width {
        NR_CHAN_WIDTH_80P80 = 4,
 };
 
+struct ieee80211_he_capabilities {
+       u8 he_mac_capab_info[5];
+       u8 he_phy_capab_info[9];
+       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[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 */
+#define HE_PHYCAP_SU_BEAMFORMER_CAPAB_IDX      3
+#define HE_PHYCAP_SU_BEAMFORMER_CAPAB          ((u8) BIT(7))
+#define HE_PHYCAP_SU_BEAMFORMEE_CAPAB_IDX      4
+#define HE_PHYCAP_SU_BEAMFORMEE_CAPAB          ((u8) BIT(0))
+#define HE_PHYCAP_MU_BEAMFORMER_CAPAB_IDX      4
+#define HE_PHYCAP_MU_BEAMFORMER_CAPAB          ((u8) BIT(1))
+
+/* HE Operation defines */
+#define HE_OPERATION_BSS_COLOR_MASK            ((u32) (BIT(0) | BIT(1) | \
+                                                       BIT(2) | BIT(3) | \
+                                                       BIT(4) | BIT(5)))
+#define HE_OPERATION_DFLT_PE_DURATION_MASK     ((u32) (BIT(6) | BIT(7) | \
+                                                       BIT(8)))
+#define HE_OPERATION_DFLT_PE_DURATION_OFFSET   6
+#define HE_OPERATION_TWT_REQUIRED              ((u32) BIT(9))
+#define HE_OPERATION_RTS_THRESHOLD_MASK        ((u32) (BIT(10) | BIT(11) | \
+                                               BIT(12) | BIT(13) | \
+                                               BIT(14) | BIT(15) | \
+                                               BIT(16) | BIT(17) | \
+                                               BIT(18) | BIT(19)))
+#define HE_OPERATION_RTS_THRESHOLD_OFFSET      10
+#define HE_OPERATION_PARTIAL_BSS_COLOR         ((u32) BIT(20))
+#define HE_OPERATION_MAX_BSSID_INDICATOR_MASK  ((u32) (BIT(21) | BIT(22) | \
+                                                       BIT(23) | BIT(24) | \
+                                                       BIT(25) | BIT(26) | \
+                                                       BIT(27) | BIT(28)))
+#define HE_OPERATION_MAX_BSSID_INDICATOR_OFFSET 21
+#define HE_OPERATION_TX_BSSID_INDICATOR                ((u32) BIT(29))
+#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 */