interworking.h revision 281806
152419Sjulian/*
252419Sjulian * Interworking (IEEE 802.11u)
352419Sjulian * Copyright (c) 2011-2012, Qualcomm Atheros
452419Sjulian *
552419Sjulian * This software may be distributed under the terms of the BSD license.
670700Sjulian * See README for more details.
752419Sjulian */
852419Sjulian
952419Sjulian#ifndef INTERWORKING_H
1052419Sjulian#define INTERWORKING_H
1152419Sjulian
1252419Sjulianenum gas_query_result;
1352419Sjulian
1452419Sjulianint anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst,
1552419Sjulian		  u16 info_ids[], size_t num_ids, u32 subtypes);
1652419Sjulianvoid anqp_resp_cb(void *ctx, const u8 *dst, u8 dialog_token,
1770700Sjulian		  enum gas_query_result result,
1852419Sjulian		  const struct wpabuf *adv_proto,
1952419Sjulian		  const struct wpabuf *resp, u16 status_code);
2052419Sjulianint gas_send_request(struct wpa_supplicant *wpa_s, const u8 *dst,
2152419Sjulian		     const struct wpabuf *adv_proto,
2252419Sjulian		     const struct wpabuf *query);
2352419Sjulianint interworking_fetch_anqp(struct wpa_supplicant *wpa_s);
2452419Sjulianvoid interworking_stop_fetch_anqp(struct wpa_supplicant *wpa_s);
2552419Sjulianint interworking_select(struct wpa_supplicant *wpa_s, int auto_select,
2652419Sjulian			int *freqs);
2752419Sjulianint interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss,
2852419Sjulian			 int only_add);
2952419Sjulianvoid interworking_start_fetch_anqp(struct wpa_supplicant *wpa_s);
3052419Sjulianint interworking_home_sp_cred(struct wpa_supplicant *wpa_s,
3152419Sjulian			      struct wpa_cred *cred,
3252419Sjulian			      struct wpabuf *domain_names);
3352419Sjulianint domain_name_list_contains(struct wpabuf *domain_names,
3452419Sjulian			      const char *domain, int exact_match);
3552419Sjulian
3667506Sjulian#endif /* INTERWORKING_H */
3767506Sjulian