gas.h revision 1f69aa52ea2e0a73ac502565df8c666ee49cab6a
11f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt/* 21f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Generic advertisement service (GAS) (IEEE 802.11u) 31f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Copyright (c) 2009, Atheros Communications 41f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Copyright (c) 2011, Qualcomm Atheros 51f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 61f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * This program is free software; you can redistribute it and/or modify 71f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * it under the terms of the GNU General Public License version 2 as 81f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * published by the Free Software Foundation. 91f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * Alternatively, this software may be distributed under the terms of BSD 111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * license. 121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * See README and COPYING for more details. 141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#ifndef GAS_H 171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#define GAS_H 181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_build_comeback_req(u8 dialog_token); 201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_build_initial_resp(u8 dialog_token, u16 status_code, 211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, size_t size); 221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_initial_req(u8 dialog_token, size_t size); 231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_initial_resp(u8 dialog_token, u16 status_code, 241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, size_t size); 251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_initial_resp_buf(u8 dialog_token, 261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 status_code, 271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, 281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt struct wpabuf *payload); 291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_comeback_resp(u8 dialog_token, u16 status_code, 301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u8 frag_id, u8 more, 311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, size_t size); 321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtstruct wpabuf * gas_anqp_build_comeback_resp_buf(u8 dialog_token, 331f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 status_code, 341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u8 frag_id, u8 more, 351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u16 comeback_delay, 361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt struct wpabuf *payload); 371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtvoid gas_anqp_set_len(struct wpabuf *buf); 381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtu8 * gas_anqp_add_element(struct wpabuf *buf, u16 info_id); 401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtvoid gas_anqp_set_element_len(struct wpabuf *buf, u8 *len_pos); 411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#endif /* GAS_H */ 43