1 /*
2  * hostapd / DPP integration
3  * Copyright (c) 2017, Qualcomm Atheros, Inc.
4  * Copyright (c) 2018-2020, The Linux Foundation
5  *
6  * This software may be distributed under the terms of the BSD license.
7  * See README for more details.
8  */
9 
10 #ifndef DPP_HOSTAPD_H
11 #define DPP_HOSTAPD_H
12 
13 struct dpp_bootstrap_info;
14 
15 int hostapd_dpp_qr_code(struct hostapd_data *hapd, const char *cmd);
16 int hostapd_dpp_nfc_uri(struct hostapd_data *hapd, const char *cmd);
17 int hostapd_dpp_nfc_handover_req(struct hostapd_data *hapd, const char *cmd);
18 int hostapd_dpp_nfc_handover_sel(struct hostapd_data *hapd, const char *cmd);
19 int hostapd_dpp_auth_init(struct hostapd_data *hapd, const char *cmd);
20 int hostapd_dpp_listen(struct hostapd_data *hapd, const char *cmd);
21 void hostapd_dpp_listen_stop(struct hostapd_data *hapd);
22 void hostapd_dpp_rx_action(struct hostapd_data *hapd, const u8 *src,
23 			   const u8 *buf, size_t len, unsigned int freq);
24 void hostapd_dpp_tx_status(struct hostapd_data *hapd, const u8 *dst,
25 			   const u8 *data, size_t data_len, int ok);
26 struct wpabuf *
27 hostapd_dpp_gas_req_handler(struct hostapd_data *hapd, const u8 *sa,
28 			    const u8 *query, size_t query_len,
29 			    const u8 *data, size_t data_len);
30 void hostapd_dpp_gas_status_handler(struct hostapd_data *hapd, int ok);
31 int hostapd_dpp_configurator_add(struct hostapd_data *hapd, const char *cmd);
32 int hostapd_dpp_configurator_remove(struct hostapd_data *hapd, const char *id);
33 int hostapd_dpp_configurator_sign(struct hostapd_data *hapd, const char *cmd);
34 int hostapd_dpp_configurator_get_key(struct hostapd_data *hapd, unsigned int id,
35 				     char *buf, size_t buflen);
36 int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd);
37 int hostapd_dpp_pkex_remove(struct hostapd_data *hapd, const char *id);
38 void hostapd_dpp_stop(struct hostapd_data *hapd);
39 int hostapd_dpp_init(struct hostapd_data *hapd);
40 void hostapd_dpp_deinit(struct hostapd_data *hapd);
41 void hostapd_dpp_init_global(struct hapd_interfaces *ifaces);
42 void hostapd_dpp_deinit_global(struct hapd_interfaces *ifaces);
43 
44 int hostapd_dpp_controller_start(struct hostapd_data *hapd, const char *cmd);
45 int hostapd_dpp_chirp(struct hostapd_data *hapd, const char *cmd);
46 void hostapd_dpp_chirp_stop(struct hostapd_data *hapd);
47 void hostapd_dpp_remove_bi(void *ctx, struct dpp_bootstrap_info *bi);
48 
49 #endif /* DPP_HOSTAPD_H */
50