]> git.ipfire.org Git - thirdparty/hostap.git/blame - wpa_supplicant/wps_supplicant.h
EAP: Increase the maximum number of message exchanges
[thirdparty/hostap.git] / wpa_supplicant / wps_supplicant.h
CommitLineData
fa201b69
JM
1/*
2 * wpa_supplicant / WPS integration
d7645d23 3 * Copyright (c) 2008-2012, Jouni Malinen <j@w1.fi>
fa201b69 4 *
0f3d578e
JM
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
fa201b69
JM
7 */
8
9#ifndef WPS_SUPPLICANT_H
10#define WPS_SUPPLICANT_H
11
f9f0526b 12struct wpa_scan_results;
9c3a2284 13
fa201b69
JM
14#ifdef CONFIG_WPS
15
f90c86d4
JM
16#include "wps/wps.h"
17#include "wps/wps_defs.h"
18
6fa81a3b
JM
19struct wpa_bss;
20
52eb293d
JM
21struct wps_new_ap_settings {
22 const char *ssid_hex;
23 const char *auth;
24 const char *encr;
25 const char *key_hex;
26};
27
116654ce
JM
28int wpas_wps_init(struct wpa_supplicant *wpa_s);
29void wpas_wps_deinit(struct wpa_supplicant *wpa_s);
fa201b69 30int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s);
f90c86d4 31enum wps_request_type wpas_wps_get_req_type(struct wpa_ssid *ssid);
9fa243b2 32int wpas_wps_start_pbc(struct wpa_supplicant *wpa_s, const u8 *bssid,
83ebf558 33 int p2p_group, int multi_ap_backhaul_sta);
fcc60db4 34int wpas_wps_start_pin(struct wpa_supplicant *wpa_s, const u8 *bssid,
3c5126a4 35 const char *pin, int p2p_group, u16 dev_pw_id);
0a7b2a02 36void wpas_wps_pbc_overlap(struct wpa_supplicant *wpa_s);
2f9929ff 37int wpas_wps_cancel(struct wpa_supplicant *wpa_s);
fcc60db4 38int wpas_wps_start_reg(struct wpa_supplicant *wpa_s, const u8 *bssid,
52eb293d 39 const char *pin, struct wps_new_ap_settings *settings);
a6099152 40int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,
620c7837 41 struct wpa_ssid *ssid, struct wpa_bss *bss);
a6099152 42int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,
620c7837 43 struct wpa_ssid *ssid, struct wpa_bss *bss);
351f09a2 44int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
6fa81a3b 45 struct wpa_bss *selected, struct wpa_ssid *ssid);
a524f05e 46void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s);
24c23d1b 47int wpas_wps_searching(struct wpa_supplicant *wpa_s);
611ed491
JM
48int wpas_wps_scan_result_text(const u8 *ies, size_t ies_len, char *pos,
49 char *end);
08486685 50int wpas_wps_er_start(struct wpa_supplicant *wpa_s, const char *filter);
f77cedc1 51void wpas_wps_er_stop(struct wpa_supplicant *wpa_s);
31fcea93
JM
52int wpas_wps_er_add_pin(struct wpa_supplicant *wpa_s, const u8 *addr,
53 const char *uuid, const char *pin);
564cd7fa 54int wpas_wps_er_pbc(struct wpa_supplicant *wpa_s, const char *uuid);
e64dcfd5
JM
55int wpas_wps_er_learn(struct wpa_supplicant *wpa_s, const char *uuid,
56 const char *pin);
ef10f473
JM
57int wpas_wps_er_set_config(struct wpa_supplicant *wpa_s, const char *uuid,
58 int id);
7d6640a6
JM
59int wpas_wps_er_config(struct wpa_supplicant *wpa_s, const char *uuid,
60 const char *pin, struct wps_new_ap_settings *settings);
1cea09a9
JM
61struct wpabuf * wpas_wps_er_nfc_config_token(struct wpa_supplicant *wpa_s,
62 int ndef, const char *uuid);
1a1bf008 63int wpas_wps_terminate_pending(struct wpa_supplicant *wpa_s);
611aea7d 64void wpas_wps_update_config(struct wpa_supplicant *wpa_s);
bbf41865 65struct wpabuf * wpas_wps_nfc_config_token(struct wpa_supplicant *wpa_s,
88c8bf31 66 int ndef, const char *id_str);
3f2c8ba6 67struct wpabuf * wpas_wps_nfc_token(struct wpa_supplicant *wpa_s, int ndef);
23318bea
JM
68int wpas_wps_start_nfc(struct wpa_supplicant *wpa_s, const u8 *dev_addr,
69 const u8 *bssid,
5f454557 70 const struct wpabuf *dev_pw, u16 dev_pw_id,
57630e65 71 int p2p_group, const u8 *peer_pubkey_hash,
91a65018 72 const u8 *ssid, size_t ssid_len, int freq);
d7645d23 73int wpas_wps_nfc_tag_read(struct wpa_supplicant *wpa_s,
b56f6c88 74 const struct wpabuf *data, int forced_freq);
41f9ffb6
JM
75struct wpabuf * wpas_wps_nfc_handover_req(struct wpa_supplicant *wpa_s,
76 int ndef);
5ab9a6a5 77struct wpabuf * wpas_wps_nfc_handover_sel(struct wpa_supplicant *wpa_s,
f3f2ba2e 78 int ndef, int cr, const char *uuid);
e4758827
JM
79int wpas_wps_nfc_report_handover(struct wpa_supplicant *wpa_s,
80 const struct wpabuf *req,
81 const struct wpabuf *sel);
50d1f890
JM
82int wpas_er_wps_nfc_report_handover(struct wpa_supplicant *wpa_s,
83 const struct wpabuf *req,
84 const struct wpabuf *sel);
f9f0526b
JM
85void wpas_wps_update_ap_info(struct wpa_supplicant *wpa_s,
86 struct wpa_scan_results *scan_res);
87void wpas_wps_notify_assoc(struct wpa_supplicant *wpa_s, const u8 *bssid);
5e238cc6 88int wpas_wps_reenable_networks_pending(struct wpa_supplicant *wpa_s);
fa201b69
JM
89
90#else /* CONFIG_WPS */
91
116654ce
JM
92static inline int wpas_wps_init(struct wpa_supplicant *wpa_s)
93{
94 return 0;
95}
96
97static inline void wpas_wps_deinit(struct wpa_supplicant *wpa_s)
98{
99}
100
fa201b69
JM
101static inline int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s)
102{
103 return 0;
104}
105
351f09a2
JM
106static inline u8 wpas_wps_get_req_type(struct wpa_ssid *ssid)
107{
108 return 0;
109}
110
a6099152
JM
111static inline int wpas_wps_ssid_bss_match(struct wpa_supplicant *wpa_s,
112 struct wpa_ssid *ssid,
3385647d 113 struct wpa_bss *bss)
351f09a2
JM
114{
115 return -1;
116}
117
a6099152
JM
118static inline int wpas_wps_ssid_wildcard_ok(struct wpa_supplicant *wpa_s,
119 struct wpa_ssid *ssid,
d2901915 120 struct wpa_bss *bss)
351f09a2
JM
121{
122 return 0;
123}
124
125static inline int wpas_wps_scan_pbc_overlap(struct wpa_supplicant *wpa_s,
9c3a2284 126 struct wpa_bss *selected,
351f09a2 127 struct wpa_ssid *ssid)
fa201b69 128{
b01c18a8 129 return 0;
fa201b69
JM
130}
131
a524f05e
JM
132static inline void wpas_wps_notify_scan_results(struct wpa_supplicant *wpa_s)
133{
134}
135
24c23d1b
JM
136static inline int wpas_wps_searching(struct wpa_supplicant *wpa_s)
137{
138 return 0;
139}
140
f9f0526b
JM
141static inline void wpas_wps_update_ap_info(struct wpa_supplicant *wpa_s,
142 struct wpa_scan_results *scan_res)
143{
144}
145
146static inline void wpas_wps_notify_assoc(struct wpa_supplicant *wpa_s,
147 const u8 *bssid)
148{
149}
150
5e238cc6
SD
151static inline int
152wpas_wps_reenable_networks_pending(struct wpa_supplicant *wpa_s)
153{
154 return 0;
155}
156
fa201b69
JM
157#endif /* CONFIG_WPS */
158
159#endif /* WPS_SUPPLICANT_H */