1214501Srpaulo/* 2214501Srpaulo * hostapd - WPA/RSN IE and KDE definitions 3214501Srpaulo * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> 4214501Srpaulo * 5252726Srpaulo * This software may be distributed under the terms of the BSD license. 6252726Srpaulo * See README for more details. 7214501Srpaulo */ 8214501Srpaulo 9214501Srpaulo#ifndef WPA_AUTH_IE_H 10214501Srpaulo#define WPA_AUTH_IE_H 11214501Srpaulo 12214501Srpaulostruct wpa_eapol_ie_parse { 13214501Srpaulo const u8 *wpa_ie; 14214501Srpaulo size_t wpa_ie_len; 15214501Srpaulo const u8 *rsn_ie; 16214501Srpaulo size_t rsn_ie_len; 17214501Srpaulo const u8 *pmkid; 18214501Srpaulo const u8 *gtk; 19214501Srpaulo size_t gtk_len; 20214501Srpaulo const u8 *mac_addr; 21214501Srpaulo size_t mac_addr_len; 22214501Srpaulo#ifdef CONFIG_IEEE80211W 23214501Srpaulo const u8 *igtk; 24214501Srpaulo size_t igtk_len; 25214501Srpaulo#endif /* CONFIG_IEEE80211W */ 26346981Scy#ifdef CONFIG_IEEE80211R_AP 27214501Srpaulo const u8 *mdie; 28214501Srpaulo size_t mdie_len; 29214501Srpaulo const u8 *ftie; 30214501Srpaulo size_t ftie_len; 31346981Scy#endif /* CONFIG_IEEE80211R_AP */ 32281806Srpaulo#ifdef CONFIG_P2P 33281806Srpaulo const u8 *ip_addr_req; 34281806Srpaulo const u8 *ip_addr_alloc; 35281806Srpaulo#endif /* CONFIG_P2P */ 36346981Scy#ifdef CONFIG_OCV 37346981Scy const u8 *oci; 38346981Scy size_t oci_len; 39346981Scy#endif /* CONFIG_OCV */ 40281806Srpaulo 41281806Srpaulo const u8 *osen; 42281806Srpaulo size_t osen_len; 43214501Srpaulo}; 44214501Srpaulo 45214501Srpauloint wpa_parse_kde_ies(const u8 *buf, size_t len, 46214501Srpaulo struct wpa_eapol_ie_parse *ie); 47214501Srpaulou8 * wpa_add_kde(u8 *pos, u32 kde, const u8 *data, size_t data_len, 48214501Srpaulo const u8 *data2, size_t data2_len); 49214501Srpauloint wpa_auth_gen_wpa_ie(struct wpa_authenticator *wpa_auth); 50214501Srpaulo 51214501Srpaulo#endif /* WPA_AUTH_IE_H */ 52