diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl12xx_80211.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl12xx_80211.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/drivers/net/wireless/wl12xx/wl12xx_80211.h b/drivers/net/wireless/wl12xx/wl12xx_80211.h index 184628027213..18fe542360f2 100644 --- a/drivers/net/wireless/wl12xx/wl12xx_80211.h +++ b/drivers/net/wireless/wl12xx/wl12xx_80211.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define __WL12XX_80211_H__ | 2 | #define __WL12XX_80211_H__ |
3 | 3 | ||
4 | #include <linux/if_ether.h> /* ETH_ALEN */ | 4 | #include <linux/if_ether.h> /* ETH_ALEN */ |
5 | #include <linux/if_arp.h> | ||
5 | 6 | ||
6 | /* RATES */ | 7 | /* RATES */ |
7 | #define IEEE80211_CCK_RATE_1MB 0x02 | 8 | #define IEEE80211_CCK_RATE_1MB 0x02 |
@@ -54,7 +55,6 @@ | |||
54 | 55 | ||
55 | /* This really should be 8, but not for our firmware */ | 56 | /* This really should be 8, but not for our firmware */ |
56 | #define MAX_SUPPORTED_RATES 32 | 57 | #define MAX_SUPPORTED_RATES 32 |
57 | #define COUNTRY_STRING_LEN 3 | ||
58 | #define MAX_COUNTRY_TRIPLETS 32 | 58 | #define MAX_COUNTRY_TRIPLETS 32 |
59 | 59 | ||
60 | /* Headers */ | 60 | /* Headers */ |
@@ -98,7 +98,7 @@ struct country_triplet { | |||
98 | 98 | ||
99 | struct wl12xx_ie_country { | 99 | struct wl12xx_ie_country { |
100 | struct wl12xx_ie_header header; | 100 | struct wl12xx_ie_header header; |
101 | u8 country_string[COUNTRY_STRING_LEN]; | 101 | u8 country_string[IEEE80211_COUNTRY_STRING_LEN]; |
102 | struct country_triplet triplets[MAX_COUNTRY_TRIPLETS]; | 102 | struct country_triplet triplets[MAX_COUNTRY_TRIPLETS]; |
103 | } __packed; | 103 | } __packed; |
104 | 104 | ||
@@ -133,11 +133,17 @@ struct wl12xx_qos_null_data_template { | |||
133 | __le16 qos_ctl; | 133 | __le16 qos_ctl; |
134 | } __packed; | 134 | } __packed; |
135 | 135 | ||
136 | struct wl12xx_probe_req_template { | 136 | struct wl12xx_arp_rsp_template { |
137 | struct ieee80211_header header; | 137 | struct ieee80211_hdr_3addr hdr; |
138 | struct wl12xx_ie_ssid ssid; | 138 | |
139 | struct wl12xx_ie_rates rates; | 139 | u8 llc_hdr[sizeof(rfc1042_header)]; |
140 | struct wl12xx_ie_rates ext_rates; | 140 | __be16 llc_type; |
141 | |||
142 | struct arphdr arp_hdr; | ||
143 | u8 sender_hw[ETH_ALEN]; | ||
144 | __be32 sender_ip; | ||
145 | u8 target_hw[ETH_ALEN]; | ||
146 | __be32 target_ip; | ||
141 | } __packed; | 147 | } __packed; |
142 | 148 | ||
143 | 149 | ||
@@ -153,4 +159,9 @@ struct wl12xx_probe_resp_template { | |||
153 | struct wl12xx_ie_country country; | 159 | struct wl12xx_ie_country country; |
154 | } __packed; | 160 | } __packed; |
155 | 161 | ||
162 | struct wl12xx_disconn_template { | ||
163 | struct ieee80211_header header; | ||
164 | __le16 disconn_reason; | ||
165 | } __packed; | ||
166 | |||
156 | #endif | 167 | #endif |