aboutsummaryrefslogtreecommitdiffstats
path: root/sysmoOCTSIM/command.h
blob: cdf256db200fd292d0a30d661d65565c56700677 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

struct command_fn {
	const char *command;
	const char *help;
	void (*fn)(int argc, char **argv);
};

#define DEFUN(funcname, cmdname, cmdstr, helpstr)	\
	static void funcname(int argc, char **argv);		\
	static struct command_fn cmdname = { 			\
		.command = cmdstr,				\
		.help = helpstr,				\
		.fn = funcname,					\
	};							\
	static void funcname(int argc, char **argv)

void command_init(const char *prompt);
int command_register(const struct command_fn *cmd);
void command_try_recv(void);