diff options
Diffstat (limited to 'gpxe/src/hci/commands/config_cmd.c')
-rw-r--r-- | gpxe/src/hci/commands/config_cmd.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gpxe/src/hci/commands/config_cmd.c b/gpxe/src/hci/commands/config_cmd.c new file mode 100644 index 00000000..5a34cea2 --- /dev/null +++ b/gpxe/src/hci/commands/config_cmd.c @@ -0,0 +1,37 @@ +#include <string.h> +#include <stdio.h> +#include <gpxe/command.h> +#include <gpxe/settings.h> +#include <gpxe/settings_ui.h> + +static int config_exec ( int argc, char **argv ) { + struct settings *settings = NULL; + int rc; + + if ( argc > 2 ) { + printf ( "Usage: %s [scope]\n" + "Opens the option configuration console\n", argv[0] ); + return 1; + } + + if ( argc == 2 ) { + settings = find_settings ( argv[1] ); + if ( ! settings ) { + printf ( "No such scope \"%s\"\n", argv[1] ); + return 1; + } + } + + if ( ( rc = settings_ui ( settings ) ) != 0 ) { + printf ( "Could not save settings: %s\n", + strerror ( rc ) ); + return 1; + } + + return 0; +} + +struct command config_command __command = { + .name = "config", + .exec = config_exec, +}; |