]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
plugins/api: added a boolean parsing plugin api
authorMahmoud Mandour <ma.mandourr@gmail.com>
Fri, 30 Jul 2021 13:58:06 +0000 (15:58 +0200)
committerAlex Bennée <alex.bennee@linaro.org>
Thu, 2 Sep 2021 10:29:34 +0000 (11:29 +0100)
This call will help boolean argument parsing since arguments are now
passed to plugins as a name and value.

Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210730135817.17816-3-ma.mandourr@gmail.com>
[AJB: add to symbols]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
include/qemu/qemu-plugin.h
plugins/api.c
plugins/qemu-plugins.symbols

index e6e815abc5aab4f7b20adeb21e6d95138febdfb2..5f1017201f36350d6512f7dde08be31fd581f38b 100644 (file)
@@ -577,4 +577,17 @@ int qemu_plugin_n_max_vcpus(void);
  */
 void qemu_plugin_outs(const char *string);
 
+/**
+ * qemu_plugin_bool_parse() - parses a boolean argument in the form of
+ * "<argname>=[on|yes|true|off|no|false]"
+ *
+ * @name: argument name, the part before the equals sign
+ * @val: argument value, what's after the equals sign
+ * @ret: output return value
+ *
+ * returns true if the combination @name=@val parses correctly to a boolean
+ * argument, and false otherwise
+ */
+bool qemu_plugin_bool_parse(const char *name, const char *val, bool *ret);
+
 #endif /* QEMU_PLUGIN_API_H */
index 2d521e6ba82510a9f119a0283cc12046dfedfaf0..acff9ce8ace3bf0848c577fbf71fa8110e4340fe 100644 (file)
@@ -383,3 +383,8 @@ void qemu_plugin_outs(const char *string)
 {
     qemu_log_mask(CPU_LOG_PLUGIN, "%s", string);
 }
+
+bool qemu_plugin_bool_parse(const char *name, const char *value, bool *ret)
+{
+    return name && value && qapi_bool_parse(name, value, ret, NULL);
+}
index dee7610387b5847422d7ed7aa6b5e45e5897d817..67b309ea2a4f92d9f2308aee00cc0677957b3325 100644 (file)
@@ -1,4 +1,5 @@
 {
+  qemu_plugin_bool_parse;
   qemu_plugin_get_hwaddr;
   qemu_plugin_hwaddr_is_io;
   qemu_plugin_insn_data;