1e5b75505Sopenharmony_ci/*
2e5b75505Sopenharmony_ci * wpa_supplicant - WPA2/RSN pre-authentication functions
3e5b75505Sopenharmony_ci * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
4e5b75505Sopenharmony_ci *
5e5b75505Sopenharmony_ci * This software may be distributed under the terms of the BSD license.
6e5b75505Sopenharmony_ci * See README for more details.
7e5b75505Sopenharmony_ci */
8e5b75505Sopenharmony_ci
9e5b75505Sopenharmony_ci#ifndef PREAUTH_H
10e5b75505Sopenharmony_ci#define PREAUTH_H
11e5b75505Sopenharmony_ci
12e5b75505Sopenharmony_cistruct wpa_scan_results;
13e5b75505Sopenharmony_ci
14e5b75505Sopenharmony_ci#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA)
15e5b75505Sopenharmony_ci
16e5b75505Sopenharmony_civoid pmksa_candidate_free(struct wpa_sm *sm);
17e5b75505Sopenharmony_ciint rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
18e5b75505Sopenharmony_ci		     struct eap_peer_config *eap_conf);
19e5b75505Sopenharmony_civoid rsn_preauth_deinit(struct wpa_sm *sm);
20e5b75505Sopenharmony_ciint rsn_preauth_scan_results(struct wpa_sm *sm);
21e5b75505Sopenharmony_civoid rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
22e5b75505Sopenharmony_ci			     const u8 *ssid, const u8 *rsn);
23e5b75505Sopenharmony_civoid pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,
24e5b75505Sopenharmony_ci			 int prio, int preauth);
25e5b75505Sopenharmony_civoid rsn_preauth_candidate_process(struct wpa_sm *sm);
26e5b75505Sopenharmony_ciint rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
27e5b75505Sopenharmony_ci			   int verbose);
28e5b75505Sopenharmony_ciint rsn_preauth_in_progress(struct wpa_sm *sm);
29e5b75505Sopenharmony_ci
30e5b75505Sopenharmony_ci#else /* IEEE8021X_EAPOL && !CONFIG_NO_WPA */
31e5b75505Sopenharmony_ci
32e5b75505Sopenharmony_cistatic inline void pmksa_candidate_free(struct wpa_sm *sm)
33e5b75505Sopenharmony_ci{
34e5b75505Sopenharmony_ci}
35e5b75505Sopenharmony_ci
36e5b75505Sopenharmony_cistatic inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
37e5b75505Sopenharmony_ci{
38e5b75505Sopenharmony_ci}
39e5b75505Sopenharmony_ci
40e5b75505Sopenharmony_cistatic inline int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
41e5b75505Sopenharmony_ci				   struct eap_peer_config *eap_conf)
42e5b75505Sopenharmony_ci{
43e5b75505Sopenharmony_ci	return -1;
44e5b75505Sopenharmony_ci}
45e5b75505Sopenharmony_ci
46e5b75505Sopenharmony_cistatic inline void rsn_preauth_deinit(struct wpa_sm *sm)
47e5b75505Sopenharmony_ci{
48e5b75505Sopenharmony_ci}
49e5b75505Sopenharmony_ci
50e5b75505Sopenharmony_cistatic inline int rsn_preauth_scan_results(struct wpa_sm *sm)
51e5b75505Sopenharmony_ci{
52e5b75505Sopenharmony_ci	return -1;
53e5b75505Sopenharmony_ci}
54e5b75505Sopenharmony_ci
55e5b75505Sopenharmony_cistatic inline void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
56e5b75505Sopenharmony_ci					   const u8 *ssid, const u8 *rsn)
57e5b75505Sopenharmony_ci{
58e5b75505Sopenharmony_ci}
59e5b75505Sopenharmony_ci
60e5b75505Sopenharmony_cistatic inline void pmksa_candidate_add(struct wpa_sm *sm,
61e5b75505Sopenharmony_ci				       const u8 *bssid,
62e5b75505Sopenharmony_ci				       int prio, int preauth)
63e5b75505Sopenharmony_ci{
64e5b75505Sopenharmony_ci}
65e5b75505Sopenharmony_ci
66e5b75505Sopenharmony_cistatic inline int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,
67e5b75505Sopenharmony_ci					 size_t buflen, int verbose)
68e5b75505Sopenharmony_ci{
69e5b75505Sopenharmony_ci	return 0;
70e5b75505Sopenharmony_ci}
71e5b75505Sopenharmony_ci
72e5b75505Sopenharmony_cistatic inline int rsn_preauth_in_progress(struct wpa_sm *sm)
73e5b75505Sopenharmony_ci{
74e5b75505Sopenharmony_ci	return 0;
75e5b75505Sopenharmony_ci}
76e5b75505Sopenharmony_ci
77e5b75505Sopenharmony_ci#endif /* IEEE8021X_EAPOL && !CONFIG_NO_WPA */
78e5b75505Sopenharmony_ci
79e5b75505Sopenharmony_ci#endif /* PREAUTH_H */
80