Harald Welte | ff9f4ce | 2019-02-24 22:51:09 +0100 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | struct 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 | |
| 18 | void command_init(const char *prompt); |
| 19 | int command_register(const struct command_fn *cmd); |
| 20 | void command_try_recv(void); |
Harald Welte | e7aa534 | 2019-04-16 21:11:14 +0200 | [diff] [blame] | 21 | void command_print_prompt(void); |