Home | History | Annotate | Download | only in rsn_supp
      1 /*
      2  * wpa_supplicant - WPA/RSN IE and KDE definitions
      3  * Copyright (c) 2004-2007, Jouni Malinen <j (at) 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_IE_H
     10 #define WPA_IE_H
     11 
     12 struct wpa_sm;
     13 
     14 struct wpa_eapol_ie_parse {
     15 	const u8 *wpa_ie;
     16 	size_t wpa_ie_len;
     17 	const u8 *rsn_ie;
     18 	size_t rsn_ie_len;
     19 	const u8 *pmkid;
     20 	const u8 *gtk;
     21 	size_t gtk_len;
     22 	const u8 *mac_addr;
     23 	size_t mac_addr_len;
     24 #ifdef CONFIG_PEERKEY
     25 	const u8 *smk;
     26 	size_t smk_len;
     27 	const u8 *nonce;
     28 	size_t nonce_len;
     29 	const u8 *lifetime;
     30 	size_t lifetime_len;
     31 	const u8 *error;
     32 	size_t error_len;
     33 #endif /* CONFIG_PEERKEY */
     34 #ifdef CONFIG_IEEE80211W
     35 	const u8 *igtk;
     36 	size_t igtk_len;
     37 #endif /* CONFIG_IEEE80211W */
     38 	const u8 *mdie;
     39 	size_t mdie_len;
     40 	const u8 *ftie;
     41 	size_t ftie_len;
     42 	const u8 *reassoc_deadline;
     43 	const u8 *key_lifetime;
     44 	const u8 *lnkid;
     45 	size_t lnkid_len;
     46 	const u8 *ext_capab;
     47 	size_t ext_capab_len;
     48 	const u8 *supp_rates;
     49 	size_t supp_rates_len;
     50 	const u8 *ext_supp_rates;
     51 	size_t ext_supp_rates_len;
     52 	const u8 *ht_capabilities;
     53 	const u8 *vht_capabilities;
     54 	const u8 *supp_channels;
     55 	size_t supp_channels_len;
     56 	const u8 *supp_oper_classes;
     57 	size_t supp_oper_classes_len;
     58 	u8 qosinfo;
     59 	u16 aid;
     60 	const u8 *wmm;
     61 	size_t wmm_len;
     62 #ifdef CONFIG_P2P
     63 	const u8 *ip_addr_req;
     64 	const u8 *ip_addr_alloc;
     65 #endif /* CONFIG_P2P */
     66 };
     67 
     68 int wpa_supplicant_parse_ies(const u8 *buf, size_t len,
     69 			     struct wpa_eapol_ie_parse *ie);
     70 int wpa_gen_wpa_ie(struct wpa_sm *sm, u8 *wpa_ie, size_t wpa_ie_len);
     71 
     72 #endif /* WPA_IE_H */
     73