aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMATSUDA Daiki <matsudadik@intellilink.co.jp>2012-08-23 12:29:25 +0900
committerDaniel Veillard <veillard@redhat.com>2012-08-23 19:05:50 +0800
commit88555379f29c538115eca0daae1ccdd28ffa3e40 (patch)
tree6f2ee19de7eb5275e7349f98b95dd79cb6836590 /src
parentagent: add qemu driver support (diff)
downloadlibvirt-88555379f29c538115eca0daae1ccdd28ffa3e40.tar.gz
libvirt-88555379f29c538115eca0daae1ccdd28ffa3e40.tar.bz2
libvirt-88555379f29c538115eca0daae1ccdd28ffa3e40.zip
agent: add remote driver support
Add qemuDomainAgentCommand() which is generated automatically, for .qemuDomainArbitraryAgentCommand to remote driver. Signed-off-by: MATSUDA Daiki <matsudadik@intellilink.co.jp>
Diffstat (limited to 'src')
-rw-r--r--src/qemu_protocol-structs10
-rw-r--r--src/remote/qemu_protocol.x14
-rw-r--r--src/remote/remote_driver.c1
3 files changed, 24 insertions, 1 deletions
diff --git a/src/qemu_protocol-structs b/src/qemu_protocol-structs
index 67968eb7d..e6cde60cd 100644
--- a/src/qemu_protocol-structs
+++ b/src/qemu_protocol-structs
@@ -19,7 +19,17 @@ struct qemu_domain_attach_args {
struct qemu_domain_attach_ret {
remote_nonnull_domain dom;
};
+struct qemu_domain_agent_command_args {
+ remote_nonnull_domain dom;
+ remote_nonnull_string cmd;
+ int timeout;
+ u_int flags;
+};
+struct qemu_domain_agent_command_ret {
+ remote_string result;
+};
enum qemu_procedure {
QEMU_PROC_MONITOR_COMMAND = 1,
QEMU_PROC_DOMAIN_ATTACH = 2,
+ QEMU_PROC_DOMAIN_AGENT_COMMAND = 3,
};
diff --git a/src/remote/qemu_protocol.x b/src/remote/qemu_protocol.x
index c06339c8e..914caed88 100644
--- a/src/remote/qemu_protocol.x
+++ b/src/remote/qemu_protocol.x
@@ -47,6 +47,17 @@ struct qemu_domain_attach_ret {
remote_nonnull_domain dom;
};
+struct qemu_domain_agent_command_args {
+ remote_nonnull_domain dom;
+ remote_nonnull_string cmd;
+ int timeout;
+ unsigned int flags;
+};
+
+struct qemu_domain_agent_command_ret {
+ remote_string result;
+};
+
/* Define the program number, protocol version and procedure numbers here. */
const QEMU_PROGRAM = 0x20008087;
const QEMU_PROTOCOL_VERSION = 1;
@@ -61,5 +72,6 @@ enum qemu_procedure {
* are some exceptions to this rule, e.g. domainDestroy. Other APIs MAY
* be marked as high priority. If in doubt, it's safe to choose low. */
QEMU_PROC_MONITOR_COMMAND = 1, /* skipgen skipgen priority:low */
- QEMU_PROC_DOMAIN_ATTACH = 2 /* autogen autogen priority:low */
+ QEMU_PROC_DOMAIN_ATTACH = 2, /* autogen autogen priority:low */
+ QEMU_PROC_DOMAIN_AGENT_COMMAND = 3 /* autogen autogen priority:low */
};
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index def61b843..f0484a706 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -5557,6 +5557,7 @@ static virDriver remote_driver = {
.domainSetMetadata = remoteDomainSetMetadata, /* 0.9.10 */
.domainGetMetadata = remoteDomainGetMetadata, /* 0.9.10 */
.domainGetHostname = remoteDomainGetHostname, /* 0.10.0 */
+ .qemuDomainArbitraryAgentCommand = qemuDomainAgentCommand, /* 0.10.1 */
};
static virNetworkDriver network_driver = {