#include #define CMDS(X) \ X(block) X(openf) \ X(serialprint) void main(void) { if (argslen() == 0) { uprintf("diagdummy: no arguments\n"); quit(); } char *cmd = args()[0]; #define X(name) if (string_strcmp(cmd, #name) == 0) { \ extern void diagdummy_ ## name(void); \ diagdummy_ ## name(); \ return; \ } CMDS(X) #undef X uprintf("diagdummy: unknown cmd %s\n", cmd); }