1 /* 2 * hostapd - WPA/RSN IE and KDE definitions 3 * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #ifndef WPA_AUTH_IE_H 10 #define WPA_AUTH_IE_H 11 12 struct wpa_eapol_ie_parse { 13 const u8 *wpa_ie; 14 size_t wpa_ie_len; 15 const u8 *rsn_ie; 16 size_t rsn_ie_len; 17 const u8 *pmkid; 18 const u8 *gtk; 19 size_t gtk_len; 20 const u8 *mac_addr; 21 size_t mac_addr_len; 22 #ifdef CONFIG_IEEE80211W 23 const u8 *igtk; 24 size_t igtk_len; 25 #endif /* CONFIG_IEEE80211W */ 26 #ifdef CONFIG_IEEE80211R_AP 27 const u8 *mdie; 28 size_t mdie_len; 29 const u8 *ftie; 30 size_t ftie_len; 31 #endif /* CONFIG_IEEE80211R_AP */ 32 #ifdef CONFIG_P2P 33 const u8 *ip_addr_req; 34 const u8 *ip_addr_alloc; 35 #endif /* CONFIG_P2P */ 36 #ifdef CONFIG_OCV 37 const u8 *oci; 38 size_t oci_len; 39 #endif /* CONFIG_OCV */ 40 41 const u8 *osen; 42 size_t osen_len; 43 }; 44 45 int wpa_parse_kde_ies(const u8 *buf, size_t len, 46 struct wpa_eapol_ie_parse *ie); 47 u8 * wpa_add_kde(u8 *pos, u32 kde, const u8 *data, size_t data_len, 48 const u8 *data2, size_t data2_len); 49 int wpa_auth_gen_wpa_ie(struct wpa_authenticator *wpa_auth); 50 51 #endif /* WPA_AUTH_IE_H */ 52