#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,
};