-int foo_register_commands(struct command_context *cmd_ctx)
-{
- // register several commands under the foo command
- struct command *cmd = COMMAND_REGISTER(cmd_ctx, NULL, "foo",
- NULL, COMMAND_ANY, "foo: command handler skeleton");
-
- COMMAND_REGISTER(cmd_ctx, cmd, "bar",
- &handle_foo_command, COMMAND_ANY,
- "<address> [enable|disable] - an example command");
- COMMAND_REGISTER(cmd_ctx, cmd, "baz",
- &handle_foo_command, COMMAND_ANY,
- "<address> [enable|disable] - a sample command");
-
- COMMAND_REGISTER(cmd_ctx, cmd, "flag",
- &handle_flag_command, COMMAND_ANY,
- "[on|off] - set a flag");
-
- return ERROR_OK;
-}
+static const struct command_registration foo_command_handlers[] = {
+ {
+ .name = "bar",
+ .handler = &handle_foo_command,
+ .mode = COMMAND_ANY,
+ .usage = "address ['enable'|'disable']",
+ .help = "an example command",
+ },
+ {
+ .name = "baz",
+ .handler = &handle_foo_command,
+ .mode = COMMAND_ANY,
+ .usage = "address ['enable'|'disable']",
+ .help = "a sample command",
+ },
+ {
+ .name = "flag",
+ .handler = &handle_flag_command,
+ .mode = COMMAND_ANY,
+ .usage = "[on|off]",
+ .help = "set a flag",
+ },
+ COMMAND_REGISTRATION_DONE
+};