1189251Ssam/*
2189251Ssam * wpa_supplicant - WPA2/RSN pre-authentication functions
3214734Srpaulo * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
4189251Ssam *
5252726Srpaulo * This software may be distributed under the terms of the BSD license.
6252726Srpaulo * See README for more details.
7189251Ssam */
8189251Ssam
9189251Ssam#ifndef PREAUTH_H
10189251Ssam#define PREAUTH_H
11189251Ssam
12189251Ssamstruct wpa_scan_results;
13189251Ssam
14189251Ssam#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
15189251Ssam
16189251Ssamvoid pmksa_candidate_free(struct wpa_sm *sm);
17189251Ssamint rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
18189251Ssam		     struct eap_peer_config *eap_conf);
19189251Ssamvoid rsn_preauth_deinit(struct wpa_sm *sm);
20214734Srpauloint rsn_preauth_scan_results(struct wpa_sm *sm);
21214734Srpaulovoid rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
22214734Srpaulo			     const u8 *ssid, const u8 *rsn);
23189251Ssamvoid pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,
24189251Ssam			 int prio, int preauth);
25189251Ssamvoid rsn_preauth_candidate_process(struct wpa_sm *sm);
26189251Ssamint rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
27189251Ssam			   int verbose);
28189251Ssamint rsn_preauth_in_progress(struct wpa_sm *sm);
29189251Ssam
30189251Ssam#else /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
31189251Ssam
32189251Ssamstatic inline void pmksa_candidate_free(struct wpa_sm *sm)
33189251Ssam{
34189251Ssam}
35189251Ssam
36189251Ssamstatic inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
37189251Ssam{
38189251Ssam}
39189251Ssam
40189251Ssamstatic inline int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
41189251Ssam				   struct eap_peer_config *eap_conf)
42189251Ssam{
43189251Ssam	return -1;
44189251Ssam}
45189251Ssam
46189251Ssamstatic inline void rsn_preauth_deinit(struct wpa_sm *sm)
47189251Ssam{
48189251Ssam}
49214734Srpaulo
50214734Srpaulostatic inline int rsn_preauth_scan_results(struct wpa_sm *sm)
51189251Ssam{
52214734Srpaulo	return -1;
53189251Ssam}
54189251Ssam
55214734Srpaulostatic inline void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
56214734Srpaulo					   const u8 *ssid, const u8 *rsn)
57214734Srpaulo{
58214734Srpaulo}
59214734Srpaulo
60189251Ssamstatic inline void pmksa_candidate_add(struct wpa_sm *sm,
61189251Ssam				       const u8 *bssid,
62189251Ssam				       int prio, int preauth)
63189251Ssam{
64189251Ssam}
65189251Ssam
66189251Ssamstatic inline int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,
67189251Ssam					 size_t buflen, int verbose)
68189251Ssam{
69189251Ssam	return 0;
70189251Ssam}
71189251Ssam
72189251Ssamstatic inline int rsn_preauth_in_progress(struct wpa_sm *sm)
73189251Ssam{
74189251Ssam	return 0;
75189251Ssam}
76189251Ssam
77189251Ssam#endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
78189251Ssam
79189251Ssam#endif /* PREAUTH_H */
80