aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ieee80211.h
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-08-29 14:52:20 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 14:52:20 -0400
commitba6e5eb107b4b26444cb67ce6fb8eb0973a97964 (patch)
tree9377baf652e0cd8360372020b0386e238d07a30d /include/linux/ieee80211.h
parentf3116f62cb56ef5efd172371fab688bb27529f69 (diff)
parenta508a6ea234571e0e7d1e9f2455fc1eca54d1fef (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r--include/linux/ieee80211.h59
1 files changed, 37 insertions, 22 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 54c878960872..37f95f2e10f9 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -629,9 +629,14 @@ struct ieee80211_rann_ie {
629 u8 rann_ttl; 629 u8 rann_ttl;
630 u8 rann_addr[6]; 630 u8 rann_addr[6];
631 u32 rann_seq; 631 u32 rann_seq;
632 u32 rann_interval;
632 u32 rann_metric; 633 u32 rann_metric;
633} __attribute__ ((packed)); 634} __attribute__ ((packed));
634 635
636enum ieee80211_rann_flags {
637 RANN_FLAG_IS_GATE = 1 << 0,
638};
639
635#define WLAN_SA_QUERY_TR_ID_LEN 2 640#define WLAN_SA_QUERY_TR_ID_LEN 2
636 641
637struct ieee80211_mgmt { 642struct ieee80211_mgmt {
@@ -736,19 +741,10 @@ struct ieee80211_mgmt {
736 __le16 params; 741 __le16 params;
737 __le16 reason_code; 742 __le16 reason_code;
738 } __attribute__((packed)) delba; 743 } __attribute__((packed)) delba;
739 struct{ 744 struct {
740 u8 action_code; 745 u8 action_code;
741 /* capab_info for open and confirm,
742 * reason for close
743 */
744 __le16 aux;
745 /* Followed in plink_confirm by status
746 * code, AID and supported rates,
747 * and directly by supported rates in
748 * plink_open and plink_close
749 */
750 u8 variable[0]; 746 u8 variable[0];
751 } __attribute__((packed)) plink_action; 747 } __attribute__((packed)) self_prot;
752 struct{ 748 struct{
753 u8 action_code; 749 u8 action_code;
754 u8 variable[0]; 750 u8 variable[0];
@@ -816,9 +812,11 @@ struct ieee80211_bar {
816} __attribute__((packed)); 812} __attribute__((packed));
817 813
818/* 802.11 BAR control masks */ 814/* 802.11 BAR control masks */
819#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000 815#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000
820#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004 816#define IEEE80211_BAR_CTRL_MULTI_TID 0x0002
821 817#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004
818#define IEEE80211_BAR_CTRL_TID_INFO_MASK 0xf000
819#define IEEE80211_BAR_CTRL_TID_INFO_SHIFT 12
822 820
823#define IEEE80211_HT_MCS_MASK_LEN 10 821#define IEEE80211_HT_MCS_MASK_LEN 10
824 822
@@ -1194,11 +1192,6 @@ enum ieee80211_eid {
1194 WLAN_EID_MESH_ID = 114, 1192 WLAN_EID_MESH_ID = 114,
1195 WLAN_EID_LINK_METRIC_REPORT = 115, 1193 WLAN_EID_LINK_METRIC_REPORT = 115,
1196 WLAN_EID_CONGESTION_NOTIFICATION = 116, 1194 WLAN_EID_CONGESTION_NOTIFICATION = 116,
1197 /* Note that the Peer Link IE has been replaced with the similar
1198 * Peer Management IE. We will keep the former definition until mesh
1199 * code is changed to comply with latest 802.11s drafts.
1200 */
1201 WLAN_EID_PEER_LINK = 55, /* no longer in 802.11s drafts */
1202 WLAN_EID_PEER_MGMT = 117, 1195 WLAN_EID_PEER_MGMT = 117,
1203 WLAN_EID_CHAN_SWITCH_PARAM = 118, 1196 WLAN_EID_CHAN_SWITCH_PARAM = 118,
1204 WLAN_EID_MESH_AWAKE_WINDOW = 119, 1197 WLAN_EID_MESH_AWAKE_WINDOW = 119,
@@ -1281,9 +1274,6 @@ enum ieee80211_category {
1281 WLAN_CATEGORY_MULTIHOP_ACTION = 14, 1274 WLAN_CATEGORY_MULTIHOP_ACTION = 14,
1282 WLAN_CATEGORY_SELF_PROTECTED = 15, 1275 WLAN_CATEGORY_SELF_PROTECTED = 15,
1283 WLAN_CATEGORY_WMM = 17, 1276 WLAN_CATEGORY_WMM = 17,
1284 /* TODO: remove MESH_PATH_SEL after mesh is updated
1285 * to current 802.11s draft */
1286 WLAN_CATEGORY_MESH_PATH_SEL = 32,
1287 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, 1277 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
1288 WLAN_CATEGORY_VENDOR_SPECIFIC = 127, 1278 WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
1289}; 1279};
@@ -1309,6 +1299,31 @@ enum ieee80211_ht_actioncode {
1309 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7, 1299 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7,
1310}; 1300};
1311 1301
1302/* Self Protected Action codes */
1303enum ieee80211_self_protected_actioncode {
1304 WLAN_SP_RESERVED = 0,
1305 WLAN_SP_MESH_PEERING_OPEN = 1,
1306 WLAN_SP_MESH_PEERING_CONFIRM = 2,
1307 WLAN_SP_MESH_PEERING_CLOSE = 3,
1308 WLAN_SP_MGK_INFORM = 4,
1309 WLAN_SP_MGK_ACK = 5,
1310};
1311
1312/* Mesh action codes */
1313enum ieee80211_mesh_actioncode {
1314 WLAN_MESH_ACTION_LINK_METRIC_REPORT,
1315 WLAN_MESH_ACTION_HWMP_PATH_SELECTION,
1316 WLAN_MESH_ACTION_GATE_ANNOUNCEMENT,
1317 WLAN_MESH_ACTION_CONGESTION_CONTROL_NOTIFICATION,
1318 WLAN_MESH_ACTION_MCCA_SETUP_REQUEST,
1319 WLAN_MESH_ACTION_MCCA_SETUP_REPLY,
1320 WLAN_MESH_ACTION_MCCA_ADVERTISEMENT_REQUEST,
1321 WLAN_MESH_ACTION_MCCA_ADVERTISEMENT,
1322 WLAN_MESH_ACTION_MCCA_TEARDOWN,
1323 WLAN_MESH_ACTION_TBTT_ADJUSTMENT_REQUEST,
1324 WLAN_MESH_ACTION_TBTT_ADJUSTMENT_RESPONSE,
1325};
1326
1312/* Security key length */ 1327/* Security key length */
1313enum ieee80211_key_len { 1328enum ieee80211_key_len {
1314 WLAN_KEY_LEN_WEP40 = 5, 1329 WLAN_KEY_LEN_WEP40 = 5,