diff --git a/src/hci/commands/route_cmd.c b/src/hci/commands/route_cmd.c index 05734972..a4f5f91d 100644 --- a/src/hci/commands/route_cmd.c +++ b/src/hci/commands/route_cmd.c @@ -21,6 +21,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include #include +#include #include /** @file @@ -29,52 +30,34 @@ FILE_LICENCE ( GPL2_OR_LATER ); * */ -/** - * "route" command syntax message - * - * @v argv Argument list - */ -static void route_syntax ( char **argv ) { - printf ( "Usage:\n" - " %s\n" - "\n" - "Displays the routing table\n", - argv[0] ); -} +/** "route" options */ +struct route_options {}; + +/** "route" option list */ +static struct option_descriptor route_opts[] = {}; + +/** "route" command descriptor */ +static struct command_descriptor route_cmd = + COMMAND_DESC ( struct route_options, route_opts, 0, 0, + "", "Display the routing table" ); /** * The "route" command * * @v argc Argument count * @v argv Argument list - * @ret rc Exit code + * @ret rc Return status code */ static int route_exec ( int argc, char **argv ) { - static struct option longopts[] = { - { "help", 0, NULL, 'h' }, - { NULL, 0, NULL, 0 }, - }; - - int c; + struct route_options opts; + int rc; /* Parse options */ - while ( ( c = getopt_long ( argc, argv, "h", longopts, NULL ) ) >= 0 ){ - switch ( c ) { - case 'h': - /* Display help text */ - default: - /* Unrecognised/invalid option */ - route_syntax ( argv ); - return 1; - } - } - - if ( optind != argc ) { - route_syntax ( argv ); - return 1; - } + if ( ( rc = parse_options ( argc, argv, &route_cmd, &opts ) ) != 0 ) + return rc; route(); + return 0; }