11f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* 21f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Interworking (IEEE 802.11u) 361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * Copyright (c) 2011-2012, Qualcomm Atheros 41f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 71f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 81f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 91f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#ifndef INTERWORKING_H 101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define INTERWORKING_H 111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtenum gas_query_result; 131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtint anqp_send_req(struct wpa_supplicant *wpa_s, const u8 *dst, 1515907098d1f67c24bb000e593e279af173cf57d7Dmitry Shmidt u16 info_ids[], size_t num_ids, u32 subtypes); 161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtvoid anqp_resp_cb(void *ctx, const u8 *dst, u8 dialog_token, 171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt enum gas_query_result result, 181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt const struct wpabuf *adv_proto, 191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt const struct wpabuf *resp, u16 status_code); 2061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtint gas_send_request(struct wpa_supplicant *wpa_s, const u8 *dst, 2161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt const struct wpabuf *adv_proto, 2261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt const struct wpabuf *query); 231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtint interworking_fetch_anqp(struct wpa_supplicant *wpa_s); 241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtvoid interworking_stop_fetch_anqp(struct wpa_supplicant *wpa_s); 25fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidtint interworking_select(struct wpa_supplicant *wpa_s, int auto_select, 26fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt int *freqs); 277f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidtint interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss, 287f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt int only_add); 2961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtvoid interworking_start_fetch_anqp(struct wpa_supplicant *wpa_s); 30d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidtint interworking_home_sp_cred(struct wpa_supplicant *wpa_s, 31d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt struct wpa_cred *cred, 32d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt struct wpabuf *domain_names); 33f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidtint domain_name_list_contains(struct wpabuf *domain_names, 34f21452aea786ac056eb01f1cbba4f553bd502747Dmitry Shmidt const char *domain, int exact_match); 351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#endif /* INTERWORKING_H */ 37