1/*
2 * Generic advertisement service (GAS) (IEEE 802.11u)
3 * Copyright (c) 2009, Atheros Communications
4 * Copyright (c) 2011-2012, Qualcomm Atheros
5 *
6 * This software may be distributed under the terms of the BSD license.
7 * See README for more details.
8 */
9
10#ifndef GAS_H
11#define GAS_H
12
13struct wpabuf * gas_build_initial_req(u8 dialog_token, size_t size);
14struct wpabuf * gas_build_comeback_req(u8 dialog_token);
15struct wpabuf * gas_build_initial_resp(u8 dialog_token, u16 status_code,
16				       u16 comeback_delay, size_t size);
17struct wpabuf *
18gas_build_comeback_resp(u8 dialog_token, u16 status_code, u8 frag_id, u8 more,
19			u16 comeback_delay, size_t size);
20struct wpabuf * gas_anqp_build_initial_req(u8 dialog_token, size_t size);
21struct wpabuf * gas_anqp_build_initial_resp(u8 dialog_token, u16 status_code,
22					    u16 comeback_delay, size_t size);
23struct wpabuf * gas_anqp_build_initial_resp_buf(u8 dialog_token,
24						u16 status_code,
25						u16 comeback_delay,
26						struct wpabuf *payload);
27struct wpabuf * gas_anqp_build_comeback_resp(u8 dialog_token, u16 status_code,
28					     u8 frag_id, u8 more,
29					     u16 comeback_delay, size_t size);
30struct wpabuf * gas_anqp_build_comeback_resp_buf(u8 dialog_token,
31						 u16 status_code,
32						 u8 frag_id, u8 more,
33						 u16 comeback_delay,
34						 struct wpabuf *payload);
35void gas_anqp_set_len(struct wpabuf *buf);
36
37u8 * gas_anqp_add_element(struct wpabuf *buf, u16 info_id);
38void gas_anqp_set_element_len(struct wpabuf *buf, u8 *len_pos);
39
40#endif /* GAS_H */
41