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