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