All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
cli_shell.h
1#pragma once
2
3#include <furi.h>
4#include <toolbox/pipe.h>
5#include "../cli_registry.h"
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#define CLI_SHELL_STACK_SIZE (4 * 1024U)
12
13typedef struct CliShell CliShell;
14
19typedef void (*CliShellMotd)(void* context);
20
34CliShell* cli_shell_alloc(
35 CliShellMotd motd,
36 void* context,
37 PipeSide* pipe,
38 CliRegistry* registry,
39 const CliCommandExternalConfig* ext_config);
40
46void cli_shell_free(CliShell* shell);
47
55void cli_shell_start(CliShell* shell);
56
64void cli_shell_join(CliShell* shell);
65
71void cli_shell_set_prompt(CliShell* shell, const char* prompt);
72
73#ifdef __cplusplus
74}
75#endif
API for registering commands with a CLI shell.
Pipe convenience module.
Configuration for locating external commands.
Definition cli_command.h:59
Definition cli_registry.c:8
Definition cli_shell.c:38
There are two PipeSides per pipe.
Definition pipe.c:17