[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V3 06/13] libxl_qmp: Introduce list of arguments to
From: |
Anthony PERARD |
Subject: |
[Qemu-devel] [PATCH V3 06/13] libxl_qmp: Introduce list of arguments to qmp_send |
Date: |
Tue, 1 Nov 2011 16:07:19 +0000 |
Signed-off-by: Anthony PERARD <address@hidden>
Acked-by: Ian Campbell <address@hidden>
---
tools/libxl/libxl_qmp.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/tools/libxl/libxl_qmp.c b/tools/libxl/libxl_qmp.c
index ddc0a4d..43c7d04 100644
--- a/tools/libxl/libxl_qmp.c
+++ b/tools/libxl/libxl_qmp.c
@@ -72,7 +72,7 @@ struct libxl__qmp_handler {
};
static int qmp_send(libxl__qmp_handler *qmp,
- const char *cmd,
+ const char *cmd, libxl_key_value_list *args,
qmp_callback_t callback, void *opaque);
static const int QMP_SOCKET_CONNECT_TIMEOUT = 5;
@@ -161,7 +161,8 @@ static int qmp_capabilities_callback(libxl__qmp_handler
*qmp,
static int enable_qmp_capabilities(libxl__qmp_handler *qmp)
{
- return qmp_send(qmp, "qmp_capabilities", qmp_capabilities_callback, NULL);
+ return qmp_send(qmp, "qmp_capabilities", NULL,
+ qmp_capabilities_callback, NULL);
}
/*
@@ -429,7 +430,7 @@ static int qmp_next(libxl__gc *gc, libxl__qmp_handler *qmp)
}
static int qmp_send(libxl__qmp_handler *qmp,
- const char *cmd,
+ const char *cmd, libxl_key_value_list *args,
qmp_callback_t callback, void *opaque)
{
yajl_gen_config conf = { 0, NULL };
@@ -448,6 +449,10 @@ static int qmp_send(libxl__qmp_handler *qmp,
libxl__yajl_gen_asciiz(hand, cmd);
libxl__yajl_gen_asciiz(hand, "id");
yajl_gen_integer(hand, ++qmp->last_id_used);
+ if (args) {
+ libxl__yajl_gen_asciiz(hand, "arguments");
+ libxl_key_value_list_gen_json(hand, args);
+ }
yajl_gen_map_close(hand);
s = yajl_gen_get_buf(hand, &buf, &len);
@@ -491,6 +496,7 @@ error:
}
static int qmp_synchronous_send(libxl__qmp_handler *qmp, const char *cmd,
+ libxl_key_value_list *args,
qmp_callback_t callback, void *opaque,
int ask_timeout)
{
@@ -498,7 +504,7 @@ static int qmp_synchronous_send(libxl__qmp_handler *qmp,
const char *cmd,
int ret = 0;
libxl__gc gc = LIBXL_INIT_GC(qmp->ctx);
- id = qmp_send(qmp, cmd, callback, opaque);
+ id = qmp_send(qmp, cmd, args, callback, opaque);
if (id <= 0) {
return -1;
}
@@ -586,7 +592,7 @@ void libxl__qmp_cleanup(libxl__gc *gc, uint32_t domid)
int libxl__qmp_query_serial(libxl__qmp_handler *qmp)
{
- return qmp_synchronous_send(qmp, "query-chardev",
+ return qmp_synchronous_send(qmp, "query-chardev", NULL,
register_serials_chardev_callback,
NULL, qmp->timeout);
}
--
Anthony PERARD
- [Qemu-devel] [PATCH V3 03/13] libxl_qmp: Better error message after a parse error., (continued)
- [Qemu-devel] [PATCH V3 03/13] libxl_qmp: Better error message after a parse error., Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 05/13] libxl_qmp: Introduce an opaque argument to the callbacks., Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 01/13] libxl_qmp: Fix return check of fcntl, Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 08/13] libxl_qmp: Introduce qmp_request_context., Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 10/13] libxl_qmp: Introduce libxl__qmp_pci_add., Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 02/13] libxl_json: Check the parser status before to call parse_complete, Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 11/13] libxl: Use QMP to insert a passthrough device when using upstream QEMU, Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 13/13] libxl: Remove a passthrough device through QMP., Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 06/13] libxl_qmp: Introduce list of arguments to qmp_send,
Anthony PERARD <=
- [Qemu-devel] [PATCH V3 09/13] libxl_json: Handle number abrove LONG_MAX., Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 12/13] libxl_qmp: Introduce libxl__qmp_pci_del, Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 04/13] libxl: Introduce dm-version xenstore key., Anthony PERARD, 2011/11/01
- [Qemu-devel] [PATCH V3 07/13] libxl_qmp: Always insert a command id in the callback_list., Anthony PERARD, 2011/11/01
- Re: [Qemu-devel] [PATCH V3 00/13] libxl: QMP client improvement + pci passthrougth insert through QMP, Anthony PERARD, 2011/11/01