xref: /freebsd/contrib/wpa/src/ap/dpp_hostapd.h (revision a90b9d0159070121c221b966469c3e36d912bf82)
185732ac8SCy Schubert /*
285732ac8SCy Schubert  * hostapd / DPP integration
385732ac8SCy Schubert  * Copyright (c) 2017, Qualcomm Atheros, Inc.
4c1d255d3SCy Schubert  * Copyright (c) 2018-2020, The Linux Foundation
585732ac8SCy Schubert  *
685732ac8SCy Schubert  * This software may be distributed under the terms of the BSD license.
785732ac8SCy Schubert  * See README for more details.
885732ac8SCy Schubert  */
985732ac8SCy Schubert 
1085732ac8SCy Schubert #ifndef DPP_HOSTAPD_H
1185732ac8SCy Schubert #define DPP_HOSTAPD_H
1285732ac8SCy Schubert 
13c1d255d3SCy Schubert struct dpp_bootstrap_info;
14c1d255d3SCy Schubert 
1585732ac8SCy Schubert int hostapd_dpp_qr_code(struct hostapd_data *hapd, const char *cmd);
16c1d255d3SCy Schubert int hostapd_dpp_nfc_uri(struct hostapd_data *hapd, const char *cmd);
17c1d255d3SCy Schubert int hostapd_dpp_nfc_handover_req(struct hostapd_data *hapd, const char *cmd);
18c1d255d3SCy Schubert int hostapd_dpp_nfc_handover_sel(struct hostapd_data *hapd, const char *cmd);
1985732ac8SCy Schubert int hostapd_dpp_auth_init(struct hostapd_data *hapd, const char *cmd);
2085732ac8SCy Schubert int hostapd_dpp_listen(struct hostapd_data *hapd, const char *cmd);
2185732ac8SCy Schubert void hostapd_dpp_listen_stop(struct hostapd_data *hapd);
2285732ac8SCy Schubert void hostapd_dpp_rx_action(struct hostapd_data *hapd, const u8 *src,
2385732ac8SCy Schubert 			   const u8 *buf, size_t len, unsigned int freq);
2485732ac8SCy Schubert void hostapd_dpp_tx_status(struct hostapd_data *hapd, const u8 *dst,
2585732ac8SCy Schubert 			   const u8 *data, size_t data_len, int ok);
2685732ac8SCy Schubert struct wpabuf *
2785732ac8SCy Schubert hostapd_dpp_gas_req_handler(struct hostapd_data *hapd, const u8 *sa,
28206b73d0SCy Schubert 			    const u8 *query, size_t query_len,
29206b73d0SCy Schubert 			    const u8 *data, size_t data_len);
3085732ac8SCy Schubert void hostapd_dpp_gas_status_handler(struct hostapd_data *hapd, int ok);
3185732ac8SCy Schubert int hostapd_dpp_configurator_add(struct hostapd_data *hapd, const char *cmd);
3285732ac8SCy Schubert int hostapd_dpp_configurator_remove(struct hostapd_data *hapd, const char *id);
3385732ac8SCy Schubert int hostapd_dpp_configurator_sign(struct hostapd_data *hapd, const char *cmd);
3485732ac8SCy Schubert int hostapd_dpp_configurator_get_key(struct hostapd_data *hapd, unsigned int id,
3585732ac8SCy Schubert 				     char *buf, size_t buflen);
3685732ac8SCy Schubert int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd);
3785732ac8SCy Schubert int hostapd_dpp_pkex_remove(struct hostapd_data *hapd, const char *id);
3885732ac8SCy Schubert void hostapd_dpp_stop(struct hostapd_data *hapd);
3985732ac8SCy Schubert int hostapd_dpp_init(struct hostapd_data *hapd);
4085732ac8SCy Schubert void hostapd_dpp_deinit(struct hostapd_data *hapd);
4185732ac8SCy Schubert void hostapd_dpp_init_global(struct hapd_interfaces *ifaces);
4285732ac8SCy Schubert void hostapd_dpp_deinit_global(struct hapd_interfaces *ifaces);
4385732ac8SCy Schubert 
44c1d255d3SCy Schubert int hostapd_dpp_controller_start(struct hostapd_data *hapd, const char *cmd);
45c1d255d3SCy Schubert int hostapd_dpp_chirp(struct hostapd_data *hapd, const char *cmd);
46c1d255d3SCy Schubert void hostapd_dpp_chirp_stop(struct hostapd_data *hapd);
47c1d255d3SCy Schubert void hostapd_dpp_remove_bi(void *ctx, struct dpp_bootstrap_info *bi);
48*a90b9d01SCy Schubert int hostapd_dpp_push_button(struct hostapd_data *hapd, const char *cmd);
49*a90b9d01SCy Schubert void hostapd_dpp_push_button_stop(struct hostapd_data *hapd);
50*a90b9d01SCy Schubert bool hostapd_dpp_configurator_connectivity(struct hostapd_data *hapd);
51*a90b9d01SCy Schubert int hostapd_dpp_add_controller(struct hostapd_data *hapd, const char *cmd);
52*a90b9d01SCy Schubert void hostapd_dpp_remove_controller(struct hostapd_data *hapd, const char *cmd);
53c1d255d3SCy Schubert 
5485732ac8SCy Schubert #endif /* DPP_HOSTAPD_H */
55