2007-03-26 22:37:27

by mabbas

[permalink] [raw]
Subject: [patch 1/5] Add draft IEEE 802.11n data structures and constants

Add draft IEEE 802.11n data structures and constants to ieee80211.h

Several information element were added to support 80211n capabilities.
This patch adds all data structures related to these information
element.

Signed-off-by: Mohamed Abbas <[email protected]>

diff -Nupr wireless-dev/include/linux/ieee80211.h
wireless-dev-new/include/linux/ieee80211.h
--- wireless-dev/include/linux/ieee80211.h 2007-03-23 13:07:38.000000000
-0700
+++ wireless-dev-new/include/linux/ieee80211.h 2007-03-23
12:35:07.000000000 -0700
@@ -105,6 +105,23 @@ struct ieee80211_hdr {
} __attribute__ ((packed));


+struct ieee80211_ht_capability {
+ __le16 capabilitiesInfo;
+ u8 mac_ht_params_info;
+ u8 supported_mcs_set[16];
+ __le16 extended_ht_capability_info;
+ __le32 tx_BF_capability_info;
+ u8 antenna_selection_info;
+}__attribute__ ((packed));
+
+struct ieee80211_ht_additional_info {
+ u8 control_chan;
+ u8 ht_param;
+ __le16 operation_mode;
+ __le16 stbc_param;
+ u8 basic_set[16];
+}__attribute__ ((packed));
+
struct ieee80211_mgmt {
__le16 frame_control;
__le16 duration;
@@ -319,6 +336,9 @@ enum ieee80211_eid {
/* 802.11g */
WLAN_EID_ERP_INFO = 42,
WLAN_EID_EXT_SUPP_RATES = 50,
+ /* 802.11n */
+ WLAN_EID_HT_CAPABILITY = 45,
+ WLAN_EID_HT_EXTRA_INFO = 61,
/* 802.11i */
WLAN_EID_RSN = 48,
WLAN_EID_WPA = 221,




2007-04-03 22:36:10

by mabbas

[permalink] [raw]
Subject: Re: [patch 1/5] Add draft IEEE 802.11n data structures and constants

modified patch at the end

Add draft IEEE 802.11n data structures and constants to ieee80211.h

Several information element were added to support 80211n capabilities.
This patch adds all data structures related to these information element.

Signed-off-by: Mohamed Abbas <[email protected]>

diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index ae19306..6bf824b 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -106,6 +106,23 @@ struct ieee80211_hdr {
} __attribute__ ((packed));


+struct ieee80211_ht_capability {
+ __le16 capabilities_info;
+ u8 mac_ht_params_info;
+ u8 supported_mcs_set[16];
+ __le16 extended_ht_capability_info;
+ __le32 tx_BF_capability_info;
+ u8 antenna_selection_info;
+}__attribute__ ((packed));
+
+struct ieee80211_ht_additional_info {
+ u8 control_chan;
+ u8 ht_param;
+ __le16 operation_mode;
+ __le16 stbc_param;
+ u8 basic_set[16];
+}__attribute__ ((packed));
+
struct ieee80211_mgmt {
__le16 frame_control;
__le16 duration;
@@ -321,6 +338,9 @@ enum ieee80211_eid {
/* 802.11g */
WLAN_EID_ERP_INFO = 42,
WLAN_EID_EXT_SUPP_RATES = 50,
+ /* 802.11n */
+ WLAN_EID_HT_CAPABILITY = 45,
+ WLAN_EID_HT_EXTRA_INFO = 61,
/* 802.11i */
WLAN_EID_RSN = 48,
WLAN_EID_WPA = 221,
@@ -329,6 +349,9 @@ enum ieee80211_eid {
WLAN_EID_QOS_PARAMETER = 222
};

+/* 80211n */
+#define IEEE80211_QOS_CONTROL_A_MSDU_PRESENT 0x0080
+
/* cipher suite selectors */
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01