diff options
author | Michael Brown | 2013-07-18 16:30:00 +0200 |
---|---|---|
committer | Michael Brown | 2013-07-22 17:16:44 +0200 |
commit | 46433f9b5eb917e6ad90ffaa169febdfcf78270f (patch) | |
tree | 022ddd055a424770d7af538e5ea2b75241e07fe9 /src | |
parent | [parseopt] Allow parsed option to be modified (diff) | |
download | ipxe-46433f9b5eb917e6ad90ffaa169febdfcf78270f.tar.gz ipxe-46433f9b5eb917e6ad90ffaa169febdfcf78270f.tar.xz ipxe-46433f9b5eb917e6ad90ffaa169febdfcf78270f.zip |
[parseopt] Move parse_settings() to parseopt.c
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/parseopt.c | 23 | ||||
-rw-r--r-- | src/hci/commands/config_cmd.c | 22 | ||||
-rw-r--r-- | src/include/ipxe/parseopt.h | 3 |
3 files changed, 25 insertions, 23 deletions
diff --git a/src/core/parseopt.c b/src/core/parseopt.c index 1ae5d9b2..15cca085 100644 --- a/src/core/parseopt.c +++ b/src/core/parseopt.c @@ -28,6 +28,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <getopt.h> #include <ipxe/netdevice.h> #include <ipxe/menu.h> +#include <ipxe/settings.h> #include <ipxe/parseopt.h> /** @file @@ -173,6 +174,28 @@ int parse_key ( char *text, unsigned int *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 * * @v cmd Command descriptor diff --git a/src/hci/commands/config_cmd.c b/src/hci/commands/config_cmd.c index f1fb567c..b81c866f 100644 --- a/src/hci/commands/config_cmd.c +++ b/src/hci/commands/config_cmd.c @@ -45,28 +45,6 @@ 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 * * @v argc Argument count diff --git a/src/include/ipxe/parseopt.h b/src/include/ipxe/parseopt.h index 1e1fe6b7..8aeed974 100644 --- a/src/include/ipxe/parseopt.h +++ b/src/include/ipxe/parseopt.h @@ -14,6 +14,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); struct net_device; struct menu; +struct settings; /** A command-line option descriptor */ struct option_descriptor { @@ -120,7 +121,7 @@ extern int parse_netdev ( char *text, struct net_device **netdev ); 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, |