xref: /dflybsd-src/contrib/wpa_supplicant/src/ap/wpa_auth_ie.h (revision 3a84a4273475ed07d0ab1c2dfeffdfedef35d9cd)
13ff40c12SJohn Marino /*
23ff40c12SJohn Marino  * hostapd - WPA/RSN IE and KDE definitions
33ff40c12SJohn Marino  * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
43ff40c12SJohn Marino  *
53ff40c12SJohn Marino  * This software may be distributed under the terms of the BSD license.
63ff40c12SJohn Marino  * See README for more details.
73ff40c12SJohn Marino  */
83ff40c12SJohn Marino 
93ff40c12SJohn Marino #ifndef WPA_AUTH_IE_H
103ff40c12SJohn Marino #define WPA_AUTH_IE_H
113ff40c12SJohn Marino 
123ff40c12SJohn Marino struct wpa_eapol_ie_parse {
133ff40c12SJohn Marino 	const u8 *wpa_ie;
143ff40c12SJohn Marino 	size_t wpa_ie_len;
153ff40c12SJohn Marino 	const u8 *rsn_ie;
163ff40c12SJohn Marino 	size_t rsn_ie_len;
173ff40c12SJohn Marino 	const u8 *pmkid;
183ff40c12SJohn Marino 	const u8 *gtk;
193ff40c12SJohn Marino 	size_t gtk_len;
203ff40c12SJohn Marino 	const u8 *mac_addr;
213ff40c12SJohn Marino 	size_t mac_addr_len;
223ff40c12SJohn Marino #ifdef CONFIG_IEEE80211W
233ff40c12SJohn Marino 	const u8 *igtk;
243ff40c12SJohn Marino 	size_t igtk_len;
253ff40c12SJohn Marino #endif /* CONFIG_IEEE80211W */
26*a1157835SDaniel Fojt #ifdef CONFIG_IEEE80211R_AP
273ff40c12SJohn Marino 	const u8 *mdie;
283ff40c12SJohn Marino 	size_t mdie_len;
293ff40c12SJohn Marino 	const u8 *ftie;
303ff40c12SJohn Marino 	size_t ftie_len;
31*a1157835SDaniel Fojt #endif /* CONFIG_IEEE80211R_AP */
323ff40c12SJohn Marino #ifdef CONFIG_P2P
333ff40c12SJohn Marino 	const u8 *ip_addr_req;
343ff40c12SJohn Marino 	const u8 *ip_addr_alloc;
353ff40c12SJohn Marino #endif /* CONFIG_P2P */
36*a1157835SDaniel Fojt #ifdef CONFIG_OCV
37*a1157835SDaniel Fojt 	const u8 *oci;
38*a1157835SDaniel Fojt 	size_t oci_len;
39*a1157835SDaniel Fojt #endif /* CONFIG_OCV */
40*a1157835SDaniel Fojt 
41*a1157835SDaniel Fojt 	const u8 *osen;
42*a1157835SDaniel Fojt 	size_t osen_len;
433ff40c12SJohn Marino };
443ff40c12SJohn Marino 
453ff40c12SJohn Marino int wpa_parse_kde_ies(const u8 *buf, size_t len,
463ff40c12SJohn Marino 		      struct wpa_eapol_ie_parse *ie);
473ff40c12SJohn Marino u8 * wpa_add_kde(u8 *pos, u32 kde, const u8 *data, size_t data_len,
483ff40c12SJohn Marino 		 const u8 *data2, size_t data2_len);
493ff40c12SJohn Marino int wpa_auth_gen_wpa_ie(struct wpa_authenticator *wpa_auth);
503ff40c12SJohn Marino 
513ff40c12SJohn Marino #endif /* WPA_AUTH_IE_H */
52