From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, kraxel@redhat.com
Subject: [Qemu-devel] [PATCH 11/13] qemu-option: New qemu_opt_next(), qemu_opt_name()
Date: Wed, 2 Jun 2010 18:55:27 +0200 [thread overview]
Message-ID: <1275497729-13120-12-git-send-email-armbru@redhat.com> (raw)
In-Reply-To: <1275497729-13120-1-git-send-email-armbru@redhat.com>
This is a more flexible alternative to qemu_opt_foreach().
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
qemu-option.c | 13 +++++++++++++
qemu-option.h | 4 ++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/qemu-option.c b/qemu-option.c
index 87e324c..c9f8be4 100644
--- a/qemu-option.c
+++ b/qemu-option.c
@@ -642,6 +642,19 @@ int qemu_opt_set(QemuOpts *opts, const char *name, const char *value)
return 0;
}
+QemuOpt *qemu_opt_next(QemuOpts *opts, QemuOpt *opt)
+{
+ if (!opt) {
+ return QTAILQ_FIRST(&opts->head);
+ }
+ return QTAILQ_NEXT(opt, next);
+}
+
+const char *qemu_opt_name(QemuOpt *opt)
+{
+ return opt->name;
+}
+
int qemu_opt_foreach(QemuOpts *opts, qemu_opt_loopfunc func, void *opaque,
int abort_on_failure)
{
diff --git a/qemu-option.h b/qemu-option.h
index 9e2406c..13c6a9d 100644
--- a/qemu-option.h
+++ b/qemu-option.h
@@ -109,6 +109,10 @@ int qemu_opt_get_bool(QemuOpts *opts, const char *name, int 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);
int qemu_opt_set(QemuOpts *opts, const char *name, const char *value);
+
+QemuOpt *qemu_opt_next(QemuOpts *opts, QemuOpt *opt);
+const char *qemu_opt_name(QemuOpt *opt);
+
typedef int (*qemu_opt_loopfunc)(const char *name, const char *value, void *opaque);
int qemu_opt_foreach(QemuOpts *opts, qemu_opt_loopfunc func, void *opaque,
int abort_on_failure);
--
1.6.6.1
next prev parent reply other threads:[~2010-06-02 16:56 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-02 16:55 [Qemu-devel] [PATCH 00/13] New -blockdev to define a host block device Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 01/13] block: Move error actions from DriveInfo to BlockDriverState Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 02/13] block: Decouple block device "commit all" from DriveInfo Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 03/13] monitor: Make "commit FOO" complain when FOO doesn't exist Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 04/13] block: New bdrv_next() Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 05/13] block: Decouple savevm from DriveInfo Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 06/13] blockdev: Give drives internal linkage Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 07/13] blockdev: Means to destroy blockdev only if made with drive_init() Markus Armbruster
2010-06-10 14:19 ` [Qemu-devel] " Kevin Wolf
2010-06-10 16:00 ` Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 08/13] qdev: Decouple qdev_prop_drive from DriveInfo Markus Armbruster
2010-06-02 19:28 ` [Qemu-devel] " Gerd Hoffmann
2010-06-04 8:22 ` Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 09/13] blockdev: drive_get_by_id() is no longer used, remove Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 10/13] qemu-option: New qemu_opts_reset() Markus Armbruster
2010-06-02 16:55 ` Markus Armbruster [this message]
2010-06-02 16:55 ` [Qemu-devel] [PATCH 12/13] blockdev: Factor option value parsers out of drive_init() Markus Armbruster
2010-06-02 16:55 ` [Qemu-devel] [PATCH 13/13] blockdev: New -blockdev to define a host block device Markus Armbruster
2010-06-03 8:00 ` Christoph Hellwig
2010-06-04 8:23 ` Markus Armbruster
2010-06-10 15:32 ` [Qemu-devel] " Paolo Bonzini
2010-06-10 16:32 ` Markus Armbruster
2010-06-10 17:03 ` Paolo Bonzini
2010-06-14 14:46 ` [Qemu-devel] " Anthony Liguori
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=1275497729-13120-12-git-send-email-armbru@redhat.com \
--to=armbru@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).