* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. See README and COPYING for
* more details.
+ *
+ * API Version History
+ * 1.0.x -- Initial version
+ * 1.1.x -- Added radiotap, QoS, TIM, ieee80211_geo APIs,
+ * various structure changes, and crypto API init method
*/
#ifndef IEEE80211_H
#define IEEE80211_H
#include <linux/kernel.h> /* ARRAY_SIZE */
#include <linux/wireless.h>
+#define IEEE80211_VERSION "git-1.1.5"
+
#define IEEE80211_DATA_LEN 2304
/* Maximum size for the MA-UNITDATA primitive, 802.11 standard section
6.2.1.1.2.
__le16 algorithm;
__le16 transaction;
__le16 status;
+ /* challenge */
struct ieee80211_info_element info_element[0];
} __attribute__ ((packed));
struct ieee80211_disassoc {
struct ieee80211_hdr_3addr header;
- __le16 reason_code;
- struct ieee80211_info_element info_element[0];
+ __le16 reason;
} __attribute__ ((packed));
+/* Alias deauth for disassoc */
+#define ieee82011_deauth ieee80211_disassoc
+
struct ieee80211_probe_request {
struct ieee80211_hdr_3addr header;
+ /* SSID, supported rates */
struct ieee80211_info_element info_element[0];
} __attribute__ ((packed));
u32 time_stamp[2];
__le16 beacon_interval;
__le16 capability;
+ /* SSID, supported rates, FH params, DS params,
+ * CF params, IBSS params, TIM (if beacon), RSN */
struct ieee80211_info_element info_element[0];
} __attribute__ ((packed));
struct ieee80211_hdr_3addr header;
__le16 capability;
__le16 listen_interval;
+ /* SSID, supported rates, RSN */
struct ieee80211_info_element info_element[0];
} __attribute__ ((packed));
__le16 capability;
__le16 status;
__le16 aid;
- struct ieee80211_info_element info_element[0]; /* supported rates */
+ /* supported rates */
+ struct ieee80211_info_element info_element[0];
} __attribute__ ((packed));
struct ieee80211_txb {
};
struct ieee80211_channel {
- u16 freq;
+ u32 freq;
u8 channel;
u8 flags;
u8 max_power;
int host_mc_decrypt;
int host_open_frag;
+ int host_build_iv;
int ieee802_1x; /* is IEEE 802.1X used */
/* WPA data */
int wpa_enabled;
int drop_unencrypted;
- int tkip_countermeasures;
int privacy_invoked;
size_t wpa_ie_len;
u8 *wpa_ie;
/* Typical STA methods */
int (*handle_auth) (struct net_device * dev,
struct ieee80211_auth * auth);
+ int (*handle_deauth) (struct net_device * dev,
+ struct ieee80211_auth * auth);
int (*handle_disassoc) (struct net_device * dev,
struct ieee80211_disassoc * assoc);
int (*handle_beacon) (struct net_device * dev,