ieee80211: fix kernel-doc parsing errors
[carl9170fw.git] / include / linux / ieee80211.h
index 35bb2e3a4dc7c9d8bdf9d124f35b6ffea26f5919..c95a256e0d00b3771c2c87d770689837ed111b47 100644 (file)
@@ -179,6 +179,8 @@ static inline u16 ieee80211_sn_sub(u16 sn1, u16 sn2)
 
 /* number of user priorities 802.11 uses */
 #define IEEE80211_NUM_UPS              8
+/* number of ACs */
+#define IEEE80211_NUM_ACS              4
 
 #define IEEE80211_QOS_CTL_LEN          2
 /* 1d tag mask */
@@ -1043,8 +1045,9 @@ struct ieee80211_mgmt {
        } u;
 } __packed __aligned(2);
 
-/* Supported Rates value encodings in 802.11n-2009 7.3.2.2 */
+/* Supported rates membership selectors */
 #define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127
+#define BSS_MEMBERSHIP_SELECTOR_VHT_PHY        126
 
 /* mgmt header + 1 byte category code */
 #define IEEE80211_MIN_ACTION_SIZE offsetof(struct ieee80211_mgmt, u.action.u)
@@ -1427,6 +1430,8 @@ struct ieee80211_ht_operation {
 #define                IEEE80211_HT_OP_MODE_PROTECTION_NONHT_MIXED     3
 #define IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT          0x0004
 #define IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT          0x0010
+#define IEEE80211_HT_OP_MODE_CCFS2_SHIFT               5
+#define IEEE80211_HT_OP_MODE_CCFS2_MASK                        0x1fe0
 
 /* for stbc_param */
 #define IEEE80211_HT_STBC_PARAM_DUAL_BEACON            0x0040
@@ -1541,14 +1546,14 @@ enum ieee80211_vht_chanwidth {
  * This structure is the "VHT operation element" as
  * described in 802.11ac D3.0 8.4.2.161
  * @chan_width: Operating channel width
+ * @center_freq_seg0_idx: center freq segment 0 index
  * @center_freq_seg1_idx: center freq segment 1 index
- * @center_freq_seg2_idx: center freq segment 2 index
  * @basic_mcs_set: VHT Basic MCS rate set
  */
 struct ieee80211_vht_operation {
        u8 chan_width;
+       u8 center_freq_seg0_idx;
        u8 center_freq_seg1_idx;
-       u8 center_freq_seg2_idx;
        __le16 basic_mcs_set;
 } __packed;
 
@@ -1736,6 +1741,9 @@ enum ieee80211_statuscode {
        WLAN_STATUS_REJECT_DSE_BAND = 96,
        WLAN_STATUS_DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL = 99,
        WLAN_STATUS_DENIED_DUE_TO_SPECTRUM_MANAGEMENT = 103,
+       /* 802.11ai */
+       WLAN_STATUS_FILS_AUTHENTICATION_FAILURE = 108,
+       WLAN_STATUS_UNKNOWN_AUTHENTICATION_SERVER = 109,
 };
 
 
@@ -2117,6 +2125,12 @@ enum ieee80211_key_len {
 #define FILS_NONCE_LEN                 16
 #define FILS_MAX_KEK_LEN               64
 
+#define FILS_ERP_MAX_USERNAME_LEN      16
+#define FILS_ERP_MAX_REALM_LEN         253
+#define FILS_ERP_MAX_RRK_LEN           64
+
+#define PMK_MAX_LEN                    48
+
 /* Public action codes */
 enum ieee80211_pub_actioncode {
        WLAN_PUB_ACTION_EXT_CHANSW_ANN = 4,
@@ -2181,37 +2195,37 @@ enum ieee80211_tdls_actioncode {
 #define WLAN_BSS_COEX_INFORMATION_REQUEST      BIT(0)
 
 /**
- * enum - mesh synchronization method identifier
+ * enum ieee80211_mesh_sync_method - mesh synchronization method identifier
  *
  * @IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET: the default synchronization method
  * @IEEE80211_SYNC_METHOD_VENDOR: a vendor specific synchronization method
  *     that will be specified in a vendor specific information element
  */
-enum {
+enum ieee80211_mesh_sync_method {
        IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET = 1,
        IEEE80211_SYNC_METHOD_VENDOR = 255,
 };
 
 /**
- * enum - mesh path selection protocol identifier
+ * enum ieee80211_mesh_path_protocol - mesh path selection protocol identifier
  *
  * @IEEE80211_PATH_PROTOCOL_HWMP: the default path selection protocol
  * @IEEE80211_PATH_PROTOCOL_VENDOR: a vendor specific protocol that will
  *     be specified in a vendor specific information element
  */
-enum {
+enum ieee80211_mesh_path_protocol {
        IEEE80211_PATH_PROTOCOL_HWMP = 1,
        IEEE80211_PATH_PROTOCOL_VENDOR = 255,
 };
 
 /**
- * enum - mesh path selection metric identifier
+ * enum ieee80211_mesh_path_metric - mesh path selection metric identifier
  *
  * @IEEE80211_PATH_METRIC_AIRTIME: the default path selection metric
  * @IEEE80211_PATH_METRIC_VENDOR: a vendor specific metric that will be
  *     specified in a vendor specific information element
  */
-enum {
+enum ieee80211_mesh_path_metric {
        IEEE80211_PATH_METRIC_AIRTIME = 1,
        IEEE80211_PATH_METRIC_VENDOR = 255,
 };
@@ -2339,29 +2353,41 @@ enum ieee80211_sa_query_action {
        WLAN_ACTION_SA_QUERY_RESPONSE = 1,
 };
 
+#define SUITE(oui, id) (((oui) << 8) | (id))
 
 /* 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_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_USE_GROUP    SUITE(0x000FAC, 0)
+#define WLAN_CIPHER_SUITE_WEP40                SUITE(0x000FAC, 1)
+#define WLAN_CIPHER_SUITE_TKIP         SUITE(0x000FAC, 2)
+/* reserved:                           SUITE(0x000FAC, 3) */
+#define WLAN_CIPHER_SUITE_CCMP         SUITE(0x000FAC, 4)
+#define WLAN_CIPHER_SUITE_WEP104       SUITE(0x000FAC, 5)
+#define WLAN_CIPHER_SUITE_AES_CMAC     SUITE(0x000FAC, 6)
+#define WLAN_CIPHER_SUITE_GCMP         SUITE(0x000FAC, 8)
+#define WLAN_CIPHER_SUITE_GCMP_256     SUITE(0x000FAC, 9)
+#define WLAN_CIPHER_SUITE_CCMP_256     SUITE(0x000FAC, 10)
+#define WLAN_CIPHER_SUITE_BIP_GMAC_128 SUITE(0x000FAC, 11)
+#define WLAN_CIPHER_SUITE_BIP_GMAC_256 SUITE(0x000FAC, 12)
+#define WLAN_CIPHER_SUITE_BIP_CMAC_256 SUITE(0x000FAC, 13)
+
+#define WLAN_CIPHER_SUITE_SMS4         SUITE(0x001472, 1)
 
 /* AKM suite selectors */
-#define WLAN_AKM_SUITE_8021X           0x000FAC01
-#define WLAN_AKM_SUITE_PSK             0x000FAC02
-#define WLAN_AKM_SUITE_SAE                     0x000FAC08
-#define WLAN_AKM_SUITE_FT_OVER_SAE     0x000FAC09
+#define WLAN_AKM_SUITE_8021X                   SUITE(0x000FAC, 1)
+#define WLAN_AKM_SUITE_PSK                     SUITE(0x000FAC, 2)
+#define WLAN_AKM_SUITE_FT_8021X                        SUITE(0x000FAC, 3)
+#define WLAN_AKM_SUITE_FT_PSK                  SUITE(0x000FAC, 4)
+#define WLAN_AKM_SUITE_8021X_SHA256            SUITE(0x000FAC, 5)
+#define WLAN_AKM_SUITE_PSK_SHA256              SUITE(0x000FAC, 6)
+#define WLAN_AKM_SUITE_TDLS                    SUITE(0x000FAC, 7)
+#define WLAN_AKM_SUITE_SAE                     SUITE(0x000FAC, 8)
+#define WLAN_AKM_SUITE_FT_OVER_SAE             SUITE(0x000FAC, 9)
+#define WLAN_AKM_SUITE_8021X_SUITE_B           SUITE(0x000FAC, 11)
+#define WLAN_AKM_SUITE_8021X_SUITE_B_192       SUITE(0x000FAC, 12)
+#define WLAN_AKM_SUITE_FILS_SHA256             SUITE(0x000FAC, 14)
+#define WLAN_AKM_SUITE_FILS_SHA384             SUITE(0x000FAC, 15)
+#define WLAN_AKM_SUITE_FT_FILS_SHA256          SUITE(0x000FAC, 16)
+#define WLAN_AKM_SUITE_FT_FILS_SHA384          SUITE(0x000FAC, 17)
 
 #define WLAN_MAX_KEY_LEN               32