]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/wpa/src/common/gas_server.h
MFV r357783:
[FreeBSD/FreeBSD.git] / contrib / wpa / src / common / gas_server.h
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 */