1 /* 2 * Copyright (c) 2023 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause 5 */ 6 7 #ifndef __WPA_CLI_ZEPHYR_H_ 8 #define __WPA_CLI_ZEPHYR_H_ 9 10 #include <zephyr/kernel.h> 11 12 #define SSID_MAX_LEN 32 13 14 /* Public data structures - no serialization done, so, non-nested only */ 15 struct add_network_resp { 16 int network_id; 17 }; 18 19 struct signal_poll_resp { 20 int rssi; 21 int current_txrate; 22 }; 23 24 struct status_resp { 25 char ssid_len; 26 char ssid[SSID_MAX_LEN + 1]; 27 }; 28 29 /* Public APIs */ 30 int zephyr_wpa_ctrl_init(void *wpa_s); 31 void zephyr_wpa_ctrl_deinit(void *wpa_s); 32 int zephyr_wpa_ctrl_zephyr_cmd(int argc, const char *argv[]); 33 int zephyr_wpa_cli_cmd_v(const char *fmt, ...); 34 int zephyr_wpa_cli_cmd_resp(const char *cmd, char *resp); 35 36 int z_wpa_ctrl_add_network(struct add_network_resp *resp); 37 int z_wpa_ctrl_signal_poll(struct signal_poll_resp *resp); 38 int z_wpa_ctrl_status(struct status_resp *resp); 39 40 /* Global control interface */ 41 int zephyr_global_wpa_ctrl_init(void); 42 void zephyr_global_wpa_ctrl_deinit(void); 43 int zephyr_wpa_global_ctrl_zephyr_cmd(int argc, const char *argv[]); 44 int zephyr_wpa_cli_global_cmd_v(const char *fmt, ...); 45 46 #endif /* __WPA_CLI_ZEPHYR_H_ */ 47