blob: 5d022dcdd064407c60e3e6ffcc5fc39475bd479e [file] [log] [blame]
Harald Welteff9f4ce2019-02-24 22:51:09 +01001#pragma once
2
3struct command_fn {
4 const char *command;
5 const char *help;
6 void (*fn)(int argc, char **argv);
7};
8
9#define DEFUN(funcname, cmdname, cmdstr, helpstr) \
10 static void funcname(int argc, char **argv); \
11 static struct command_fn cmdname = { \
12 .command = cmdstr, \
13 .help = helpstr, \
14 .fn = funcname, \
15 }; \
16 static void funcname(int argc, char **argv)
17
18void command_init(const char *prompt);
19int command_register(const struct command_fn *cmd);
20void command_try_recv(void);
Harald Weltee7aa5342019-04-16 21:11:14 +020021void command_print_prompt(void);