diff options
Diffstat (limited to 'include/net/ieee80211.h')
| -rw-r--r-- | include/net/ieee80211.h | 50 | 
1 files changed, 12 insertions, 38 deletions
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index 7fe57f957a51..db09580ad14b 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h @@ -94,6 +94,8 @@ struct eapol {  	u16 length;  } __attribute__ ((packed)); +#define IEEE80211_1ADDR_LEN 10 +#define IEEE80211_2ADDR_LEN 16  #define IEEE80211_3ADDR_LEN 24  #define IEEE80211_4ADDR_LEN 30  #define IEEE80211_FCS_LEN    4 @@ -300,23 +302,6 @@ struct ieee80211_snap_hdr {  #define WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH 9 -/* Information Element IDs */ -#define WLAN_EID_SSID 0 -#define WLAN_EID_SUPP_RATES 1 -#define WLAN_EID_FH_PARAMS 2 -#define WLAN_EID_DS_PARAMS 3 -#define WLAN_EID_CF_PARAMS 4 -#define WLAN_EID_TIM 5 -#define WLAN_EID_IBSS_PARAMS 6 -#define WLAN_EID_CHALLENGE 16 -#define WLAN_EID_RSN 48 -#define WLAN_EID_GENERIC 221 - -#define IEEE80211_MGMT_HDR_LEN 24 -#define IEEE80211_DATA_HDR3_LEN 24 -#define IEEE80211_DATA_HDR4_LEN 30 - -  #define IEEE80211_STATMASK_SIGNAL (1<<0)  #define IEEE80211_STATMASK_RSSI (1<<1)  #define IEEE80211_STATMASK_NOISE (1<<2) @@ -441,6 +426,10 @@ struct ieee80211_stats {  struct ieee80211_device; +#if 0 /* for later */ +#include "ieee80211_crypt.h" +#endif +  #define SEC_KEY_1         (1<<0)  #define SEC_KEY_2         (1<<1)  #define SEC_KEY_3         (1<<2) @@ -488,15 +477,6 @@ Total: 28-2340 bytes  */ -struct ieee80211_header_data { -	u16 frame_ctl; -	u16 duration_id; -	u8 addr1[6]; -	u8 addr2[6]; -	u8 addr3[6]; -	u16 seq_ctrl; -}; -  #define BEACON_PROBE_SSID_ID_POSITION 12  /* Management Frame Information Element Types */ @@ -541,7 +521,7 @@ struct ieee80211_info_element {  */  struct ieee80211_authentication { -	struct ieee80211_header_data header; +	struct ieee80211_hdr_3addr header;  	u16 algorithm;  	u16 transaction;  	u16 status; @@ -550,7 +530,7 @@ struct ieee80211_authentication {  struct ieee80211_probe_response { -	struct ieee80211_header_data header; +	struct ieee80211_hdr_3addr header;  	u32 time_stamp[2];  	u16 beacon_interval;  	u16 capability; @@ -648,12 +628,6 @@ enum ieee80211_state {  #define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] -extern inline int is_broadcast_ether_addr(const u8 *addr) -{ -	return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) &&   \ -		(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); -} -  #define CFG_IEEE80211_RESERVE_FCS (1<<0)  #define CFG_IEEE80211_COMPUTE_FCS (1<<1) @@ -787,21 +761,21 @@ extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mod  extern inline int ieee80211_get_hdrlen(u16 fc)  { -	int hdrlen = 24; +	int hdrlen = IEEE80211_3ADDR_LEN;  	switch (WLAN_FC_GET_TYPE(fc)) {  	case IEEE80211_FTYPE_DATA:  		if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS)) -			hdrlen = 30; /* Addr4 */ +			hdrlen = IEEE80211_4ADDR_LEN;  		break;  	case IEEE80211_FTYPE_CTL:  		switch (WLAN_FC_GET_STYPE(fc)) {  		case IEEE80211_STYPE_CTS:  		case IEEE80211_STYPE_ACK: -			hdrlen = 10; +			hdrlen = IEEE80211_1ADDR_LEN;  			break;  		default: -			hdrlen = 16; +			hdrlen = IEEE80211_2ADDR_LEN;  			break;  		}  		break;  | 
