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