xref: /freebsd/contrib/wpa/src/rsn_supp/preauth.h (revision 39beb93c3f8bdbf72a61fda42300b5ebed7390c8)
139beb93cSSam Leffler /*
239beb93cSSam Leffler  * wpa_supplicant - WPA2/RSN pre-authentication functions
339beb93cSSam Leffler  * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
439beb93cSSam Leffler  *
539beb93cSSam Leffler  * This program is free software; you can redistribute it and/or modify
639beb93cSSam Leffler  * it under the terms of the GNU General Public License version 2 as
739beb93cSSam Leffler  * published by the Free Software Foundation.
839beb93cSSam Leffler  *
939beb93cSSam Leffler  * Alternatively, this software may be distributed under the terms of BSD
1039beb93cSSam Leffler  * license.
1139beb93cSSam Leffler  *
1239beb93cSSam Leffler  * See README and COPYING for more details.
1339beb93cSSam Leffler  */
1439beb93cSSam Leffler 
1539beb93cSSam Leffler #ifndef PREAUTH_H
1639beb93cSSam Leffler #define PREAUTH_H
1739beb93cSSam Leffler 
1839beb93cSSam Leffler struct wpa_scan_results;
1939beb93cSSam Leffler 
2039beb93cSSam Leffler #if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
2139beb93cSSam Leffler 
2239beb93cSSam Leffler void pmksa_candidate_free(struct wpa_sm *sm);
2339beb93cSSam Leffler int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
2439beb93cSSam Leffler 		     struct eap_peer_config *eap_conf);
2539beb93cSSam Leffler void rsn_preauth_deinit(struct wpa_sm *sm);
2639beb93cSSam Leffler void rsn_preauth_scan_results(struct wpa_sm *sm,
2739beb93cSSam Leffler 			      struct wpa_scan_results *results);
2839beb93cSSam Leffler void pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,
2939beb93cSSam Leffler 			 int prio, int preauth);
3039beb93cSSam Leffler void rsn_preauth_candidate_process(struct wpa_sm *sm);
3139beb93cSSam Leffler int rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
3239beb93cSSam Leffler 			   int verbose);
3339beb93cSSam Leffler int rsn_preauth_in_progress(struct wpa_sm *sm);
3439beb93cSSam Leffler 
3539beb93cSSam Leffler #else /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
3639beb93cSSam Leffler 
3739beb93cSSam Leffler static inline void pmksa_candidate_free(struct wpa_sm *sm)
3839beb93cSSam Leffler {
3939beb93cSSam Leffler }
4039beb93cSSam Leffler 
4139beb93cSSam Leffler static inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
4239beb93cSSam Leffler {
4339beb93cSSam Leffler }
4439beb93cSSam Leffler 
4539beb93cSSam Leffler static inline int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
4639beb93cSSam Leffler 				   struct eap_peer_config *eap_conf)
4739beb93cSSam Leffler {
4839beb93cSSam Leffler 	return -1;
4939beb93cSSam Leffler }
5039beb93cSSam Leffler 
5139beb93cSSam Leffler static inline void rsn_preauth_deinit(struct wpa_sm *sm)
5239beb93cSSam Leffler {
5339beb93cSSam Leffler }
5439beb93cSSam Leffler static inline void rsn_preauth_scan_results(struct wpa_sm *sm,
5539beb93cSSam Leffler 					    struct wpa_scan_results *results)
5639beb93cSSam Leffler {
5739beb93cSSam Leffler }
5839beb93cSSam Leffler 
5939beb93cSSam Leffler static inline void pmksa_candidate_add(struct wpa_sm *sm,
6039beb93cSSam Leffler 				       const u8 *bssid,
6139beb93cSSam Leffler 				       int prio, int preauth)
6239beb93cSSam Leffler {
6339beb93cSSam Leffler }
6439beb93cSSam Leffler 
6539beb93cSSam Leffler static inline int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,
6639beb93cSSam Leffler 					 size_t buflen, int verbose)
6739beb93cSSam Leffler {
6839beb93cSSam Leffler 	return 0;
6939beb93cSSam Leffler }
7039beb93cSSam Leffler 
7139beb93cSSam Leffler static inline int rsn_preauth_in_progress(struct wpa_sm *sm)
7239beb93cSSam Leffler {
7339beb93cSSam Leffler 	return 0;
7439beb93cSSam Leffler }
7539beb93cSSam Leffler 
7639beb93cSSam Leffler #endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
7739beb93cSSam Leffler 
7839beb93cSSam Leffler #endif /* PREAUTH_H */
79