-Index: linux-2.6.22.19/include/linux/ieee80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/ieee80211.h
-+++ linux-2.6.22.19/include/linux/ieee80211.h
-@@ -106,6 +106,75 @@ struct ieee80211_hdr {
+--- a/include/linux/ieee80211.h
++++ b/include/linux/ieee80211.h
+@@ -106,6 +106,75 @@
} __attribute__ ((packed));
struct ieee80211_mgmt {
__le16 frame_control;
__le16 duration;
-@@ -173,9 +242,51 @@ struct ieee80211_mgmt {
+@@ -173,9 +242,51 @@
struct {
u8 action_code;
u8 dialog_token;
struct{
u8 action_code;
u8 element_id;
-@@ -184,6 +295,25 @@ struct ieee80211_mgmt {
+@@ -184,6 +295,25 @@
u8 new_chan;
u8 switch_count;
} __attribute__((packed)) chan_switch;
} u;
} __attribute__ ((packed)) action;
} u;
-@@ -259,6 +389,18 @@ enum ieee80211_statuscode {
+@@ -259,6 +389,18 @@
WLAN_STATUS_UNSUPP_RSN_VERSION = 44,
WLAN_STATUS_INVALID_RSN_IE_CAP = 45,
WLAN_STATUS_CIPHER_SUITE_REJECTED = 46,
};
-@@ -289,9 +431,50 @@ enum ieee80211_reasoncode {
+@@ -289,9 +431,50 @@
WLAN_REASON_INVALID_RSN_IE_CAP = 22,
WLAN_REASON_IEEE8021X_FAILED = 23,
WLAN_REASON_CIPHER_SUITE_REJECTED = 24,
/* Information Element IDs */
enum ieee80211_eid {
WLAN_EID_SSID = 0,
-@@ -307,6 +490,15 @@ enum ieee80211_eid {
+@@ -307,6 +490,15 @@
WLAN_EID_HP_PARAMS = 8,
WLAN_EID_HP_TABLE = 9,
WLAN_EID_REQUEST = 10,
/* 802.11h */
WLAN_EID_PWR_CONSTRAINT = 32,
WLAN_EID_PWR_CAPABILITY = 33,
-@@ -321,6 +513,9 @@ enum ieee80211_eid {
+@@ -321,6 +513,9 @@
/* 802.11g */
WLAN_EID_ERP_INFO = 42,
WLAN_EID_EXT_SUPP_RATES = 50,
/* 802.11i */
WLAN_EID_RSN = 48,
WLAN_EID_WPA = 221,
-@@ -329,6 +524,9 @@ enum ieee80211_eid {
+@@ -329,6 +524,9 @@
WLAN_EID_QOS_PARAMETER = 222
};
/* cipher suite selectors */
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01
-@@ -339,4 +537,37 @@ enum ieee80211_eid {
+@@ -339,4 +537,37 @@
#define WLAN_MAX_KEY_LEN 32
+};
+
#endif /* IEEE80211_H */
-Index: linux-2.6.22.19/include/linux/nl80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/nl80211.h
-+++ linux-2.6.22.19/include/linux/nl80211.h
+--- a/include/linux/nl80211.h
++++ b/include/linux/nl80211.h
@@ -7,6 +7,217 @@
*/
* enum nl80211_iftype - (virtual) interface types
* @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides
* @NL80211_IFTYPE_ADHOC: independent BSS member
-@@ -35,4 +246,56 @@ enum nl80211_iftype {
+@@ -35,4 +246,56 @@
};
#define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1)
+#define NL80211_KEYTYPE_MAX (__NL80211_KEYTYPE_AFTER_LAST - 1)
+
#endif /* __LINUX_NL80211_H */
-Index: linux-2.6.22.19/include/net/cfg80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/cfg80211.h
-+++ linux-2.6.22.19/include/net/cfg80211.h
+--- a/include/net/cfg80211.h
++++ b/include/net/cfg80211.h
@@ -3,6 +3,7 @@
#include <linux/netlink.h>
/* from net/wireless.h */
struct wiphy;
-@@ -30,11 +94,62 @@ struct wiphy;
+@@ -30,11 +94,62 @@
* @add_virtual_intf: create a new virtual interface with the given name
*
* @del_virtual_intf: remove the virtual interface determined by ifindex.
+ u32 seq, int flags, u8 cmd);
+
#endif /* __NET_CFG80211_H */
-Index: linux-2.6.22.19/include/net/iw_handler.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/iw_handler.h
-+++ linux-2.6.22.19/include/net/iw_handler.h
-@@ -431,7 +431,13 @@ struct iw_public_data {
+--- a/include/net/iw_handler.h
++++ b/include/net/iw_handler.h
+@@ -431,7 +431,13 @@
* Those may be called only within the kernel.
*/
/* Send a single event to user space */
extern void wireless_send_event(struct net_device * dev,
-Index: linux-2.6.22.19/include/net/mac80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/mac80211.h
-+++ linux-2.6.22.19/include/net/mac80211.h
-@@ -300,7 +300,6 @@ struct ieee80211_conf {
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -300,7 +300,6 @@
/* Following five fields are used for IEEE 802.11H */
unsigned int radar_detect;
unsigned int spect_mgmt;
unsigned int quiet_duration; /* duration of quiet period */
unsigned int quiet_offset; /* how far into the beacon is the quiet
* period */
-@@ -514,6 +513,9 @@ struct ieee80211_hw {
+@@ -514,6 +513,9 @@
* per-packet RC4 key with each TX frame when doing hwcrypto */
#define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14)
u32 flags; /* hardware flags defined above */
/* Set to the size of a needed device specific skb headroom for TX skbs. */
-@@ -641,8 +643,7 @@ struct ieee80211_ops {
+@@ -641,8 +643,7 @@
* used if the wlan hardware or low-level driver implements PAE.
* 80211.o module will anyway filter frames based on authorization
* state, so this function pointer can be NULL if low-level driver does
int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr,
int authorized);
-@@ -694,8 +695,9 @@ struct ieee80211_ops {
+@@ -694,8 +695,9 @@
/* Get statistics of the current TX queue status. This is used to get
* number of currently queued packets (queue length), maximum queue
* size (limit), and total number of packets sent using each TX queue
int (*get_tx_stats)(struct ieee80211_hw *hw,
struct ieee80211_tx_queue_stats *stats);
-@@ -705,12 +707,25 @@ struct ieee80211_ops {
+@@ -705,12 +707,25 @@
* Must be atomic. */
u64 (*get_tsf)(struct ieee80211_hw *hw);