summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2011-03-27 13:46:55 +0200
committerMichael Brown2011-03-27 13:46:55 +0200
commita2464342991ccd957e252c98fa7f383fcd873bae (patch)
tree457ca9cb281695c03e5750fc7ee2fd8ac30f6508
parent[tcp] Record ts_recent on first received packet (diff)
downloadipxe-a2464342991ccd957e252c98fa7f383fcd873bae.tar.gz
ipxe-a2464342991ccd957e252c98fa7f383fcd873bae.tar.xz
ipxe-a2464342991ccd957e252c98fa7f383fcd873bae.zip
[parseopt] Add support for boolean options
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/core/parseopt.c15
-rw-r--r--src/include/ipxe/parseopt.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/src/core/parseopt.c b/src/core/parseopt.c
index 451ebaf5..24a57624 100644
--- a/src/core/parseopt.c
+++ b/src/core/parseopt.c
@@ -126,6 +126,21 @@ int parse_image ( const char *text, struct image **image ) {
}
/**
+ * Parse flag
+ *
+ * @v text Text (ignored)
+ * @ret flag Flag to set
+ * @ret rc Return status code
+ */
+int parse_flag ( const char *text __unused, int *flag ) {
+
+ /* Set flag */
+ *flag = 1;
+
+ return 0;
+}
+
+/**
* Print command usage message
*
* @v cmd Command descriptor
diff --git a/src/include/ipxe/parseopt.h b/src/include/ipxe/parseopt.h
index 4cad3cca..eed40b76 100644
--- a/src/include/ipxe/parseopt.h
+++ b/src/include/ipxe/parseopt.h
@@ -118,6 +118,7 @@ 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_image ( const char *text, struct image **image );
+extern int parse_flag ( const char *text __unused, int *flag );
extern void print_usage ( struct command_descriptor *cmd, char **argv );
extern int parse_options ( int argc, char **argv,
struct command_descriptor *cmd, void *opts );