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