xref: /freebsd/contrib/wpa/wpa_supplicant/hs20_supplicant.h (revision 5b9c547c072b84410b50897cc53710c75b2f6b74)
1f05cddf9SRui Paulo /*
2*5b9c547cSRui Paulo  * Copyright (c) 2011-2013, Qualcomm Atheros, Inc.
3f05cddf9SRui Paulo  *
4f05cddf9SRui Paulo  * This software may be distributed under the terms of the BSD license.
5f05cddf9SRui Paulo  * See README for more details.
6f05cddf9SRui Paulo  */
7f05cddf9SRui Paulo 
8f05cddf9SRui Paulo #ifndef HS20_SUPPLICANT_H
9f05cddf9SRui Paulo #define HS20_SUPPLICANT_H
10f05cddf9SRui Paulo 
11*5b9c547cSRui Paulo void wpas_hs20_add_indication(struct wpabuf *buf, int pps_mo_id);
12f05cddf9SRui Paulo 
13f05cddf9SRui Paulo int hs20_anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst, u32 stypes,
14f05cddf9SRui Paulo 		       const u8 *payload, size_t payload_len);
15f05cddf9SRui Paulo struct wpabuf * hs20_build_anqp_req(u32 stypes, const u8 *payload,
16f05cddf9SRui Paulo 				    size_t payload_len);
17*5b9c547cSRui Paulo void hs20_put_anqp_req(u32 stypes, const u8 *payload, size_t payload_len,
18*5b9c547cSRui Paulo 		       struct wpabuf *buf);
19f05cddf9SRui Paulo void hs20_parse_rx_hs20_anqp_resp(struct wpa_supplicant *wpa_s,
20*5b9c547cSRui Paulo 				  struct wpa_bss *bss, const u8 *sa,
21*5b9c547cSRui Paulo 				  const u8 *data, size_t slen);
22*5b9c547cSRui Paulo int is_hs20_network(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
23*5b9c547cSRui Paulo 		    struct wpa_bss *bss);
24*5b9c547cSRui Paulo int hs20_get_pps_mo_id(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
25*5b9c547cSRui Paulo void hs20_notify_parse_done(struct wpa_supplicant *wpa_s);
26*5b9c547cSRui Paulo 
27*5b9c547cSRui Paulo void hs20_rx_subscription_remediation(struct wpa_supplicant *wpa_s,
28*5b9c547cSRui Paulo 				      const char *url, u8 osu_method);
29*5b9c547cSRui Paulo void hs20_rx_deauth_imminent_notice(struct wpa_supplicant *wpa_s, u8 code,
30*5b9c547cSRui Paulo 				    u16 reauth_delay, const char *url);
31*5b9c547cSRui Paulo 
32*5b9c547cSRui Paulo void hs20_free_osu_prov(struct wpa_supplicant *wpa_s);
33*5b9c547cSRui Paulo void hs20_next_osu_icon(struct wpa_supplicant *wpa_s);
34*5b9c547cSRui Paulo void hs20_osu_icon_fetch(struct wpa_supplicant *wpa_s);
35*5b9c547cSRui Paulo int hs20_fetch_osu(struct wpa_supplicant *wpa_s);
36*5b9c547cSRui Paulo void hs20_cancel_fetch_osu(struct wpa_supplicant *wpa_s);
37*5b9c547cSRui Paulo void hs20_icon_fetch_failed(struct wpa_supplicant *wpa_s);
38*5b9c547cSRui Paulo void hs20_start_osu_scan(struct wpa_supplicant *wpa_s);
39*5b9c547cSRui Paulo void hs20_deinit(struct wpa_supplicant *wpa_s);
40f05cddf9SRui Paulo 
41f05cddf9SRui Paulo #endif /* HS20_SUPPLICANT_H */
42