interworking.h revision 302408
1256381Smarkm/*
2256381Smarkm * Interworking (IEEE 802.11u)
3256381Smarkm * Copyright (c) 2011-2012, Qualcomm Atheros
4256381Smarkm *
5256381Smarkm * This software may be distributed under the terms of the BSD license.
6256381Smarkm * See README for more details.
7256381Smarkm */
8256381Smarkm
9256381Smarkm#ifndef INTERWORKING_H
10256381Smarkm#define INTERWORKING_H
11256381Smarkm
12256381Smarkmenum gas_query_result;
13256381Smarkm
14256381Smarkmint anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst,
15256381Smarkm		  u16 info_ids[], size_t num_ids, u32 subtypes);
16256381Smarkmvoid anqp_resp_cb(void *ctx, const u8 *dst, u8 dialog_token,
17256381Smarkm		  enum gas_query_result result,
18256381Smarkm		  const struct wpabuf *adv_proto,
19256381Smarkm		  const struct wpabuf *resp, u16 status_code);
20256381Smarkmint gas_send_request(struct wpa_supplicant *wpa_s, const u8 *dst,
21256381Smarkm		     const struct wpabuf *adv_proto,
22256381Smarkm		     const struct wpabuf *query);
23256381Smarkmint interworking_fetch_anqp(struct wpa_supplicant *wpa_s);
24256381Smarkmvoid interworking_stop_fetch_anqp(struct wpa_supplicant *wpa_s);
25256381Smarkmint interworking_select(struct wpa_supplicant *wpa_s, int auto_select,
26256381Smarkm			int *freqs);
27256381Smarkmint interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
28256381Smarkm			 int only_add);
29256381Smarkmvoid interworking_start_fetch_anqp(struct wpa_supplicant *wpa_s);
30256381Smarkmint interworking_home_sp_cred(struct wpa_supplicant *wpa_s,
31256381Smarkm			      struct wpa_cred *cred,
32256381Smarkm			      struct wpabuf *domain_names);
33256381Smarkmint domain_name_list_contains(struct wpabuf *domain_names,
34256381Smarkm			      const char *domain, int exact_match);
35256381Smarkm
36256381Smarkm#endif /* INTERWORKING_H */
37256381Smarkm