1189251Ssam/*
2189251Ssam * wpa_supplicant - WPA/RSN IE and KDE definitions
3189251Ssam * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
4189251Ssam *
5252726Srpaulo * This software may be distributed under the terms of the BSD license.
6252726Srpaulo * See README for more details.
7189251Ssam */
8189251Ssam
9189251Ssam#ifndef WPA_IE_H
10189251Ssam#define WPA_IE_H
11189251Ssam
12252726Srpaulostruct wpa_sm;
13252726Srpaulo
14189251Ssamstruct wpa_eapol_ie_parse {
15189251Ssam	const u8 *wpa_ie;
16189251Ssam	size_t wpa_ie_len;
17189251Ssam	const u8 *rsn_ie;
18189251Ssam	size_t rsn_ie_len;
19189251Ssam	const u8 *pmkid;
20189251Ssam	const u8 *gtk;
21189251Ssam	size_t gtk_len;
22189251Ssam	const u8 *mac_addr;
23189251Ssam	size_t mac_addr_len;
24189251Ssam#ifdef CONFIG_PEERKEY
25189251Ssam	const u8 *smk;
26189251Ssam	size_t smk_len;
27189251Ssam	const u8 *nonce;
28189251Ssam	size_t nonce_len;
29189251Ssam	const u8 *lifetime;
30189251Ssam	size_t lifetime_len;
31189251Ssam	const u8 *error;
32189251Ssam	size_t error_len;
33189251Ssam#endif /* CONFIG_PEERKEY */
34189251Ssam#ifdef CONFIG_IEEE80211W
35189251Ssam	const u8 *igtk;
36189251Ssam	size_t igtk_len;
37189251Ssam#endif /* CONFIG_IEEE80211W */
38189251Ssam	const u8 *mdie;
39189251Ssam	size_t mdie_len;
40214734Srpaulo	const u8 *ftie;
41214734Srpaulo	size_t ftie_len;
42214734Srpaulo	const u8 *reassoc_deadline;
43214734Srpaulo	const u8 *key_lifetime;
44252726Srpaulo	const u8 *lnkid;
45252726Srpaulo	size_t lnkid_len;
46252726Srpaulo	const u8 *ext_capab;
47252726Srpaulo	size_t ext_capab_len;
48252726Srpaulo	const u8 *supp_rates;
49252726Srpaulo	size_t supp_rates_len;
50252726Srpaulo	const u8 *ext_supp_rates;
51252726Srpaulo	size_t ext_supp_rates_len;
52189251Ssam};
53189251Ssam
54189251Ssamint wpa_supplicant_parse_ies(const u8 *buf, size_t len,
55189251Ssam			     struct wpa_eapol_ie_parse *ie);
56189251Ssamint wpa_gen_wpa_ie(struct wpa_sm *sm, u8 *wpa_ie, size_t wpa_ie_len);
57189251Ssam
58189251Ssam#endif /* WPA_IE_H */
59