xref: /freebsd/contrib/wpa/src/rsn_supp/preauth.h (revision 195ebc7e9e4b129de810833791a19dfb4349d6a9)
1 /*
2  * wpa_supplicant - WPA2/RSN pre-authentication functions
3  * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14 
15 #ifndef PREAUTH_H
16 #define PREAUTH_H
17 
18 struct wpa_scan_results;
19 
20 #if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
21 
22 void pmksa_candidate_free(struct wpa_sm *sm);
23 int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
24 		     struct eap_peer_config *eap_conf);
25 void rsn_preauth_deinit(struct wpa_sm *sm);
26 void rsn_preauth_scan_results(struct wpa_sm *sm,
27 			      struct wpa_scan_results *results);
28 void pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,
29 			 int prio, int preauth);
30 void rsn_preauth_candidate_process(struct wpa_sm *sm);
31 int rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
32 			   int verbose);
33 int rsn_preauth_in_progress(struct wpa_sm *sm);
34 
35 #else /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
36 
37 static inline void pmksa_candidate_free(struct wpa_sm *sm)
38 {
39 }
40 
41 static inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
42 {
43 }
44 
45 static inline int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
46 				   struct eap_peer_config *eap_conf)
47 {
48 	return -1;
49 }
50 
51 static inline void rsn_preauth_deinit(struct wpa_sm *sm)
52 {
53 }
54 static inline void rsn_preauth_scan_results(struct wpa_sm *sm,
55 					    struct wpa_scan_results *results)
56 {
57 }
58 
59 static inline void pmksa_candidate_add(struct wpa_sm *sm,
60 				       const u8 *bssid,
61 				       int prio, int preauth)
62 {
63 }
64 
65 static inline int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,
66 					 size_t buflen, int verbose)
67 {
68 	return 0;
69 }
70 
71 static inline int rsn_preauth_in_progress(struct wpa_sm *sm)
72 {
73 	return 0;
74 }
75 
76 #endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
77 
78 #endif /* PREAUTH_H */
79