QemuOpts: add some functions
qemu_opt_foreach: loop over all QemuOpts entries. qemu_opts_id: return QemuOpts id. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
This commit is contained in:
parent
ec822001a2
commit
48026075ae
@ -607,6 +607,20 @@ int qemu_opt_set(QemuOpts *opts, const char *name, const char *value)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int qemu_opt_foreach(QemuOpts *opts, qemu_opt_loopfunc func, void *opaque,
|
||||
int abort_on_failure)
|
||||
{
|
||||
QemuOpt *opt;
|
||||
int rc = 0;
|
||||
|
||||
TAILQ_FOREACH(opt, &opts->head, next) {
|
||||
rc = func(opt->name, opt->str, opaque);
|
||||
if (abort_on_failure && rc != 0)
|
||||
break;
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
QemuOpts *qemu_opts_find(QemuOptsList *list, const char *id)
|
||||
{
|
||||
QemuOpts *opts;
|
||||
@ -663,6 +677,11 @@ int qemu_opts_set(QemuOptsList *list, const char *id,
|
||||
return qemu_opt_set(opts, name, value);
|
||||
}
|
||||
|
||||
const char *qemu_opts_id(QemuOpts *opts)
|
||||
{
|
||||
return opts->id;
|
||||
}
|
||||
|
||||
void qemu_opts_del(QemuOpts *opts)
|
||||
{
|
||||
QemuOpt *opt;
|
||||
|
@ -104,11 +104,15 @@ 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);
|
||||
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);
|
||||
|
||||
QemuOpts *qemu_opts_find(QemuOptsList *list, const char *id);
|
||||
QemuOpts *qemu_opts_create(QemuOptsList *list, const char *id, int fail_if_exists);
|
||||
int qemu_opts_set(QemuOptsList *list, const char *id,
|
||||
const char *name, const char *value);
|
||||
const char *qemu_opts_id(QemuOpts *opts);
|
||||
void qemu_opts_del(QemuOpts *opts);
|
||||
QemuOpts *qemu_opts_parse(QemuOptsList *list, const char *params, const char *firstname);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user