Home | History | Annotate | Download | only in wpa_supplicant
      1 /*
      2  * wpa_supplicant / WPS integration
      3  * Copyright (c) 2008, Jouni Malinen <j (at) 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