139beb93cSSam Leffler /*
239beb93cSSam Leffler * wpa_supplicant - WPA2/RSN pre-authentication functions
3e28a4053SRui Paulo * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
439beb93cSSam Leffler *
5f05cddf9SRui Paulo * This software may be distributed under the terms of the BSD license.
6f05cddf9SRui Paulo * See README for more details.
739beb93cSSam Leffler */
839beb93cSSam Leffler
939beb93cSSam Leffler #ifndef PREAUTH_H
1039beb93cSSam Leffler #define PREAUTH_H
1139beb93cSSam Leffler
1239beb93cSSam Leffler struct wpa_scan_results;
1339beb93cSSam Leffler
14*780fb4a2SCy Schubert #if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA)
1539beb93cSSam Leffler
1639beb93cSSam Leffler void pmksa_candidate_free(struct wpa_sm *sm);
1739beb93cSSam Leffler int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
1839beb93cSSam Leffler struct eap_peer_config *eap_conf);
1939beb93cSSam Leffler void rsn_preauth_deinit(struct wpa_sm *sm);
20e28a4053SRui Paulo int rsn_preauth_scan_results(struct wpa_sm *sm);
21e28a4053SRui Paulo void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
22e28a4053SRui Paulo const u8 *ssid, const u8 *rsn);
2339beb93cSSam Leffler void pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,
2439beb93cSSam Leffler int prio, int preauth);
2539beb93cSSam Leffler void rsn_preauth_candidate_process(struct wpa_sm *sm);
2639beb93cSSam Leffler int rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
2739beb93cSSam Leffler int verbose);
2839beb93cSSam Leffler int rsn_preauth_in_progress(struct wpa_sm *sm);
2939beb93cSSam Leffler
30*780fb4a2SCy Schubert #else /* IEEE8021X_EAPOL && !CONFIG_NO_WPA */
3139beb93cSSam Leffler
pmksa_candidate_free(struct wpa_sm * sm)3239beb93cSSam Leffler static inline void pmksa_candidate_free(struct wpa_sm *sm)
3339beb93cSSam Leffler {
3439beb93cSSam Leffler }
3539beb93cSSam Leffler
rsn_preauth_candidate_process(struct wpa_sm * sm)3639beb93cSSam Leffler static inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
3739beb93cSSam Leffler {
3839beb93cSSam Leffler }
3939beb93cSSam Leffler
rsn_preauth_init(struct wpa_sm * sm,const u8 * dst,struct eap_peer_config * eap_conf)4039beb93cSSam Leffler static inline int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
4139beb93cSSam Leffler struct eap_peer_config *eap_conf)
4239beb93cSSam Leffler {
4339beb93cSSam Leffler return -1;
4439beb93cSSam Leffler }
4539beb93cSSam Leffler
rsn_preauth_deinit(struct wpa_sm * sm)4639beb93cSSam Leffler static inline void rsn_preauth_deinit(struct wpa_sm *sm)
4739beb93cSSam Leffler {
4839beb93cSSam Leffler }
49e28a4053SRui Paulo
rsn_preauth_scan_results(struct wpa_sm * sm)50e28a4053SRui Paulo static inline int rsn_preauth_scan_results(struct wpa_sm *sm)
51e28a4053SRui Paulo {
52e28a4053SRui Paulo return -1;
53e28a4053SRui Paulo }
54e28a4053SRui Paulo
rsn_preauth_scan_result(struct wpa_sm * sm,const u8 * bssid,const u8 * ssid,const u8 * rsn)55e28a4053SRui Paulo static inline void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
56e28a4053SRui Paulo const u8 *ssid, const u8 *rsn)
5739beb93cSSam Leffler {
5839beb93cSSam Leffler }
5939beb93cSSam Leffler
pmksa_candidate_add(struct wpa_sm * sm,const u8 * bssid,int prio,int preauth)6039beb93cSSam Leffler static inline void pmksa_candidate_add(struct wpa_sm *sm,
6139beb93cSSam Leffler const u8 *bssid,
6239beb93cSSam Leffler int prio, int preauth)
6339beb93cSSam Leffler {
6439beb93cSSam Leffler }
6539beb93cSSam Leffler
rsn_preauth_get_status(struct wpa_sm * sm,char * buf,size_t buflen,int verbose)6639beb93cSSam Leffler static inline int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,
6739beb93cSSam Leffler size_t buflen, int verbose)
6839beb93cSSam Leffler {
6939beb93cSSam Leffler return 0;
7039beb93cSSam Leffler }
7139beb93cSSam Leffler
rsn_preauth_in_progress(struct wpa_sm * sm)7239beb93cSSam Leffler static inline int rsn_preauth_in_progress(struct wpa_sm *sm)
7339beb93cSSam Leffler {
7439beb93cSSam Leffler return 0;
7539beb93cSSam Leffler }
7639beb93cSSam Leffler
77*780fb4a2SCy Schubert #endif /* IEEE8021X_EAPOL && !CONFIG_NO_WPA */
7839beb93cSSam Leffler
7939beb93cSSam Leffler #endif /* PREAUTH_H */
80