/* * Copyright (c) 2023 Nordic Semiconductor ASA * * SPDX-License-Identifier: Apache-2.0 */ /* @file * @brief wpa_cli implementation for Zephyr OS */ #include #include #include #include "wpa_cli_zephyr.h" #ifdef CONFIG_WIFI_NM_HOSTAPD_AP #include "hostapd_cli_zephyr.h" #endif static int cmd_wpa_cli(const struct shell *sh, size_t argc, const char *argv[]) { ARG_UNUSED(sh); if (argc == 1) { shell_error(sh, "Missing argument"); return -EINVAL; } argv[argc] = "interactive"; argc++; /* Remove wpa_cli from the argument list */ return zephyr_wpa_ctrl_zephyr_cmd(argc - 1, &argv[1]); } #ifdef CONFIG_WIFI_NM_HOSTAPD_AP static int cmd_hostapd_cli(const struct shell *sh, size_t argc, const char *argv[]) { ARG_UNUSED(sh); if (argc == 1) { shell_error(sh, "Missing argument"); return -EINVAL; } argv[argc] = "interactive"; argc++; /* Remove hostapd_cli from the argument list */ return zephyr_hostapd_ctrl_zephyr_cmd(argc - 1, &argv[1]); } #endif /* Persisting with "wpa_cli" naming for compatibility with Wi-Fi * certification applications and scripts. */ SHELL_CMD_REGISTER(wpa_cli, NULL, "wpa_cli commands (only for internal use)", cmd_wpa_cli); #ifdef CONFIG_WIFI_NM_HOSTAPD_AP SHELL_CMD_REGISTER(hostapd_cli, NULL, "hostapd_cli commands (only for internal use)", cmd_hostapd_cli); #endif