1 /*
2  * Interworking (IEEE 802.11u)
3  * Copyright (c) 2011-2012, Qualcomm Atheros
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef INTERWORKING_H
10 #define INTERWORKING_H
11 
12 enum gas_query_result;
13 
14 int anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst, int freq,
15 		  u16 info_ids[], size_t num_ids, u32 subtypes,
16 		  u32 mbo_subtypes);
17 void anqp_resp_cb(void *ctx, const u8 *dst, u8 dialog_token,
18 		  enum gas_query_result result,
19 		  const struct wpabuf *adv_proto,
20 		  const struct wpabuf *resp, u16 status_code);
21 int gas_send_request(struct wpa_supplicant *wpa_s, const u8 *dst,
22 		     const struct wpabuf *adv_proto,
23 		     const struct wpabuf *query);
24 int interworking_fetch_anqp(struct wpa_supplicant *wpa_s);
25 void interworking_stop_fetch_anqp(struct wpa_supplicant *wpa_s);
26 int interworking_select(struct wpa_supplicant *wpa_s, int auto_select,
27 			int *freqs);
28 int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
29 			 int only_add);
30 void interworking_start_fetch_anqp(struct wpa_supplicant *wpa_s);
31 int interworking_home_sp_cred(struct wpa_supplicant *wpa_s,
32 			      struct wpa_cred *cred,
33 			      struct wpabuf *domain_names);
34 int domain_name_list_contains(struct wpabuf *domain_names,
35 			      const char *domain, int exact_match);
36 
37 #endif /* INTERWORKING_H */
38