1252190Srpaulo/*
2281806Srpaulo * Copyright (c) 2011-2013, Qualcomm Atheros, Inc.
3252190Srpaulo *
4252190Srpaulo * This software may be distributed under the terms of the BSD license.
5252190Srpaulo * See README for more details.
6252190Srpaulo */
7252190Srpaulo
8252190Srpaulo#ifndef HS20_SUPPLICANT_H
9252190Srpaulo#define HS20_SUPPLICANT_H
10252190Srpaulo
11281806Srpaulovoid wpas_hs20_add_indication(struct wpabuf *buf, int pps_mo_id);
12252190Srpaulo
13252190Srpauloint hs20_anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst, u32 stypes,
14252190Srpaulo		       const u8 *payload, size_t payload_len);
15252190Srpaulostruct wpabuf * hs20_build_anqp_req(u32 stypes, const u8 *payload,
16252190Srpaulo				    size_t payload_len);
17281806Srpaulovoid hs20_put_anqp_req(u32 stypes, const u8 *payload, size_t payload_len,
18281806Srpaulo		       struct wpabuf *buf);
19252190Srpaulovoid hs20_parse_rx_hs20_anqp_resp(struct wpa_supplicant *wpa_s,
20281806Srpaulo				  struct wpa_bss *bss, const u8 *sa,
21281806Srpaulo				  const u8 *data, size_t slen);
22281806Srpauloint is_hs20_network(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
23281806Srpaulo		    struct wpa_bss *bss);
24281806Srpauloint hs20_get_pps_mo_id(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
25281806Srpaulovoid hs20_notify_parse_done(struct wpa_supplicant *wpa_s);
26252190Srpaulo
27281806Srpaulovoid hs20_rx_subscription_remediation(struct wpa_supplicant *wpa_s,
28281806Srpaulo				      const char *url, u8 osu_method);
29281806Srpaulovoid hs20_rx_deauth_imminent_notice(struct wpa_supplicant *wpa_s, u8 code,
30281806Srpaulo				    u16 reauth_delay, const char *url);
31281806Srpaulo
32281806Srpaulovoid hs20_free_osu_prov(struct wpa_supplicant *wpa_s);
33281806Srpaulovoid hs20_next_osu_icon(struct wpa_supplicant *wpa_s);
34281806Srpaulovoid hs20_osu_icon_fetch(struct wpa_supplicant *wpa_s);
35281806Srpauloint hs20_fetch_osu(struct wpa_supplicant *wpa_s);
36281806Srpaulovoid hs20_cancel_fetch_osu(struct wpa_supplicant *wpa_s);
37281806Srpaulovoid hs20_icon_fetch_failed(struct wpa_supplicant *wpa_s);
38281806Srpaulovoid hs20_start_osu_scan(struct wpa_supplicant *wpa_s);
39281806Srpaulovoid hs20_deinit(struct wpa_supplicant *wpa_s);
40281806Srpaulo
41252190Srpaulo#endif /* HS20_SUPPLICANT_H */
42