1252190Srpaulo/* 2252190Srpaulo * Generic advertisement service (GAS) query 3252190Srpaulo * Copyright (c) 2009, Atheros Communications 4252190Srpaulo * Copyright (c) 2011, Qualcomm Atheros 5252190Srpaulo * 6252190Srpaulo * This software may be distributed under the terms of the BSD license. 7252190Srpaulo * See README for more details. 8252190Srpaulo */ 9252190Srpaulo 10252190Srpaulo#ifndef GAS_QUERY_H 11252190Srpaulo#define GAS_QUERY_H 12252190Srpaulo 13252190Srpaulostruct gas_query; 14252190Srpaulo 15252190Srpaulo#ifdef CONFIG_GAS 16252190Srpaulo 17252190Srpaulostruct gas_query * gas_query_init(struct wpa_supplicant *wpa_s); 18252190Srpaulovoid gas_query_deinit(struct gas_query *gas); 19252190Srpauloint gas_query_rx(struct gas_query *gas, const u8 *da, const u8 *sa, 20252190Srpaulo const u8 *bssid, const u8 *data, size_t len, int freq); 21252190Srpaulo 22252190Srpaulo/** 23252190Srpaulo * enum gas_query_result - GAS query result 24252190Srpaulo */ 25252190Srpauloenum gas_query_result { 26252190Srpaulo GAS_QUERY_SUCCESS, 27252190Srpaulo GAS_QUERY_FAILURE, 28252190Srpaulo GAS_QUERY_TIMEOUT, 29252190Srpaulo GAS_QUERY_PEER_ERROR, 30252190Srpaulo GAS_QUERY_INTERNAL_ERROR, 31252190Srpaulo GAS_QUERY_CANCELLED, 32252190Srpaulo GAS_QUERY_DELETED_AT_DEINIT 33252190Srpaulo}; 34252190Srpaulo 35252190Srpauloint gas_query_req(struct gas_query *gas, const u8 *dst, int freq, 36252190Srpaulo struct wpabuf *req, 37252190Srpaulo void (*cb)(void *ctx, const u8 *dst, u8 dialog_token, 38252190Srpaulo enum gas_query_result result, 39252190Srpaulo const struct wpabuf *adv_proto, 40252190Srpaulo const struct wpabuf *resp, u16 status_code), 41252190Srpaulo void *ctx); 42252190Srpaulovoid gas_query_cancel(struct gas_query *gas, const u8 *dst, u8 dialog_token); 43252190Srpaulo 44252190Srpaulo#else /* CONFIG_GAS */ 45252190Srpaulo 46252190Srpaulostatic inline struct gas_query * gas_query_init(struct wpa_supplicant *wpa_s) 47252190Srpaulo{ 48252190Srpaulo return (void *) 1; 49252190Srpaulo} 50252190Srpaulo 51252190Srpaulostatic inline void gas_query_deinit(struct gas_query *gas) 52252190Srpaulo{ 53252190Srpaulo} 54252190Srpaulo 55252190Srpaulo#endif /* CONFIG_GAS */ 56252190Srpaulo 57252190Srpaulo 58252190Srpaulo#endif /* GAS_QUERY_H */ 59