18dbcf02cSchristos /*
28dbcf02cSchristos * wpa_supplicant - WPA2/RSN pre-authentication functions
38dbcf02cSchristos * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
48dbcf02cSchristos *
5e604d861Schristos * This software may be distributed under the terms of the BSD license.
6e604d861Schristos * See README for more details.
78dbcf02cSchristos */
88dbcf02cSchristos
98dbcf02cSchristos #ifndef PREAUTH_H
108dbcf02cSchristos #define PREAUTH_H
118dbcf02cSchristos
128dbcf02cSchristos struct wpa_scan_results;
138dbcf02cSchristos
14*36ebd06eSchristos #if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA)
158dbcf02cSchristos
168dbcf02cSchristos void pmksa_candidate_free(struct wpa_sm *sm);
178dbcf02cSchristos int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
188dbcf02cSchristos struct eap_peer_config *eap_conf);
198dbcf02cSchristos void rsn_preauth_deinit(struct wpa_sm *sm);
208dbcf02cSchristos int rsn_preauth_scan_results(struct wpa_sm *sm);
218dbcf02cSchristos void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
228dbcf02cSchristos const u8 *ssid, const u8 *rsn);
238dbcf02cSchristos void pmksa_candidate_add(struct wpa_sm *sm, const u8 *bssid,
248dbcf02cSchristos int prio, int preauth);
258dbcf02cSchristos void rsn_preauth_candidate_process(struct wpa_sm *sm);
268dbcf02cSchristos int rsn_preauth_get_status(struct wpa_sm *sm, char *buf, size_t buflen,
278dbcf02cSchristos int verbose);
288dbcf02cSchristos int rsn_preauth_in_progress(struct wpa_sm *sm);
298dbcf02cSchristos
30*36ebd06eSchristos #else /* IEEE8021X_EAPOL && !CONFIG_NO_WPA */
318dbcf02cSchristos
pmksa_candidate_free(struct wpa_sm * sm)328dbcf02cSchristos static inline void pmksa_candidate_free(struct wpa_sm *sm)
338dbcf02cSchristos {
348dbcf02cSchristos }
358dbcf02cSchristos
rsn_preauth_candidate_process(struct wpa_sm * sm)368dbcf02cSchristos static inline void rsn_preauth_candidate_process(struct wpa_sm *sm)
378dbcf02cSchristos {
388dbcf02cSchristos }
398dbcf02cSchristos
rsn_preauth_init(struct wpa_sm * sm,const u8 * dst,struct eap_peer_config * eap_conf)408dbcf02cSchristos static inline int rsn_preauth_init(struct wpa_sm *sm, const u8 *dst,
418dbcf02cSchristos struct eap_peer_config *eap_conf)
428dbcf02cSchristos {
438dbcf02cSchristos return -1;
448dbcf02cSchristos }
458dbcf02cSchristos
rsn_preauth_deinit(struct wpa_sm * sm)468dbcf02cSchristos static inline void rsn_preauth_deinit(struct wpa_sm *sm)
478dbcf02cSchristos {
488dbcf02cSchristos }
498dbcf02cSchristos
rsn_preauth_scan_results(struct wpa_sm * sm)508dbcf02cSchristos static inline int rsn_preauth_scan_results(struct wpa_sm *sm)
518dbcf02cSchristos {
528dbcf02cSchristos return -1;
538dbcf02cSchristos }
548dbcf02cSchristos
rsn_preauth_scan_result(struct wpa_sm * sm,const u8 * bssid,const u8 * ssid,const u8 * rsn)558dbcf02cSchristos static inline void rsn_preauth_scan_result(struct wpa_sm *sm, const u8 *bssid,
568dbcf02cSchristos const u8 *ssid, const u8 *rsn)
578dbcf02cSchristos {
588dbcf02cSchristos }
598dbcf02cSchristos
pmksa_candidate_add(struct wpa_sm * sm,const u8 * bssid,int prio,int preauth)608dbcf02cSchristos static inline void pmksa_candidate_add(struct wpa_sm *sm,
618dbcf02cSchristos const u8 *bssid,
628dbcf02cSchristos int prio, int preauth)
638dbcf02cSchristos {
648dbcf02cSchristos }
658dbcf02cSchristos
rsn_preauth_get_status(struct wpa_sm * sm,char * buf,size_t buflen,int verbose)668dbcf02cSchristos static inline int rsn_preauth_get_status(struct wpa_sm *sm, char *buf,
678dbcf02cSchristos size_t buflen, int verbose)
688dbcf02cSchristos {
698dbcf02cSchristos return 0;
708dbcf02cSchristos }
718dbcf02cSchristos
rsn_preauth_in_progress(struct wpa_sm * sm)728dbcf02cSchristos static inline int rsn_preauth_in_progress(struct wpa_sm *sm)
738dbcf02cSchristos {
748dbcf02cSchristos return 0;
758dbcf02cSchristos }
768dbcf02cSchristos
77*36ebd06eSchristos #endif /* IEEE8021X_EAPOL && !CONFIG_NO_WPA */
788dbcf02cSchristos
798dbcf02cSchristos #endif /* PREAUTH_H */
80