1 /* 2 * wpa_supplicant / WPS integration 3 * Copyright (c) 2008, Jouni Malinen <j@w1.fi> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 * 9 * Alternatively, this software may be distributed under the terms of BSD 10 * license. 11 * 12 * See README and COPYING for more details. 13 */ 14 15 #ifndef WPS_SUPPLICANT_H 16 #define WPS_SUPPLICANT_H 17 18 #ifdef CONFIG_WPS 19 20 #include "wps/wps.h" 21 #include "wps/wps_defs.h" 22 23 int wpas_wps_init(struct wpa_supplicant *wpa_s); 24 void wpas_wps_deinit(struct wpa_supplicant *wpa_s); 25 int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s); 26 enum wps_request_type wpas_wps_get_req_type(struct wpa_ssid *ssid); 27 int wpas_wps_start_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid); 28 int wpas_wps_start_pin(struct wpa_supplicant *wpa_s, const u8 *bssid, 29 const char *pin); 30 int wpas_wps_start_reg(struct wpa_supplicant *wpa_s, const u8 *bssid, 31 const char *pin); 32 int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s, 33 struct wpa_ssid *ssid, struct wpa_scan_res *bss); 34 int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s, 35 struct wpa_ssid *ssid, struct wpa_scan_res *bss); 36 int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s, 37 struct wpa_scan_res *selected, 38 struct wpa_ssid *ssid); 39 void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s); 40 int wpas_wps_searching(struct wpa_supplicant *wpa_s); 41 42 #else /* CONFIG_WPS */ 43 44 static inline int wpas_wps_init(struct wpa_supplicant *wpa_s) 45 { 46 return 0; 47 } 48 49 static inline void wpas_wps_deinit(struct wpa_supplicant *wpa_s) 50 { 51 } 52 53 static inline int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s) 54 { 55 return 0; 56 } 57 58 static inline u8 wpas_wps_get_req_type(struct wpa_ssid *ssid) 59 { 60 return 0; 61 } 62 63 static inline int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s, 64 struct wpa_ssid *ssid, 65 struct wpa_scan_res *bss) 66 { 67 return -1; 68 } 69 70 static inline int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s, 71 struct wpa_ssid *ssid, 72 struct wpa_scan_res *bss) 73 { 74 return 0; 75 } 76 77 static inline int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s, 78 struct wpa_scan_res *selected, 79 struct wpa_ssid *ssid) 80 { 81 return 0; 82 } 83 84 static inline void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s) 85 { 86 } 87 88 static inline int wpas_wps_searching(struct wpa_supplicant *wpa_s) 89 { 90 return 0; 91 } 92 93 #endif /* CONFIG_WPS */ 94 95 #endif /* WPS_SUPPLICANT_H */ 96