]> xenbits.xensource.com Git - libvirt.git/commitdiff
Remote driver
authorJim Fehlig <jfehlig@novell.com>
Thu, 14 Jan 2010 01:41:13 +0000 (18:41 -0700)
committerJim Fehlig <jfehlig@novell.com>
Mon, 8 Feb 2010 17:49:43 +0000 (10:49 -0700)
Implementation of Domain{Attach,Detach}DeviceFlags in remote driver.

src/remote/remote_driver.c

index d6f5fcece247f488aa371c0e13ddadb23bb9e1ea..eb16f625ba153049f6b240fa6aaf9b25bf31ac90 100644 (file)
@@ -3056,6 +3056,32 @@ done:
     return rv;
 }
 
+static int
+remoteDomainAttachDeviceFlags (virDomainPtr domain, const char *xml,
+                               unsigned int flags)
+{
+    int rv = -1;
+    remote_domain_attach_device_flags_args args;
+    struct private_data *priv = domain->conn->privateData;
+
+    remoteDriverLock(priv);
+
+    make_nonnull_domain (&args.dom, domain);
+    args.xml = (char *) xml;
+    args.flags = flags;
+
+    if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_ATTACH_DEVICE_FLAGS,
+              (xdrproc_t) xdr_remote_domain_attach_device_flags_args, (char *) &args,
+              (xdrproc_t) xdr_void, (char *) NULL) == -1)
+        goto done;
+
+    rv = 0;
+
+done:
+    remoteDriverUnlock(priv);
+    return rv;
+}
+
 static int
 remoteDomainDetachDevice (virDomainPtr domain, const char *xml)
 {
@@ -3080,6 +3106,32 @@ done:
     return rv;
 }
 
+static int
+remoteDomainDetachDeviceFlags (virDomainPtr domain, const char *xml,
+                               unsigned int flags)
+{
+    int rv = -1;
+    remote_domain_detach_device_flags_args args;
+    struct private_data *priv = domain->conn->privateData;
+
+    remoteDriverLock(priv);
+
+    make_nonnull_domain (&args.dom, domain);
+    args.xml = (char *) xml;
+    args.flags = flags;
+
+    if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_DETACH_DEVICE_FLAGS,
+              (xdrproc_t) xdr_remote_domain_detach_device_flags_args, (char *) &args,
+              (xdrproc_t) xdr_void, (char *) NULL) == -1)
+        goto done;
+
+    rv = 0;
+
+done:
+    remoteDriverUnlock(priv);
+    return rv;
+}
+
 static int
 remoteDomainGetAutostart (virDomainPtr domain, int *autostart)
 {
@@ -8894,7 +8946,9 @@ static virDriver remote_driver = {
     remoteDomainDefineXML, /* domainDefineXML */
     remoteDomainUndefine, /* domainUndefine */
     remoteDomainAttachDevice, /* domainAttachDevice */
+    remoteDomainAttachDeviceFlags, /* domainAttachDeviceFlags */
     remoteDomainDetachDevice, /* domainDetachDevice */
+    remoteDomainDetachDeviceFlags, /* domainDetachDeviceFlags */
     remoteDomainGetAutostart, /* domainGetAutostart */
     remoteDomainSetAutostart, /* domainSetAutostart */
     remoteDomainGetSchedulerType, /* domainGetSchedulerType */