wps_supplicant.h revision 189261
196913Sgrog/*
296913Sgrog * wpa_supplicant / WPS integration
396913Sgrog * Copyright (c) 2008, Jouni Malinen <j@w1.fi>
496913Sgrog *
596913Sgrog * This program is free software; you can redistribute it and/or modify
696913Sgrog * it under the terms of the GNU General Public License version 2 as
796913Sgrog * published by the Free Software Foundation.
896913Sgrog *
996913Sgrog * Alternatively, this software may be distributed under the terms of BSD
1096913Sgrog * license.
1196913Sgrog *
1296913Sgrog * See README and COPYING for more details.
1396913Sgrog */
1496913Sgrog
1596913Sgrog#ifndef WPS_SUPPLICANT_H
1696913Sgrog#define WPS_SUPPLICANT_H
1796913Sgrog
1896913Sgrog#ifdef CONFIG_WPS
1996913Sgrog
2096913Sgrog#include "wps/wps.h"
2196913Sgrog#include "wps/wps_defs.h"
2296913Sgrog
2396913Sgrogint wpas_wps_init(struct wpa_supplicant *wpa_s);
2496913Sgrogvoid wpas_wps_deinit(struct wpa_supplicant *wpa_s);
2596913Sgrogint wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s);
2696913Sgrogenum wps_request_type wpas_wps_get_req_type(struct wpa_ssid *ssid);
2796913Sgrogint wpas_wps_start_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid);
2896913Sgrogint wpas_wps_start_pin(struct wpa_supplicant *wpa_s, const u8 *bssid,
2996913Sgrog		       const char *pin);
3096913Sgrogint wpas_wps_start_reg(struct wpa_supplicant *wpa_s, const u8 *bssid,
3196913Sgrog		       const char *pin);
3296913Sgrogint wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,
3396913Sgrog			    struct wpa_ssid *ssid, struct wpa_scan_res *bss);
3496913Sgrogint wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,
3596913Sgrog			      struct wpa_ssid *ssid, struct wpa_scan_res *bss);
3696911Sgrogint wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
3796911Sgrog			      struct wpa_scan_res *selected,
3896911Sgrog			      struct wpa_ssid *ssid);
3996911Sgrogvoid wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s);
4096911Sgrogint wpas_wps_searching(struct wpa_supplicant *wpa_s);
4196911Sgrog
4296911Sgrog#else /* CONFIG_WPS */
4396911Sgrog
4496911Sgrogstatic inline int wpas_wps_init(struct wpa_supplicant *wpa_s)
4596911Sgrog{
4696911Sgrog	return 0;
4796911Sgrog}
4896911Sgrog
4996911Sgrogstatic inline void wpas_wps_deinit(struct wpa_supplicant *wpa_s)
5096911Sgrog{
5196911Sgrog}
5296911Sgrog
5396911Sgrogstatic inline int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s)
5496911Sgrog{
5596911Sgrog	return 0;
5696911Sgrog}
5796911Sgrog
5896911Sgrogstatic inline u8 wpas_wps_get_req_type(struct wpa_ssid *ssid)
5996911Sgrog{
6096911Sgrog	return 0;
6196911Sgrog}
6296911Sgrog
6396911Sgrogstatic inline int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,
6496911Sgrog					  struct wpa_ssid *ssid,
6596911Sgrog					  struct wpa_scan_res *bss)
6696911Sgrog{
6796911Sgrog	return -1;
6896911Sgrog}
6996911Sgrog
7096911Sgrogstatic inline int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,
7196911Sgrog					    struct wpa_ssid *ssid,
7296911Sgrog					    struct wpa_scan_res *bss)
7396911Sgrog{
7496911Sgrog	return 0;
7596911Sgrog}
7696911Sgrog
7796911Sgrogstatic inline int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
7896911Sgrog					    struct wpa_scan_res *selected,
7996911Sgrog					    struct wpa_ssid *ssid)
8096911Sgrog{
8196911Sgrog	return 0;
8296911Sgrog}
8396911Sgrog
8496911Sgrogstatic inline void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s)
8596911Sgrog{
8696911Sgrog}
8796911Sgrog
8896911Sgrogstatic inline int wpas_wps_searching(struct wpa_supplicant *wpa_s)
8996911Sgrog{
9096911Sgrog	return 0;
9196911Sgrog}
9296911Sgrog
9396911Sgrog#endif /* CONFIG_WPS */
9496911Sgrog
9596911Sgrog#endif /* WPS_SUPPLICANT_H */
9696911Sgrog