From: Michael Wu This patch adds more management frame definitions, renames some of the definitions, and turns info_element into a zero length array. ieee80211_authentication was renamed to ieee80211_auth for consistency because association is also abbreviated. The _frame suffix was not being used throughout, so it was dropped for consistency. info_element makes no sense by itself because nobody parses just one IE (well, except in shared key authentication) and there might not be an IE in the frame. Signed-off-by: Michael Wu Signed-off-by: Jiri Benc Index: netdev/include/net/ieee80211.h =================================================================== --- netdev.orig/include/net/ieee80211.h 2005-09-16 13:28:25.000000000 +0200 +++ netdev/include/net/ieee80211.h 2005-09-17 14:42:32.000000000 +0200 @@ -528,11 +528,21 @@ struct ieee80211_info_element { u16 status; */ -struct ieee80211_authentication { +struct ieee80211_auth { struct ieee80211_hdr_3addr header; __le16 algorithm; __le16 transaction; __le16 status; + /* challenge */ + struct ieee80211_info_element info_element[0]; +} __attribute__ ((packed)); + struct ieee80211_hdr_3addr header; + __le16 reason_code; +} __attribute__ ((packed)); + +struct ieee80211_probe_request { + struct ieee80211_hdr_3addr header; + /* SSID, supported rates */ struct ieee80211_info_element info_element[0]; } __attribute__ ((packed)); @@ -541,24 +551,39 @@ struct ieee80211_probe_response { 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_assoc_request { + __le16 capability; + __le16 listen_interval; + /* SSID, supported rates, RSN */ struct ieee80211_info_element info_element[0]; } __attribute__ ((packed)); -struct ieee80211_assoc_request_frame { +struct ieee80211_reassoc_request { + struct ieee80211_hdr_3addr header; __le16 capability; __le16 listen_interval; u8 current_ap[ETH_ALEN]; + /* SSID, supported rates, RSN */ struct ieee80211_info_element info_element[0]; } __attribute__ ((packed)); -struct ieee80211_assoc_response_frame { +struct ieee80211_assoc_response { struct ieee80211_hdr_3addr header; __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)); +#define ieee80211_disassoc ieee80211_deauth +#define ieee80211_beacon ieee80211_probe_response + struct ieee80211_txb { u8 nr_frags; u8 encrypted;