1526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt/*
2526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * wpa_supplicant - WPA2/RSN pre-authentication functions
3526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
4526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt *
5526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * This program is free software; you can redistribute it and/or modify
6526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * it under the terms of the GNU General Public License version 2 as
7526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * published by the Free Software Foundation.
8526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt *
9526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * Alternatively, this software may be distributed under the terms of BSD
10526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * license.
11526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt *
12526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * See README and COPYING for more details.
13526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt */
14526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
15526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#ifndef PREAUTH_H
16526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#define PREAUTH_H
17526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
18526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstruct wpa_scan_results;
19526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
20526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA2)
21526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
22526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid pmksa_candidate_free(struct wpa_sm *sm);
23526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
24526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt		     struct eap_peer_config *eap_conf);
25526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid rsn_preauth_deinit(struct wpa_sm *sm);
26526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid rsn_preauth_scan_results(struct wpa_sm *sm,
27526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt			      struct wpa_scan_results *results);
28526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,
29526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt			 int prio, int preauth);
30526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid rsn_preauth_candidate_process(struct wpa_sm *sm);
31526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
32526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt			   int verbose);
33526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint rsn_preauth_in_progress(struct wpa_sm *sm);
34526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
35526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#else /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
36526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
37526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void pmksa_candidate_free(struct wpa_sm *sm)
38526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
39526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
40526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
41526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
42526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
43526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
44526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
45526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
46526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt				   struct eap_peer_config *eap_conf)
47526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
48526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt	return -1;
49526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
50526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
51526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void rsn_preauth_deinit(struct wpa_sm *sm)
52526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
53526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
54526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void rsn_preauth_scan_results(struct wpa_sm *sm,
55526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt					    struct wpa_scan_results *results)
56526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
57526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
58526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
59526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void pmksa_candidate_add(struct wpa_sm *sm,
60526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt				       const u8 *bssid,
61526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt				       int prio, int preauth)
62526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
63526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
64526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
65526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,
66526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt					 size_t buflen, int verbose)
67526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
68526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt	return 0;
69526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
70526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
71526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int rsn_preauth_in_progress(struct wpa_sm *sm)
72526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{
73526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt	return 0;
74526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt}
75526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
76526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#endif /* IEEE8021X_EAPOL and !CONFIG_NO_WPA2 */
77526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt
78526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#endif /* PREAUTH_H */
79