]> git.ipfire.org Git - thirdparty/hostap.git/blame - wpa_supplicant/wps_supplicant.h
WPS ER: Add PIN configuration and SetSelectedRegistrar call
[thirdparty/hostap.git] / wpa_supplicant / wps_supplicant.h
CommitLineData
fa201b69
JM
1/*
2 * wpa_supplicant / WPS integration
52eb293d 3 * Copyright (c) 2008-2009, Jouni Malinen <j@w1.fi>
fa201b69
JM
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
f90c86d4
JM
20#include "wps/wps.h"
21#include "wps/wps_defs.h"
22
52eb293d
JM
23struct wps_new_ap_settings {
24 const char *ssid_hex;
25 const char *auth;
26 const char *encr;
27 const char *key_hex;
28};
29
116654ce
JM
30int wpas_wps_init(struct wpa_supplicant *wpa_s);
31void wpas_wps_deinit(struct wpa_supplicant *wpa_s);
fa201b69 32int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s);
f90c86d4 33enum wps_request_type wpas_wps_get_req_type(struct wpa_ssid *ssid);
fcc60db4
JM
34int wpas_wps_start_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid);
35int wpas_wps_start_pin(struct wpa_supplicant *wpa_s, const u8 *bssid,
36 const char *pin);
46bdb83a 37int wpas_wps_start_oob(struct wpa_supplicant *wpa_s, char *device_type,
e1ee6b60 38 char *path, char *method, char *name);
fcc60db4 39int wpas_wps_start_reg(struct wpa_supplicant *wpa_s, const u8 *bssid,
52eb293d 40 const char *pin, struct wps_new_ap_settings *settings);
a6099152
JM
41int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,
42 struct wpa_ssid *ssid, struct wpa_scan_res *bss);
43int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,
44 struct wpa_ssid *ssid, struct wpa_scan_res *bss);
351f09a2
JM
45int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
46 struct wpa_scan_res *selected,
47 struct wpa_ssid *ssid);
a524f05e 48void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s);
24c23d1b 49int wpas_wps_searching(struct wpa_supplicant *wpa_s);
611ed491
JM
50int wpas_wps_scan_result_text(const u8 *ies, size_t ies_len, char *pos,
51 char *end);
e9bcfebf
JM
52int wpas_wps_er_start(struct wpa_supplicant *wpa_s);
53int wpas_wps_er_stop(struct wpa_supplicant *wpa_s);
72df2f5f
JM
54int wpas_wps_er_add_pin(struct wpa_supplicant *wpa_s, const char *uuid,
55 const char *pin);
fa201b69
JM
56
57#else /* CONFIG_WPS */
58
116654ce
JM
59static inline int wpas_wps_init(struct wpa_supplicant *wpa_s)
60{
61 return 0;
62}
63
64static inline void wpas_wps_deinit(struct wpa_supplicant *wpa_s)
65{
66}
67
fa201b69
JM
68static inline int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s)
69{
70 return 0;
71}
72
351f09a2
JM
73static inline u8 wpas_wps_get_req_type(struct wpa_ssid *ssid)
74{
75 return 0;
76}
77
a6099152
JM
78static inline int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,
79 struct wpa_ssid *ssid,
351f09a2
JM
80 struct wpa_scan_res *bss)
81{
82 return -1;
83}
84
a6099152
JM
85static inline int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,
86 struct wpa_ssid *ssid,
351f09a2
JM
87 struct wpa_scan_res *bss)
88{
89 return 0;
90}
91
92static inline int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
93 struct wpa_scan_res *selected,
94 struct wpa_ssid *ssid)
fa201b69 95{
b01c18a8 96 return 0;
fa201b69
JM
97}
98
a524f05e
JM
99static inline void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s)
100{
101}
102
24c23d1b
JM
103static inline int wpas_wps_searching(struct wpa_supplicant *wpa_s)
104{
105 return 0;
106}
107
fa201b69
JM
108#endif /* CONFIG_WPS */
109
110#endif /* WPS_SUPPLICANT_H */