All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mahmoud Mandour <ma.mandourr@gmail.com>
To: qemu-devel@nongnu.org
Cc: Mahmoud Mandour <ma.mandourr@gmail.com>,
	cota@braap.org, alex.bennee@linaro.org
Subject: [PATCH v4 02/13] plugins/api: added a boolean parsing plugin api
Date: Fri, 30 Jul 2021 15:58:06 +0200	[thread overview]
Message-ID: <20210730135817.17816-3-ma.mandourr@gmail.com> (raw)
In-Reply-To: <20210730135817.17816-1-ma.mandourr@gmail.com>

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>
---
 include/qemu/qemu-plugin.h | 13 +++++++++++++
 plugins/api.c              |  5 +++++
 2 files changed, 18 insertions(+)

diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h
index dc3496f36c..7d0b23c659 100644
--- a/include/qemu/qemu-plugin.h
+++ b/include/qemu/qemu-plugin.h
@@ -564,4 +564,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 */
diff --git a/plugins/api.c b/plugins/api.c
index 332e2c60e2..404a1b6120 100644
--- a/plugins/api.c
+++ b/plugins/api.c
@@ -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);
+}
-- 
2.25.1



  parent reply	other threads:[~2021-07-30 14:03 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-30 13:58 [PATCH v4 00/13] new plugin argument passing scheme Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 01/13] plugins: allow plugin arguments to be passed directly Mahmoud Mandour
2021-07-30 13:58 ` Mahmoud Mandour [this message]
2021-08-02  9:07   ` [PATCH v4 02/13] plugins/api: added a boolean parsing plugin api Alex Bennée
2021-07-30 13:58 ` [PATCH v4 03/13] plugins/hotpages: introduce sortby arg and parsed bool args correctly Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 04/13] plugins/hotblocks: Added correct boolean argument parsing Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 05/13] plugins/lockstep: make socket path not positional & parse bool arg Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 06/13] plugins/hwprofile: adapt to the new plugin arguments scheme Mahmoud Mandour
2021-08-02 10:52   ` Alex Bennée
2021-07-30 13:58 ` [PATCH v4 07/13] plugins/howvec: adapting to the new argument passing scheme Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 08/13] docs/tcg-plugins: new passing parameters scheme for cache docs Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 09/13] tests/plugins/bb: adapt to the new arg passing scheme Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 10/13] tests/plugins/insn: made arg inline not positional and parse it as bool Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 11/13] tests/plugins/mem: introduce "track" arg and make args not positional Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 12/13] tests/plugins/syscalls: adhere to new arg-passing scheme Mahmoud Mandour
2021-07-30 13:58 ` [PATCH v4 13/13] docs/deprecated: deprecate passing plugin args through `arg=` Mahmoud Mandour
2021-08-02 10:53   ` Alex Bennée
2021-08-02 13:44     ` [PATCH v5] " Mahmoud Mandour
2021-08-04 15:40 ` [PATCH v4 00/13] new plugin argument passing scheme Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210730135817.17816-3-ma.mandourr@gmail.com \
    --to=ma.mandourr@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=cota@braap.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.