aboutsummaryrefslogtreecommitdiff
path: root/qemu-option.h
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2012-08-02 13:45:54 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2012-08-02 13:16:42 -0500
commitc8057f951d64de93bfd01569c0a725baa9f94372 (patch)
treea923a40f0857c4de2e8feddbdadc4a2cc6d6bb59 /qemu-option.h
parent02d2bd5d57812154cfb978bc2098cf49d551583d (diff)
Support 'help' as a synonym for '?' in command line options
For command line options which permit '?' meaning 'please list the permitted values', add support for 'help' as a synonym, by abstracting the check out into a helper function. This change means that in some cases where we were being lazy in our string parsing, "?junk" will now be rejected as an invalid option rather than being (undocumentedly) treated the same way as "?". Update the documentation to use 'help' rather than '?', since '?' is a shell metacharacter and thus prone to fail confusingly if there is a single character filename in the current working directory and the '?' has not been escaped. It's therefore better to steer users towards 'help', though '?' is retained for backwards compatibility. We do not, however, update the output of the system emulator's -help (or any documentation autogenerated from the qemu-options.hx which is the source of the -help text) because libvirt parses our -help output and will break. At a later date when QEMU provides a better interface so libvirt can avoid having to do this, we can update the -help text too. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'qemu-option.h')
-rw-r--r--qemu-option.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/qemu-option.h b/qemu-option.h
index 951dec3cc4..ca729862d5 100644
--- a/qemu-option.h
+++ b/qemu-option.h
@@ -107,6 +107,18 @@ struct QemuOptsList {
};
const char *qemu_opt_get(QemuOpts *opts, const char *name);
+/**
+ * qemu_opt_has_help_opt:
+ * @opts: options to search for a help request
+ *
+ * Check whether the options specified by @opts include one of the
+ * standard strings which indicate that the user is asking for a
+ * list of the valid values for a command line option (as defined
+ * by is_help_option()).
+ *
+ * Returns: true if @opts includes 'help' or equivalent.
+ */
+bool qemu_opt_has_help_opt(QemuOpts *opts);
bool qemu_opt_get_bool(QemuOpts *opts, const char *name, bool defval);
uint64_t qemu_opt_get_number(QemuOpts *opts, const char *name, uint64_t defval);
uint64_t qemu_opt_get_size(QemuOpts *opts, const char *name, uint64_t defval);