aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorYogesh Ashok Powar <yogeshp@marvell.com>2011-08-09 21:02:26 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-12 13:45:03 -0400
commit0879fa44b54101c9955123582018cb511047a2b6 (patch)
tree0a9c1f5fc10a3b320d0db793598822a43b2dc719 /include
parentf3d4505de539f754b78d5c30e5d2cb41a0ed0117 (diff)
cfg80211/mac80211: move information element parsing logic to cfg80211
Moving the parsing logic for retrieving the information elements stored in management frames, e.g. beacons or probe responses, and making it available to other cfg80211 drivers. Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index ab1244075925..de140d428118 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -2240,6 +2240,69 @@ extern int ieee80211_radiotap_iterator_next(
2240extern const unsigned char rfc1042_header[6]; 2240extern const unsigned char rfc1042_header[6];
2241extern const unsigned char bridge_tunnel_header[6]; 2241extern const unsigned char bridge_tunnel_header[6];
2242 2242
2243/* Parsed Information Elements */
2244struct ieee802_11_elems {
2245 u8 *ie_start;
2246 size_t total_len;
2247
2248 /* pointers to IEs */
2249 u8 *ssid;
2250 u8 *supp_rates;
2251 u8 *fh_params;
2252 u8 *ds_params;
2253 u8 *cf_params;
2254 struct ieee80211_tim_ie *tim;
2255 u8 *ibss_params;
2256 u8 *challenge;
2257 u8 *wpa;
2258 u8 *rsn;
2259 u8 *erp_info;
2260 u8 *ext_supp_rates;
2261 u8 *wmm_info;
2262 u8 *wmm_param;
2263 struct ieee80211_ht_cap *ht_cap_elem;
2264 struct ieee80211_ht_info *ht_info_elem;
2265 struct ieee80211_meshconf_ie *mesh_config;
2266 u8 *mesh_id;
2267 u8 *peer_link;
2268 u8 *preq;
2269 u8 *prep;
2270 u8 *perr;
2271 struct ieee80211_rann_ie *rann;
2272 u8 *ch_switch_elem;
2273 u8 *country_elem;
2274 u8 *pwr_constr_elem;
2275 u8 *quiet_elem; /* first quite element */
2276 u8 *timeout_int;
2277
2278 /* length of them, respectively */
2279 u8 ssid_len;
2280 u8 supp_rates_len;
2281 u8 fh_params_len;
2282 u8 ds_params_len;
2283 u8 cf_params_len;
2284 u8 tim_len;
2285 u8 ibss_params_len;
2286 u8 challenge_len;
2287 u8 wpa_len;
2288 u8 rsn_len;
2289 u8 erp_info_len;
2290 u8 ext_supp_rates_len;
2291 u8 wmm_info_len;
2292 u8 wmm_param_len;
2293 u8 mesh_id_len;
2294 u8 peer_link_len;
2295 u8 preq_len;
2296 u8 prep_len;
2297 u8 perr_len;
2298 u8 ch_switch_elem_len;
2299 u8 country_elem_len;
2300 u8 pwr_constr_elem_len;
2301 u8 quiet_elem_len;
2302 u8 num_of_quiet_elem; /* can be more the one */
2303 u8 timeout_int_len;
2304};
2305
2243/** 2306/**
2244 * ieee80211_get_hdrlen_from_skb - get header length from data 2307 * ieee80211_get_hdrlen_from_skb - get header length from data
2245 * 2308 *