blob: 2d478f4fc83efe2698958fbf28215024f13f0e99 [file] [log] [blame]
Dmitry Shmidt04949592012-07-19 12:16:46 -07001/*
Dmitry Shmidtf21452a2014-02-26 10:55:25 -08002 * Copyright (c) 2011-2013, Qualcomm Atheros, Inc.
Dmitry Shmidt04949592012-07-19 12:16:46 -07003 *
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
Dmitry Shmidt849734c2016-05-27 09:59:01 -070011void hs20_configure_frame_filters(struct wpa_supplicant *wpa_s);
Hai Shalom74f70d42019-02-11 14:42:39 -080012void wpas_hs20_add_indication(struct wpabuf *buf, int pps_mo_id,
13 int ap_release);
Roshan Pius3a1667e2018-07-03 15:17:14 -070014void wpas_hs20_add_roam_cons_sel(struct wpabuf *buf,
15 const struct wpa_ssid *ssid);
Dmitry Shmidt04949592012-07-19 12:16:46 -070016
17int hs20_anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst, u32 stypes,
Dmitry Shmidt0e58d9b2015-12-22 10:59:44 -080018 const u8 *payload, size_t payload_len, int inmem);
Dmitry Shmidt15907092014-03-25 10:42:57 -070019void hs20_put_anqp_req(u32 stypes, const u8 *payload, size_t payload_len,
20 struct wpabuf *buf);
Dmitry Shmidt04949592012-07-19 12:16:46 -070021void hs20_parse_rx_hs20_anqp_resp(struct wpa_supplicant *wpa_s,
Dmitry Shmidt432d6032015-01-21 13:19:05 -080022 struct wpa_bss *bss, const u8 *sa,
Dmitry Shmidt0e58d9b2015-12-22 10:59:44 -080023 const u8 *data, size_t slen, u8 dialog_token);
Hai Shalom74f70d42019-02-11 14:42:39 -080024int get_hs20_version(struct wpa_bss *bss);
Hai Shalom2cbbcd12021-03-08 18:33:38 -080025int is_hs20_config(struct wpa_supplicant *wpa_s);
Dmitry Shmidt51b6ea82013-05-08 10:42:09 -070026int is_hs20_network(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
27 struct wpa_bss *bss);
Dmitry Shmidtf21452a2014-02-26 10:55:25 -080028int hs20_get_pps_mo_id(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
29void hs20_notify_parse_done(struct wpa_supplicant *wpa_s);
30
31void hs20_rx_subscription_remediation(struct wpa_supplicant *wpa_s,
32 const char *url, u8 osu_method);
33void hs20_rx_deauth_imminent_notice(struct wpa_supplicant *wpa_s, u8 code,
34 u16 reauth_delay, const char *url);
Roshan Pius3a1667e2018-07-03 15:17:14 -070035void hs20_rx_t_c_acceptance(struct wpa_supplicant *wpa_s, const char *url);
Dmitry Shmidtf21452a2014-02-26 10:55:25 -080036
37void hs20_free_osu_prov(struct wpa_supplicant *wpa_s);
38void hs20_next_osu_icon(struct wpa_supplicant *wpa_s);
39void hs20_osu_icon_fetch(struct wpa_supplicant *wpa_s);
Dmitry Shmidt58d12ad2016-07-28 10:07:03 -070040int hs20_fetch_osu(struct wpa_supplicant *wpa_s, int skip_scan);
Dmitry Shmidtf21452a2014-02-26 10:55:25 -080041void hs20_cancel_fetch_osu(struct wpa_supplicant *wpa_s);
42void hs20_icon_fetch_failed(struct wpa_supplicant *wpa_s);
43void hs20_start_osu_scan(struct wpa_supplicant *wpa_s);
Dmitry Shmidt0e58d9b2015-12-22 10:59:44 -080044void hs20_init(struct wpa_supplicant *wpa_s);
Dmitry Shmidt684785c2014-05-12 13:34:29 -070045void hs20_deinit(struct wpa_supplicant *wpa_s);
Dmitry Shmidt0e58d9b2015-12-22 10:59:44 -080046int hs20_get_icon(struct wpa_supplicant *wpa_s, const u8 *bssid,
47 const char *file_name, size_t offset, size_t size,
48 char *reply, size_t buf_len);
49int hs20_del_icon(struct wpa_supplicant *wpa_s, const u8 *bssid,
50 const char *file_name);
Dmitry Shmidt04949592012-07-19 12:16:46 -070051
52#endif /* HS20_SUPPLICANT_H */