blob: 406008da101aae6380983da1a9688e504988f075 [file] [log] [blame]
/*
* Copyright (c) 2023 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
/* @file
* @brief wpa_cli implementation for Zephyr OS
*/
#include <zephyr/kernel.h>
#include <zephyr/shell/shell.h>
#include <zephyr/init.h>
#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