blob: 55f1fce22d1ac8839fa50a44aa0883537a5bcb93 [file] [log] [blame]
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07001/*
2 * hostapd / DPP integration
3 * Copyright (c) 2017, Qualcomm Atheros, Inc.
Hai Shalomfdcde762020-04-02 11:19:20 -07004 * Copyright (c) 2018-2020, The Linux Foundation
Dmitry Shmidtd2986c22017-10-23 14:22:09 -07005 *
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
Hai Shalom4fbc08f2020-05-18 12:37:00 -070013struct dpp_bootstrap_info;
14
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070015int hostapd_dpp_qr_code(struct hostapd_data *hapd, const char *cmd);
Ahmed ElArabawy0ff61c52019-12-26 12:38:39 -080016int hostapd_dpp_nfc_uri(struct hostapd_data *hapd, const char *cmd);
Hai Shalomfdcde762020-04-02 11:19:20 -070017int hostapd_dpp_nfc_handover_req(struct hostapd_data *hapd, const char *cmd);
18int hostapd_dpp_nfc_handover_sel(struct hostapd_data *hapd, const char *cmd);
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070019int hostapd_dpp_auth_init(struct hostapd_data *hapd, const char *cmd);
Roshan Pius3a1667e2018-07-03 15:17:14 -070020int hostapd_dpp_listen(struct hostapd_data *hapd, const char *cmd);
21void hostapd_dpp_listen_stop(struct hostapd_data *hapd);
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070022void hostapd_dpp_rx_action(struct hostapd_data *hapd, const u8 *src,
23 const u8 *buf, size_t len, unsigned int freq);
24void hostapd_dpp_tx_status(struct hostapd_data *hapd, const u8 *dst,
25 const u8 *data, size_t data_len, int ok);
26struct wpabuf *
27hostapd_dpp_gas_req_handler(struct hostapd_data *hapd, const u8 *sa,
Hai Shalom81f62d82019-07-22 12:10:00 -070028 const u8 *query, size_t query_len,
29 const u8 *data, size_t data_len);
Roshan Pius3a1667e2018-07-03 15:17:14 -070030void hostapd_dpp_gas_status_handler(struct hostapd_data *hapd, int ok);
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070031int hostapd_dpp_configurator_add(struct hostapd_data *hapd, const char *cmd);
32int hostapd_dpp_configurator_remove(struct hostapd_data *hapd, const char *id);
Roshan Pius3a1667e2018-07-03 15:17:14 -070033int hostapd_dpp_configurator_sign(struct hostapd_data *hapd, const char *cmd);
34int hostapd_dpp_configurator_get_key(struct hostapd_data *hapd, unsigned int id,
35 char *buf, size_t buflen);
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070036int hostapd_dpp_pkex_add(struct hostapd_data *hapd, const char *cmd);
37int hostapd_dpp_pkex_remove(struct hostapd_data *hapd, const char *id);
Roshan Pius3a1667e2018-07-03 15:17:14 -070038void hostapd_dpp_stop(struct hostapd_data *hapd);
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070039int hostapd_dpp_init(struct hostapd_data *hapd);
40void hostapd_dpp_deinit(struct hostapd_data *hapd);
Roshan Pius3a1667e2018-07-03 15:17:14 -070041void hostapd_dpp_init_global(struct hapd_interfaces *ifaces);
42void hostapd_dpp_deinit_global(struct hapd_interfaces *ifaces);
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070043
Hai Shalom899fcc72020-10-19 14:38:18 -070044int hostapd_dpp_controller_start(struct hostapd_data *hapd, const char *cmd);
Hai Shalom4fbc08f2020-05-18 12:37:00 -070045int hostapd_dpp_chirp(struct hostapd_data *hapd, const char *cmd);
46void hostapd_dpp_chirp_stop(struct hostapd_data *hapd);
47void hostapd_dpp_remove_bi(void *ctx, struct dpp_bootstrap_info *bi);
Sunil Ravi89eba102022-09-13 21:04:37 -070048int hostapd_dpp_push_button(struct hostapd_data *hapd, const char *cmd);
49void hostapd_dpp_push_button_stop(struct hostapd_data *hapd);
50bool hostapd_dpp_configurator_connectivity(struct hostapd_data *hapd);
51int hostapd_dpp_add_controller(struct hostapd_data *hapd, const char *cmd);
52void hostapd_dpp_remove_controller(struct hostapd_data *hapd, const char *cmd);
Hai Shalom4fbc08f2020-05-18 12:37:00 -070053
Dmitry Shmidtd2986c22017-10-23 14:22:09 -070054#endif /* DPP_HOSTAPD_H */