projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mac80211: add get TID helper
[carl9170fw.git]
/
include
/
linux
/
ieee80211.h
diff --git
a/include/linux/ieee80211.h
b/include/linux/ieee80211.h
index 31c59eac2b59fea407bdbeab861d45c93a9fdc0d..e9efbafd24fa461a69cda813e7ee9850850d6991 100644
(file)
--- a/
include/linux/ieee80211.h
+++ b/
include/linux/ieee80211.h
@@
-8,6
+8,7
@@
* Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net>
* Copyright (c) 2013 - 2014 Intel Mobile Communications GmbH
* Copyright (c) 2016 - 2017 Intel Deutschland GmbH
* Copyright (c) 2006, Michael Wu <flamingice@sourmilk.net>
* Copyright (c) 2013 - 2014 Intel Mobile Communications GmbH
* Copyright (c) 2016 - 2017 Intel Deutschland GmbH
+ * Copyright (c) 2018 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@
-897,33
+898,33
@@
struct ieee80211_mgmt {
__le16 status_code;
/* possibly followed by Challenge text */
u8 variable[0];
__le16 status_code;
/* possibly followed by Challenge text */
u8 variable[0];
- } __packed auth;
+ } __packed
__aligned(4)
auth;
struct {
__le16 reason_code;
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];
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];
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];
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;
struct {
__le16 reason_code;
- } __packed disassoc;
+ } __packed
__aligned(4)
disassoc;
struct {
__le64 timestamp;
__le16 beacon_int;
struct {
__le64 timestamp;
__le16 beacon_int;
@@
-931,11
+932,11
@@
struct ieee80211_mgmt {
/* followed by some of SSID, Supported rates,
* FH Params, DS Params, CF Params, IBSS Params, TIM */
u8 variable[0];
/* 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];
struct {
/* only variable items: SSID, Supported rates */
u8 variable[0];
- } __packed probe_req;
+ } __packed
__aligned(4)
probe_req;
struct {
__le64 timestamp;
__le16 beacon_int;
struct {
__le64 timestamp;
__le16 beacon_int;
@@
-943,7
+944,7
@@
struct ieee80211_mgmt {
/* followed by some of SSID, Supported rates,
* FH Params, DS Params, CF Params, IBSS Params */
u8 variable[0];
/* 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 {
struct {
u8 category;
union {
@@
-1041,8
+1042,8
@@
struct ieee80211_mgmt {
u8 variable[0];
} __packed ftm;
} u;
u8 variable[0];
} __packed ftm;
} u;
- } __packed action;
- } u;
+ } __packed
__aligned(4)
action;
+ } u
__aligned(2)
;
} __packed __aligned(2);
/* Supported rates membership selectors */
} __packed __aligned(2);
/* Supported rates membership selectors */
@@
-1245,7
+1246,7
@@
struct ieee80211_bar {
__u8 ta[6];
__le16 control;
__le16 start_seq_num;
__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
/* 802.11 BA(R) control masks */
#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000
@@
-2129,7
+2130,7
@@
enum ieee80211_key_len {
#define FILS_ERP_MAX_REALM_LEN 253
#define FILS_ERP_MAX_RRK_LEN 64
#define FILS_ERP_MAX_REALM_LEN 253
#define FILS_ERP_MAX_RRK_LEN 64
-#define PMK_MAX_LEN
48
+#define PMK_MAX_LEN
64
/* Public action codes (IEEE Std 802.11-2016, 9.6.8.1, Table 9-307) */
enum ieee80211_pub_actioncode {
/* Public action codes (IEEE Std 802.11-2016, 9.6.8.1, Table 9-307) */
enum ieee80211_pub_actioncode {
@@
-2518,6
+2519,17
@@
static inline u8 *ieee80211_get_qos_ctl(struct ieee80211_hdr *hdr)
return (u8 *)hdr + 24;
}
return (u8 *)hdr + 24;
}
+/**
+ * ieee80211_get_tid - get qos TID
+ * @hdr: the frame
+ */
+static inline u8 ieee80211_get_tid(struct ieee80211_hdr *hdr)
+{
+ u8 *qc = ieee80211_get_qos_ctl(hdr);
+
+ return qc[0] & IEEE80211_QOS_CTL_TID_MASK;
+}
+
/**
* ieee80211_get_SA - get pointer to SA
* @hdr: the frame
/**
* ieee80211_get_SA - get pointer to SA
* @hdr: the frame