1 /* 2 * Generic advertisement service (GAS) server 3 * Copyright (c) 2017, Qualcomm Atheros, Inc. 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #ifndef GAS_SERVER_H 10 #define GAS_SERVER_H 11 12 #ifdef CONFIG_GAS_SERVER 13 14 struct gas_server; 15 16 struct gas_server * gas_server_init(void *ctx, 17 void (*tx)(void *ctx, int freq, 18 const u8 *da, 19 struct wpabuf *buf, 20 unsigned int wait_time)); 21 void gas_server_deinit(struct gas_server *gas); 22 int gas_server_register(struct gas_server *gas, 23 const u8 *adv_proto_id, u8 adv_proto_id_len, 24 struct wpabuf * 25 (*req_cb)(void *ctx, const u8 *sa, 26 const u8 *query, size_t query_len), 27 void (*status_cb)(void *ctx, struct wpabuf *resp, 28 int ok), 29 void *ctx); 30 int gas_server_rx(struct gas_server *gas, const u8 *da, const u8 *sa, 31 const u8 *bssid, u8 categ, const u8 *data, size_t len, 32 int freq); 33 void gas_server_tx_status(struct gas_server *gas, const u8 *dst, const u8 *data, 34 size_t data_len, int ack); 35 36 #else /* CONFIG_GAS_SERVER */ 37 38 static inline void gas_server_deinit(struct gas_server *gas) 39 { 40 } 41 42 #endif /* CONFIG_GAS_SERVER */ 43 44 #endif /* GAS_SERVER_H */ 45