| #include <string.h> |
| #include <stdio.h> |
| #include <gpxe/command.h> |
| #include <gpxe/settings.h> |
| #include <gpxe/settings_ui.h> |
| |
| FILE_LICENCE ( GPL2_OR_LATER ); |
| |
| static int config_exec ( int argc, char **argv ) { |
| char *settings_name; |
| struct settings *settings; |
| int rc; |
| |
| if ( argc > 2 ) { |
| printf ( "Usage: %s [scope]\n" |
| "Opens the option configuration console\n", argv[0] ); |
| return 1; |
| } |
| |
| settings_name = ( ( argc == 2 ) ? argv[1] : "" ); |
| settings = find_settings ( settings_name ); |
| if ( ! settings ) { |
| printf ( "No such scope \"%s\"\n", settings_name ); |
| 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, |
| }; |