aboutsummaryrefslogtreecommitdiff
path: root/src/include/ipxe/parseopt.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2013-07-22 16:13:25 +0100
committerMichael Brown <mcb30@ipxe.org>2013-07-22 16:16:11 +0100
commitb87020a0908669446796b83d57eaa2c093419621 (patch)
tree9c63e3ae5d0b5251811367d61b537516c96f7c2a /src/include/ipxe/parseopt.h
parent8ea5822afd5530245c391e9058f2c878a3cd0597 (diff)
downloadipxe-b87020a0908669446796b83d57eaa2c093419621.zip
ipxe-b87020a0908669446796b83d57eaa2c093419621.tar.gz
ipxe-b87020a0908669446796b83d57eaa2c093419621.tar.bz2
[parseopt] Allow parsed option to be modified
Parsing a setting name requires the ability to modify the text being parsed. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/parseopt.h')
-rw-r--r--src/include/ipxe/parseopt.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/include/ipxe/parseopt.h b/src/include/ipxe/parseopt.h
index b492a51..1e1fe6b 100644
--- a/src/include/ipxe/parseopt.h
+++ b/src/include/ipxe/parseopt.h
@@ -31,7 +31,7 @@ struct option_descriptor {
* @v value Option value to fill in
* @ret rc Return status code
*/
- int ( * parse ) ( const char *text, void *value );
+ int ( * parse ) ( char *text, void *value );
};
/**
@@ -43,9 +43,9 @@ struct option_descriptor {
* @ret _parse Generic option parser
*/
#define OPTION_PARSER( _struct, _field, _parse ) \
- ( ( int ( * ) ( const char *text, void *value ) ) \
+ ( ( int ( * ) ( char *text, void *value ) ) \
( ( ( ( typeof ( _parse ) * ) NULL ) == \
- ( ( int ( * ) ( const char *text, \
+ ( ( int ( * ) ( char *text, \
typeof ( ( ( _struct * ) NULL )->_field ) * ) ) \
NULL ) ) ? _parse : _parse ) )
@@ -114,12 +114,12 @@ struct command_descriptor {
.usage = _usage, \
}
-extern int parse_string ( const char *text, const char **value );
-extern int parse_integer ( const char *text, unsigned int *value );
-extern int parse_netdev ( const char *text, struct net_device **netdev );
-extern int parse_menu ( const char *text, struct menu **menu );
-extern int parse_flag ( const char *text __unused, int *flag );
-extern int parse_key ( const char *text, unsigned int *key );
+extern int parse_string ( char *text, char **value );
+extern int parse_integer ( char *text, unsigned int *value );
+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 reparse_options ( int argc, char **argv,
struct command_descriptor *cmd, void *opts );