#include <getopt.h>
#include <ipxe/netdevice.h>
#include <ipxe/menu.h>
+#include <ipxe/settings.h>
#include <ipxe/parseopt.h>
/** @file
return parse_integer ( text, key );
}
+/**
+ * Parse settings block name
+ *
+ * @v text Text
+ * @ret value Integer value
+ * @ret rc Return status code
+ */
+int parse_settings ( char *text, struct settings **value ) {
+
+ /* Sanity check */
+ assert ( text != NULL );
+
+ /* Parse scope name */
+ *value = find_settings ( text );
+ if ( ! *value ) {
+ printf ( "\"%s\": no such scope\n", text );
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
/**
* Print command usage message
*
static struct command_descriptor config_cmd =
COMMAND_DESC ( struct config_options, config_opts, 0, 1, "[<scope>]" );
-/**
- * Parse settings scope name
- *
- * @v text Text
- * @ret value Integer value
- * @ret rc Return status code
- */
-static int parse_settings ( const char *text, struct settings **value ) {
-
- /* Sanity check */
- assert ( text != NULL );
-
- /* Parse scope name */
- *value = find_settings ( text );
- if ( ! *value ) {
- printf ( "\"%s\": no such scope\n", text );
- return -EINVAL;
- }
-
- return 0;
-}
-
/**
* "config" command
*
struct net_device;
struct menu;
+struct settings;
/** A command-line option descriptor */
struct option_descriptor {
extern int parse_menu ( char *text, struct menu **menu );
extern int parse_flag ( char *text __unused, int *flag );
extern int parse_key ( char *text, unsigned int *key );
-extern void print_usage ( struct command_descriptor *cmd, char **argv );
+extern int parse_settings ( char *text, struct settings **settings );
extern int reparse_options ( int argc, char **argv,
struct command_descriptor *cmd, void *opts );
extern int parse_options ( int argc, char **argv,