1 /*
2  * Copyright (c) 2011-2013, Qualcomm Atheros, Inc.
3  *
4  * This software may be distributed under the terms of the BSD license.
5  * See README for more details.
6  */
7 
8 #ifndef HS20_SUPPLICANT_H
9 #define HS20_SUPPLICANT_H
10 
11 void hs20_configure_frame_filters(struct wpa_supplicant *wpa_s);
12 void wpas_hs20_add_indication(struct wpabuf *buf, int pps_mo_id,
13 			      int ap_release);
14 void wpas_hs20_add_roam_cons_sel(struct wpabuf *buf,
15 				 const struct wpa_ssid *ssid);
16 
17 int hs20_anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst, u32 stypes,
18 		       const u8 *payload, size_t payload_len, int inmem);
19 void hs20_put_anqp_req(u32 stypes, const u8 *payload, size_t payload_len,
20 		       struct wpabuf *buf);
21 void hs20_parse_rx_hs20_anqp_resp(struct wpa_supplicant *wpa_s,
22 				  struct wpa_bss *bss, const u8 *sa,
23 				  const u8 *data, size_t slen, u8 dialog_token);
24 int get_hs20_version(struct wpa_bss *bss);
25 int is_hs20_network(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
26 		    struct wpa_bss *bss);
27 int hs20_get_pps_mo_id(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
28 void hs20_notify_parse_done(struct wpa_supplicant *wpa_s);
29 
30 void hs20_rx_subscription_remediation(struct wpa_supplicant *wpa_s,
31 				      const char *url, u8 osu_method);
32 void hs20_rx_deauth_imminent_notice(struct wpa_supplicant *wpa_s, u8 code,
33 				    u16 reauth_delay, const char *url);
34 void hs20_rx_t_c_acceptance(struct wpa_supplicant *wpa_s, const char *url);
35 
36 void hs20_free_osu_prov(struct wpa_supplicant *wpa_s);
37 void hs20_next_osu_icon(struct wpa_supplicant *wpa_s);
38 void hs20_osu_icon_fetch(struct wpa_supplicant *wpa_s);
39 int hs20_fetch_osu(struct wpa_supplicant *wpa_s, int skip_scan);
40 void hs20_cancel_fetch_osu(struct wpa_supplicant *wpa_s);
41 void hs20_icon_fetch_failed(struct wpa_supplicant *wpa_s);
42 void hs20_start_osu_scan(struct wpa_supplicant *wpa_s);
43 void hs20_init(struct wpa_supplicant *wpa_s);
44 void hs20_deinit(struct wpa_supplicant *wpa_s);
45 int hs20_get_icon(struct wpa_supplicant *wpa_s, const u8 *bssid,
46 		  const char *file_name, size_t offset, size_t size,
47 		  char *reply, size_t buf_len);
48 int hs20_del_icon(struct wpa_supplicant *wpa_s, const u8 *bssid,
49 		  const char *file_name);
50 
51 #endif /* HS20_SUPPLICANT_H */
52