d62bc4badc1c1f1549c961cfb8b420e650e1272byz * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Use is subject to license terms.
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Copyright (c) 2003-2004, Jouni Malinen <jkmaline@cc.hut.fi>
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Sun elects to license this software under the BSD license.
a399b7655a1d835aa8606c2b29e4e777baac8635zf * See README for more details.
a399b7655a1d835aa8606c2b29e4e777baac8635zfextern "C" {
a399b7655a1d835aa8606c2b29e4e777baac8635zf /* followed by length octets of data */
a399b7655a1d835aa8606c2b29e4e777baac8635zf /* followed by key_data_length bytes of key_data */
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define WPA_KEY_INFO_KEY_TYPE BIT(3) /* 1: Pairwise, 0: Group key */
a399b7655a1d835aa8606c2b29e4e777baac8635zf/* bit4..5 is used in WPA, but is reserved in IEEE 802.11i/RSN */
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define WPA_KEY_INFO_ENCR_KEY_DATA BIT(12) /* IEEE 802.11i/RSN only */
a399b7655a1d835aa8606c2b29e4e777baac8635zf * wpa_supplicant
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
a399b7655a1d835aa8606c2b29e4e777baac8635zf uint8_t encr_key[16]; /* EAPOL-Key Encryption Key (EK) */
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey /* The handle required for libdladm calls */
a399b7655a1d835aa8606c2b29e4e777baac8635zf /* ANonce from the last 1/4 msg */
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Selected configuration
a399b7655a1d835aa8606c2b29e4e777baac8635zf * based on Beacon/ProbeResp WPA IE
a399b7655a1d835aa8606c2b29e4e777baac8635zf struct rsn_pmksa_cache *cur_pmksa; /* current PMKSA entry */
a399b7655a1d835aa8606c2b29e4e777baac8635zf * number of EAPOL packets received after the
a399b7655a1d835aa8606c2b29e4e777baac8635zf * previous association event
a399b7655a1d835aa8606c2b29e4e777baac8635zf/* WPA configuration */
a399b7655a1d835aa8606c2b29e4e777baac8635zf /* Bitfields of allowed Pairwise/Group Ciphers, WPA_CIPHER_* */
a399b7655a1d835aa8606c2b29e4e777baac8635zf int proto; /* Bitfield of allowed protocols (WPA_PROTO_*) */
a399b7655a1d835aa8606c2b29e4e777baac8635zf /* int ap_scan; */
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Debugging function - conditional printf and hex dump.
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Driver wrappers can use these for debugging purposes.
a399b7655a1d835aa8606c2b29e4e777baac8635zfenum { MSG_MSGDUMP, MSG_DEBUG, MSG_INFO, MSG_WARNING, MSG_ERROR };
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_printf(int, char *, ...);
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_hexdump(int, const char *, const uint8_t *, size_t);
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_supplicant_rx_eapol(void *, unsigned char *, unsigned char *, size_t);
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_supplicant_scan(void *, void *);
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_supplicant_req_scan(struct wpa_supplicant *, int, int);
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_supplicant_req_auth_timeout(struct wpa_supplicant *, int, int);
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_supplicant_cancel_auth_timeout(struct wpa_supplicant *);
a399b7655a1d835aa8606c2b29e4e777baac8635zfvoid wpa_supplicant_disassociate(struct wpa_supplicant *, int);
a399b7655a1d835aa8606c2b29e4e777baac8635zfstruct rsn_pmksa_cache *pmksa_cache_get(struct wpa_supplicant *,
a399b7655a1d835aa8606c2b29e4e777baac8635zf#endif /* __WPA_IMPL_H */