carl9170 toolchain: update to gcc 9.1.0
[carl9170fw.git] / include / linux / ieee80211.h
index 4c12b849960733e744192ca40ad7a5414c1f36a3..46ce6cf06fc925b362f7283338522c9f4adfbf15 100644 (file)
@@ -897,33 +897,33 @@ struct ieee80211_mgmt {
                        __le16 status_code;
                        /* possibly followed by Challenge text */
                        u8 variable[0];
-               } __packed auth;
+               } __packed __aligned(4) auth;
                struct {
                        __le16 reason_code;
-               } __packed deauth;
+               } __packed __aligned(4) deauth;
                struct {
                        __le16 capab_info;
                        __le16 listen_interval;
                        /* followed by SSID and Supported rates */
                        u8 variable[0];
-               } __packed assoc_req;
+               } __packed __aligned(4) assoc_req;
                struct {
                        __le16 capab_info;
                        __le16 status_code;
                        __le16 aid;
                        /* followed by Supported rates */
                        u8 variable[0];
-               } __packed assoc_resp, reassoc_resp;
+               } __packed __aligned(4) assoc_resp, reassoc_resp;
                struct {
                        __le16 capab_info;
                        __le16 listen_interval;
                        u8 current_ap[6];
                        /* followed by SSID and Supported rates */
                        u8 variable[0];
-               } __packed reassoc_req;
+               } __packed __aligned(4) reassoc_req;
                struct {
                        __le16 reason_code;
-               } __packed disassoc;
+               } __packed __aligned(4) disassoc;
                struct {
                        __le64 timestamp;
                        __le16 beacon_int;
@@ -931,11 +931,11 @@ struct ieee80211_mgmt {
                        /* followed by some of SSID, Supported rates,
                         * FH Params, DS Params, CF Params, IBSS Params, TIM */
                        u8 variable[0];
-               } __packed beacon;
+               } __packed __aligned(4) beacon;
                struct {
                        /* only variable items: SSID, Supported rates */
                        u8 variable[0];
-               } __packed probe_req;
+               } __packed __aligned(4) probe_req;
                struct {
                        __le64 timestamp;
                        __le16 beacon_int;
@@ -943,7 +943,7 @@ struct ieee80211_mgmt {
                        /* followed by some of SSID, Supported rates,
                         * FH Params, DS Params, CF Params, IBSS Params */
                        u8 variable[0];
-               } __packed probe_resp;
+               } __packed __aligned(4) probe_resp;
                struct {
                        u8 category;
                        union {
@@ -1041,8 +1041,8 @@ struct ieee80211_mgmt {
                                        u8 variable[0];
                                } __packed ftm;
                        } u;
-               } __packed action;
-       } u;
+               } __packed __aligned(4) action;
+       } u __aligned(2);
 } __packed __aligned(2);
 
 /* Supported rates membership selectors */
@@ -1245,7 +1245,7 @@ struct ieee80211_bar {
        __u8 ta[6];
        __le16 control;
        __le16 start_seq_num;
-} __packed __aligned(4);
+} __packed __aligned(2);
 
 /* 802.11 BA(R) control masks */
 #define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL   0x0000
@@ -2131,10 +2131,43 @@ enum ieee80211_key_len {
 
 #define PMK_MAX_LEN                    48
 
-/* Public action codes */
+/* Public action codes (IEEE Std 802.11-2016, 9.6.8.1, Table 9-307) */
 enum ieee80211_pub_actioncode {
+       WLAN_PUB_ACTION_20_40_BSS_COEX = 0,
+       WLAN_PUB_ACTION_DSE_ENABLEMENT = 1,
+       WLAN_PUB_ACTION_DSE_DEENABLEMENT = 2,
+       WLAN_PUB_ACTION_DSE_REG_LOC_ANN = 3,
        WLAN_PUB_ACTION_EXT_CHANSW_ANN = 4,
+       WLAN_PUB_ACTION_DSE_MSMT_REQ = 5,
+       WLAN_PUB_ACTION_DSE_MSMT_RESP = 6,
+       WLAN_PUB_ACTION_MSMT_PILOT = 7,
+       WLAN_PUB_ACTION_DSE_PC = 8,
+       WLAN_PUB_ACTION_VENDOR_SPECIFIC = 9,
+       WLAN_PUB_ACTION_GAS_INITIAL_REQ = 10,
+       WLAN_PUB_ACTION_GAS_INITIAL_RESP = 11,
+       WLAN_PUB_ACTION_GAS_COMEBACK_REQ = 12,
+       WLAN_PUB_ACTION_GAS_COMEBACK_RESP = 13,
        WLAN_PUB_ACTION_TDLS_DISCOVER_RES = 14,
+       WLAN_PUB_ACTION_LOC_TRACK_NOTI = 15,
+       WLAN_PUB_ACTION_QAB_REQUEST_FRAME = 16,
+       WLAN_PUB_ACTION_QAB_RESPONSE_FRAME = 17,
+       WLAN_PUB_ACTION_QMF_POLICY = 18,
+       WLAN_PUB_ACTION_QMF_POLICY_CHANGE = 19,
+       WLAN_PUB_ACTION_QLOAD_REQUEST = 20,
+       WLAN_PUB_ACTION_QLOAD_REPORT = 21,
+       WLAN_PUB_ACTION_HCCA_TXOP_ADVERT = 22,
+       WLAN_PUB_ACTION_HCCA_TXOP_RESPONSE = 23,
+       WLAN_PUB_ACTION_PUBLIC_KEY = 24,
+       WLAN_PUB_ACTION_CHANNEL_AVAIL_QUERY = 25,
+       WLAN_PUB_ACTION_CHANNEL_SCHEDULE_MGMT = 26,
+       WLAN_PUB_ACTION_CONTACT_VERI_SIGNAL = 27,
+       WLAN_PUB_ACTION_GDD_ENABLEMENT_REQ = 28,
+       WLAN_PUB_ACTION_GDD_ENABLEMENT_RESP = 29,
+       WLAN_PUB_ACTION_NETWORK_CHANNEL_CONTROL = 30,
+       WLAN_PUB_ACTION_WHITE_SPACE_MAP_ANN = 31,
+       WLAN_PUB_ACTION_FTM_REQUEST = 32,
+       WLAN_PUB_ACTION_FTM = 33,
+       WLAN_PUB_ACTION_FILS_DISCOVERY = 34,
 };
 
 /* TDLS action codes */
@@ -2429,6 +2462,7 @@ enum ieee80211_sa_query_action {
 #define WLAN_OUI_TYPE_MICROSOFT_WPA    1
 #define WLAN_OUI_TYPE_MICROSOFT_WMM    2
 #define WLAN_OUI_TYPE_MICROSOFT_WPS    4
+#define WLAN_OUI_TYPE_MICROSOFT_TPC    8
 
 /*
  * WMM/802.11e Tspec Element