11f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* 21f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Generic advertisement service (GAS) (IEEE 802.11u) 31f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Copyright (c) 2009, Atheros Communications 461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * Copyright (c) 2011-2012, Qualcomm Atheros 51f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 7c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 81f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 91f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#ifndef GAS_H 111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define GAS_H 121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 1361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtstruct wpabuf * gas_build_initial_req(u8 dialog_token, size_t size); 141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_build_comeback_req(u8 dialog_token); 151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_build_initial_resp(u8 dialog_token, u16 status_code, 161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, size_t size); 171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_initial_req(u8 dialog_token, size_t size); 181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_initial_resp(u8 dialog_token, u16 status_code, 191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, size_t size); 201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_initial_resp_buf(u8 dialog_token, 211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 status_code, 221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, 231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt struct wpabuf *payload); 241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_comeback_resp(u8 dialog_token, u16 status_code, 251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u8 frag_id, u8 more, 261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, size_t size); 271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_comeback_resp_buf(u8 dialog_token, 281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 status_code, 291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u8 frag_id, u8 more, 301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, 311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt struct wpabuf *payload); 321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtvoid gas_anqp_set_len(struct wpabuf *buf); 331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtu8 * gas_anqp_add_element(struct wpabuf *buf, u16 info_id); 351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtvoid gas_anqp_set_element_len(struct wpabuf *buf, u8 *len_pos); 361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#endif /* GAS_H */ 38