blob: 2c788012e96720c035a93e96f6290e40b93ce3c3 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001/*
2 * wpa_supplicant - WPA/RSN IE and KDE definitions
3 * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
4 *
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -08005 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07007 */
8
9#ifndef WPA_IE_H
10#define WPA_IE_H
11
12struct wpa_sm;
13
14struct 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;
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080048 const u8 *supp_rates;
49 size_t supp_rates_len;
50 const u8 *ext_supp_rates;
51 size_t ext_supp_rates_len;
Dmitry Shmidtf8623282013-02-20 14:34:59 -080052 const u8 *ht_capabilities;
53 size_t ht_capabilities_len;
Dmitry Shmidt33e38bf2013-02-27 12:56:00 -080054 const u8 *vht_capabilities;
55 size_t vht_capabilities_len;
Dmitry Shmidtf8623282013-02-20 14:34:59 -080056 u8 qosinfo;
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -070057 u16 aid;
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070058};
59
60int wpa_supplicant_parse_ies(const u8 *buf, size_t len,
61 struct wpa_eapol_ie_parse *ie);
62int wpa_gen_wpa_ie(struct wpa_sm *sm, u8 *wpa_ie, size_t wpa_ie_len);
63
64#endif /* WPA_IE_H */