xref: /freebsd/contrib/wpa/src/rsn_supp/preauth.h (revision f05cddf940dbfc5b657f5e9beb9de2c31e509e5b)
139beb93cSSam Leffler /*
239beb93cSSam Leffler  * wpa_supplicant - WPA2/RSN pre-authentication functions
3e28a4053SRui Paulo  * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
439beb93cSSam Leffler  *
5*f05cddf9SRui Paulo  * This software may be distributed under the terms of the BSD license.
6*f05cddf9SRui 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 
1439beb93cSSam Leffler #if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
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 
3039beb93cSSam Leffler #else /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
3139beb93cSSam Leffler 
3239beb93cSSam Leffler static inline void pmksa_candidate_free(struct wpa_sm *sm)
3339beb93cSSam Leffler {
3439beb93cSSam Leffler }
3539beb93cSSam Leffler 
3639beb93cSSam Leffler static inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
3739beb93cSSam Leffler {
3839beb93cSSam Leffler }
3939beb93cSSam Leffler 
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 
4639beb93cSSam Leffler static inline void rsn_preauth_deinit(struct wpa_sm *sm)
4739beb93cSSam Leffler {
4839beb93cSSam Leffler }
49e28a4053SRui Paulo 
50e28a4053SRui Paulo static inline int rsn_preauth_scan_results(struct wpa_sm *sm)
51e28a4053SRui Paulo {
52e28a4053SRui Paulo 	return -1;
53e28a4053SRui Paulo }
54e28a4053SRui Paulo 
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 
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 
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 
7239beb93cSSam Leffler static inline int rsn_preauth_in_progress(struct wpa_sm *sm)
7339beb93cSSam Leffler {
7439beb93cSSam Leffler 	return 0;
7539beb93cSSam Leffler }
7639beb93cSSam Leffler 
7739beb93cSSam Leffler #endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
7839beb93cSSam Leffler 
7939beb93cSSam Leffler #endif /* PREAUTH_H */
80