SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
cli.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0+ */
2
3#ifndef __CLI_H__
4#define __CLI_H__
5
6#include "cli_config.h"
7
8void msh_set_prompt(char *str);
9
10int msh_get_cmdline(char *cmdline);
11
12const char *msh_parse_line(const char *cmdline, char *argvbuf, int *pargc, char **pargv);
13
14typedef struct msh_command_entry {
15 const char *name;
16 int (*func)(int argc, const char **argv);
17 const char *description;
18 const char *usage;
20
21#define msh_command_end \
22 { 0, 0, 0, 0 }
23
24#define msh_declare_command(name) \
25 int cmd_##name(int argc, const char **argv); \
26 extern const char cmd_##name##_desc[]; \
27 extern const char cmd_##name##_usage[];
28
29#define msh_define_help(name, desc, usage) \
30 const char cmd_##name##_desc[] = desc; \
31 const char cmd_##name##_usage[] = usage;
32
33#define msh_define_command(name) \
34 { #name, cmd_##name, cmd_##name##_desc, cmd_##name##_usage }
35
37
39
40int msh_do_command(const msh_command_entry *cmdp, int argc, const char **argv);
41
42void msh_print_cmdlist(const msh_command_entry *cmdlist);
43
44const char *msh_get_command_usage(const msh_command_entry *cmdlist, const char *cmdname);
45
46#endif /*__CLI_H__*/
char cmdline[ANDR_BOOT_ARGS_SIZE]
Definition bimage.c:78
int msh_get_cmdline(char *cmdline)
Definition lineedit.c:373
const char * msh_parse_line(const char *cmdline, char *argvbuf, int *pargc, char **pargv)
Definition parse.c:112
const msh_command_entry * msh_user_commands
Definition shell.c:14
const char * msh_get_command_usage(const msh_command_entry *cmdlist, const char *cmdname)
Definition commands.c:195
void msh_set_prompt(char *str)
Definition lineedit.c:38
void msh_print_cmdlist(const msh_command_entry *cmdlist)
Definition commands.c:167
const msh_command_entry msh_builtin_commands[]
Definition commands.c:105
int msh_do_command(const msh_command_entry *cmdp, int argc, const char **argv)
Definition commands.c:146
Definition cli.h:14
const char * name
Definition cli.h:15
const char * description
Definition cli.h:17
const char * usage
Definition cli.h:18
int(* func)(int argc, const char **argv)
Definition cli.h:16