/* * Copyright (c) 2018 Nordic Semiconductor ASA * * SPDX-License-Identifier: Apache-2.0 */ #ifndef SHELL_SHELL_WILDCARDS_H__ #define SHELL_SHELL_WILDCARDS_H__ #include enum shell_wildcard_status { SHELL_WILDCARD_CMD_ADDED, SHELL_WILDCARD_CMD_MISSING_SPACE, SHELL_WILDCARD_CMD_NO_MATCH_FOUND, /* no matching command */ SHELL_WILDCARD_NOT_FOUND /* wildcard character not found */ }; /* Function initializing wildcard expansion procedure. * * @param[in] shell Pointer to the shell instance. */ void shell_wildcard_prepare(const struct shell *shell); /* Function returns true if string contains wildcard character: '?' or '*' * * @param[in] str Pointer to string. * * @retval true wildcard character found * @retval false wildcard character not found */ bool shell_wildcard_character_exist(const char *str); /* Function expands wildcards in the shell temporary buffer * * @brief Function evaluates one command. If command contains wildcard patter, * function will expand this command with all commands matching wildcard * pattern. * * Function will print a help string with: the currently entered command, its * options,and subcommands (if they exist). * * @param[in] shell Pointer to the shell instance. * @param[in] cmd Pointer to command which will be processed. * @param[in] pattern Pointer to wildcard pattern. */ enum shell_wildcard_status shell_wildcard_process(const struct shell *shell, const struct shell_cmd_entry *cmd, const char *pattern); /* Function finalizing wildcard expansion procedure. * * @param[in] shell Pointer to the shell instance. */ void shell_wildcard_finalize(const struct shell *shell); #endif /* SHELL_SHELL_WILDCARDS_H__ */