projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://github.com/chunkeey/carl9170fw
[carl9170fw.git]
/
include
/
linux
/
ieee80211.h
diff --git
a/include/linux/ieee80211.h
b/include/linux/ieee80211.h
index 90c938c02e8c2eb6eaf9e99d7d8796c7b52bad11..1b41d5d9f38eeaabc631fa7493eb78cd4cab93fe 100644
(file)
--- a/
include/linux/ieee80211.h
+++ b/
include/linux/ieee80211.h
@@
-177,7
+177,7
@@
struct ieee80211_hdr {
u8 addr3[6];
__le16 seq_ctrl;
u8 addr4[6];
u8 addr3[6];
__le16 seq_ctrl;
u8 addr4[6];
-} __
attribute__ ((packed))
;
+} __
packed
;
struct ieee80211_hdr_3addr {
__le16 frame_control;
struct ieee80211_hdr_3addr {
__le16 frame_control;
@@
-186,7
+186,7
@@
struct ieee80211_hdr_3addr {
u8 addr2[6];
u8 addr3[6];
__le16 seq_ctrl;
u8 addr2[6];
u8 addr3[6];
__le16 seq_ctrl;
-} __
attribute__ ((packed))
;
+} __
packed
;
struct ieee80211_qos_hdr {
__le16 frame_control;
struct ieee80211_qos_hdr {
__le16 frame_control;
@@
-196,7
+196,7
@@
struct ieee80211_qos_hdr {
u8 addr3[6];
__le16 seq_ctrl;
__le16 qos_ctrl;
u8 addr3[6];
__le16 seq_ctrl;
__le16 qos_ctrl;
-} __
attribute__ ((packed))
;
+} __
packed
;
/**
* ieee80211_has_tods - check if IEEE80211_FCTL_TODS is set
/**
* ieee80211_has_tods - check if IEEE80211_FCTL_TODS is set
@@
-589,7
+589,7
@@
struct ieee80211s_hdr {
__le32 seqnum;
u8 eaddr1[6];
u8 eaddr2[6];
__le32 seqnum;
u8 eaddr1[6];
u8 eaddr2[6];
-} __
attribute__ ((packed))
;
+} __
packed
;
/* Mesh flags */
#define MESH_FLAGS_AE_A4 0x1
/* Mesh flags */
#define MESH_FLAGS_AE_A4 0x1
@@
-627,7
+627,7
@@
struct ieee80211_quiet_ie {
u8 period;
__le16 duration;
__le16 offset;
u8 period;
__le16 duration;
__le16 offset;
-} __
attribute__ ((packed))
;
+} __
packed
;
/**
* struct ieee80211_msrment_ie
/**
* struct ieee80211_msrment_ie
@@
-639,7
+639,7
@@
struct ieee80211_msrment_ie {
u8 mode;
u8 type;
u8 request[0];
u8 mode;
u8 type;
u8 request[0];
-} __
attribute__ ((packed))
;
+} __
packed
;
/**
* struct ieee80211_channel_sw_ie
/**
* struct ieee80211_channel_sw_ie
@@
-650,7
+650,7
@@
struct ieee80211_channel_sw_ie {
u8 mode;
u8 new_ch_num;
u8 count;
u8 mode;
u8 new_ch_num;
u8 count;
-} __
attribute__ ((packed))
;
+} __
packed
;
/**
* struct ieee80211_tim
/**
* struct ieee80211_tim
@@
-663,7
+663,7
@@
struct ieee80211_tim_ie {
u8 bitmap_ctrl;
/* variable size: 1 - 251 bytes */
u8 virtual_map[1];
u8 bitmap_ctrl;
/* variable size: 1 - 251 bytes */
u8 virtual_map[1];
-} __
attribute__ ((packed))
;
+} __
packed
;
/**
* struct ieee80211_meshconf_ie
/**
* struct ieee80211_meshconf_ie
@@
-678,7
+678,7
@@
struct ieee80211_meshconf_ie {
u8 meshconf_auth;
u8 meshconf_form;
u8 meshconf_cap;
u8 meshconf_auth;
u8 meshconf_form;
u8 meshconf_cap;
-} __
attribute__ ((packed))
;
+} __
packed
;
/**
* enum mesh_config_capab_flags - Mesh Configuration IE capability field flags
/**
* enum mesh_config_capab_flags - Mesh Configuration IE capability field flags
@@
-708,12
+708,17
@@
struct ieee80211_rann_ie {
__le32 rann_seq;
__le32 rann_interval;
__le32 rann_metric;
__le32 rann_seq;
__le32 rann_interval;
__le32 rann_metric;
-} __
attribute__ ((packed))
;
+} __
packed
;
enum ieee80211_rann_flags {
RANN_FLAG_IS_GATE = 1 << 0,
};
enum ieee80211_rann_flags {
RANN_FLAG_IS_GATE = 1 << 0,
};
+enum ieee80211_ht_chanwidth_values {
+ IEEE80211_HT_CHANWIDTH_20MHZ = 0,
+ IEEE80211_HT_CHANWIDTH_ANY = 1,
+};
+
#define WLAN_SA_QUERY_TR_ID_LEN 2
struct ieee80211_mgmt {
#define WLAN_SA_QUERY_TR_ID_LEN 2
struct ieee80211_mgmt {
@@
-730,33
+735,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];
- } __
attribute__ ((packed))
auth;
+ } __
packed
auth;
struct {
__le16 reason_code;
struct {
__le16 reason_code;
- } __
attribute__ ((packed))
deauth;
+ } __
packed
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];
- } __
attribute__ ((packed))
assoc_req;
+ } __
packed
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];
- } __
attribute__ ((packed))
assoc_resp, reassoc_resp;
+ } __
packed
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];
- } __
attribute__ ((packed))
reassoc_req;
+ } __
packed
reassoc_req;
struct {
__le16 reason_code;
struct {
__le16 reason_code;
- } __
attribute__ ((packed))
disassoc;
+ } __
packed
disassoc;
struct {
__le64 timestamp;
__le16 beacon_int;
struct {
__le64 timestamp;
__le16 beacon_int;
@@
-764,11
+769,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];
- } __
attribute__ ((packed))
beacon;
+ } __
packed
beacon;
struct {
/* only variable items: SSID, Supported rates */
u8 variable[0];
struct {
/* only variable items: SSID, Supported rates */
u8 variable[0];
- } __
attribute__ ((packed))
probe_req;
+ } __
packed
probe_req;
struct {
__le64 timestamp;
__le16 beacon_int;
struct {
__le64 timestamp;
__le16 beacon_int;
@@
-776,7
+781,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];
- } __
attribute__ ((packed))
probe_resp;
+ } __
packed
probe_resp;
struct {
u8 category;
union {
struct {
u8 category;
union {
@@
-785,55
+790,59
@@
struct ieee80211_mgmt {
u8 dialog_token;
u8 status_code;
u8 variable[0];
u8 dialog_token;
u8 status_code;
u8 variable[0];
- } __
attribute__ ((packed))
wme_action;
+ } __
packed
wme_action;
struct{
u8 action_code;
u8 element_id;
u8 length;
struct ieee80211_channel_sw_ie sw_elem;
struct{
u8 action_code;
u8 element_id;
u8 length;
struct ieee80211_channel_sw_ie sw_elem;
- } __
attribute__((packed))
chan_switch;
+ } __
packed
chan_switch;
struct{
u8 action_code;
u8 dialog_token;
u8 element_id;
u8 length;
struct ieee80211_msrment_ie msr_elem;
struct{
u8 action_code;
u8 dialog_token;
u8 element_id;
u8 length;
struct ieee80211_msrment_ie msr_elem;
- } __
attribute__((packed))
measurement;
+ } __
packed
measurement;
struct{
u8 action_code;
u8 dialog_token;
__le16 capab;
__le16 timeout;
__le16 start_seq_num;
struct{
u8 action_code;
u8 dialog_token;
__le16 capab;
__le16 timeout;
__le16 start_seq_num;
- } __
attribute__((packed))
addba_req;
+ } __
packed
addba_req;
struct{
u8 action_code;
u8 dialog_token;
__le16 status;
__le16 capab;
__le16 timeout;
struct{
u8 action_code;
u8 dialog_token;
__le16 status;
__le16 capab;
__le16 timeout;
- } __
attribute__((packed))
addba_resp;
+ } __
packed
addba_resp;
struct{
u8 action_code;
__le16 params;
__le16 reason_code;
struct{
u8 action_code;
__le16 params;
__le16 reason_code;
- } __
attribute__((packed))
delba;
+ } __
packed
delba;
struct {
u8 action_code;
u8 variable[0];
struct {
u8 action_code;
u8 variable[0];
- } __
attribute__((packed))
self_prot;
+ } __
packed
self_prot;
struct{
u8 action_code;
u8 variable[0];
struct{
u8 action_code;
u8 variable[0];
- } __
attribute__((packed))
mesh_action;
+ } __
packed
mesh_action;
struct {
u8 action;
u8 trans_id[WLAN_SA_QUERY_TR_ID_LEN];
struct {
u8 action;
u8 trans_id[WLAN_SA_QUERY_TR_ID_LEN];
- } __
attribute__ ((packed))
sa_query;
+ } __
packed
sa_query;
struct {
u8 action;
u8 smps_control;
struct {
u8 action;
u8 smps_control;
- } __attribute__ ((packed)) ht_smps;
+ } __packed ht_smps;
+ struct {
+ u8 action_code;
+ u8 chanwidth;
+ } __packed ht_notify_cw;
struct {
u8 action_code;
u8 dialog_token;
struct {
u8 action_code;
u8 dialog_token;
@@
-841,9
+850,9
@@
struct ieee80211_mgmt {
u8 variable[0];
} __packed tdls_discover_resp;
} u;
u8 variable[0];
} __packed tdls_discover_resp;
} u;
- } __
attribute__ ((packed))
action;
+ } __
packed
action;
} u;
} u;
-} __
attribute__ ((packed))
;
+} __
packed
;
/* Supported Rates value encodings in 802.11n-2009 7.3.2.2 */
#define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127
/* Supported Rates value encodings in 802.11n-2009 7.3.2.2 */
#define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127
@@
-859,7
+868,7
@@
struct ieee80211_mmie {
__le16 key_id;
u8 sequence_number[6];
u8 mic[8];
__le16 key_id;
u8 sequence_number[6];
u8 mic[8];
-} __
attribute__ ((packed))
;
+} __
packed
;
struct ieee80211_vendor_ie {
u8 element_id;
struct ieee80211_vendor_ie {
u8 element_id;
@@
-874,20
+883,20
@@
struct ieee80211_rts {
__le16 duration;
u8 ra[6];
u8 ta[6];
__le16 duration;
u8 ra[6];
u8 ta[6];
-} __
attribute__ ((packed))
;
+} __
packed
;
struct ieee80211_cts {
__le16 frame_control;
__le16 duration;
u8 ra[6];
struct ieee80211_cts {
__le16 frame_control;
__le16 duration;
u8 ra[6];
-} __
attribute__ ((packed))
;
+} __
packed
;
struct ieee80211_pspoll {
__le16 frame_control;
__le16 aid;
u8 bssid[6];
u8 ta[6];
struct ieee80211_pspoll {
__le16 frame_control;
__le16 aid;
u8 bssid[6];
u8 ta[6];
-} __
attribute__ ((packed))
;
+} __
packed
;
/* TDLS */
/* TDLS */
@@
-980,7
+989,7
@@
struct ieee80211_bar {
__u8 ta[6];
__le16 control;
__le16 start_seq_num;
__u8 ta[6];
__le16 control;
__le16 start_seq_num;
-} __
attribute__((packed))
__aligned(4);
+} __
packed
__aligned(4);
/* 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
@@
-1004,7
+1013,7
@@
struct ieee80211_ba {
__le16 start_seq_num;
u8 bitmap[8];
__le16 start_seq_num;
u8 bitmap[8];
-} __
attribute__((packed))
;
+} __
packed
;
#define IEEE80211_HT_MCS_MASK_LEN 10
#define IEEE80211_HT_MCS_MASK_LEN 10
@@
-1022,7
+1031,7
@@
struct ieee80211_mcs_info {
__le16 rx_highest;
u8 tx_params;
u8 reserved[3];
__le16 rx_highest;
u8 tx_params;
u8 reserved[3];
-} __
attribute__((packed))
;
+} __
packed
;
/* 802.11n HT capability MSC set */
#define IEEE80211_HT_MCS_RX_HIGHEST_MASK 0x3ff
/* 802.11n HT capability MSC set */
#define IEEE80211_HT_MCS_RX_HIGHEST_MASK 0x3ff
@@
-1061,7
+1070,7
@@
struct ieee80211_ht_cap {
__le16 extended_ht_cap_info;
__le32 tx_BF_cap_info;
u8 antenna_selection_info;
__le16 extended_ht_cap_info;
__le32 tx_BF_cap_info;
u8 antenna_selection_info;
-} __
attribute__ ((packed))
;
+} __
packed
;
/* 802.11n HT capabilities masks (for cap_info) */
#define IEEE80211_HT_CAP_LDPC_CODING 0x0001
/* 802.11n HT capabilities masks (for cap_info) */
#define IEEE80211_HT_CAP_LDPC_CODING 0x0001
@@
-1132,7
+1141,7
@@
struct ieee80211_ht_operation {
__le16 operation_mode;
__le16 stbc_param;
u8 basic_set[16];
__le16 operation_mode;
__le16 stbc_param;
u8 basic_set[16];
-} __
attribute__ ((packed))
;
+} __
packed
;
/* for ht_param */
#define IEEE80211_HT_PARAM_CHA_SEC_OFFSET 0x03
/* for ht_param */
#define IEEE80211_HT_PARAM_CHA_SEC_OFFSET 0x03
@@
-1751,6
+1760,8
@@
enum ieee80211_tdls_actioncode {
#define WLAN_EXT_CAPA5_TDLS_ENABLED BIT(5)
#define WLAN_EXT_CAPA5_TDLS_PROHIBITED BIT(6)
#define WLAN_EXT_CAPA5_TDLS_ENABLED BIT(5)
#define WLAN_EXT_CAPA5_TDLS_PROHIBITED BIT(6)
+#define WLAN_EXT_CAPA8_OPMODE_NOTIF BIT(6)
+
/* TDLS specific payload type in the LLC/SNAP header */
#define WLAN_TDLS_SNAP_RFTYPE 0x2
/* TDLS specific payload type in the LLC/SNAP header */
#define WLAN_TDLS_SNAP_RFTYPE 0x2
@@
-1869,14
+1880,14
@@
struct ieee80211_country_ie_triplet {
u8 first_channel;
u8 num_channels;
s8 max_power;
u8 first_channel;
u8 num_channels;
s8 max_power;
- } __
attribute__ ((packed))
chans;
+ } __
packed
chans;
struct {
u8 reg_extension_id;
u8 reg_class;
u8 coverage_class;
struct {
u8 reg_extension_id;
u8 reg_class;
u8 coverage_class;
- } __
attribute__ ((packed))
ext;
+ } __
packed
ext;
};
};
-} __
attribute__ ((packed))
;
+} __
packed
;
enum ieee80211_timeout_interval_type {
WLAN_TIMEOUT_REASSOC_DEADLINE = 1 /* 802.11r */,
enum ieee80211_timeout_interval_type {
WLAN_TIMEOUT_REASSOC_DEADLINE = 1 /* 802.11r */,
@@
-2124,7
+2135,7
@@
static inline unsigned long ieee80211_tu_to_usec(unsigned long tu)
* @tim_len: length of the TIM IE
* @aid: the AID to look for
*/
* @tim_len: length of the TIM IE
* @aid: the AID to look for
*/
-static inline bool ieee80211_check_tim(struct ieee80211_tim_ie *tim,
+static inline bool ieee80211_check_tim(
const
struct ieee80211_tim_ie *tim,
u8 tim_len, u16 aid)
{
u8 mask;
u8 tim_len, u16 aid)
{
u8 mask;