From 9de503f95714ac3374ef20727b8b665a3578a8e7 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Sat, 23 Apr 2011 16:33:57 +0200 Subject: [PATCH] remote generator, client: Handle functions with simple return values --- daemon/remote_generator.pl | 122 +-- src/remote/remote_client_bodies.c | 1147 +++++++++++++++++++++++++++-- src/remote/remote_driver.c | 1147 +---------------------------- 3 files changed, 1178 insertions(+), 1238 deletions(-) diff --git a/daemon/remote_generator.pl b/daemon/remote_generator.pl index b5c350b698..79dc076912 100755 --- a/daemon/remote_generator.pl +++ b/daemon/remote_generator.pl @@ -754,63 +754,42 @@ elsif ($opt_k) { "AuthPolkit", "CPUBaseline", - "CPUCompare", "DomainBlockStats", "DomainCreate", "DomainCreateXML", "DomainDefineXML", "DomainDestroy", - "DomainDumpXML", "DomainGetAutostart", "DomainGetBlockInfo", "DomainGetInfo", "StoragePoolLookupByUUID", - "StoragePoolNumOfVolumes", "NodeDeviceCreateXML", "DomainGetJobInfo", - "DomainGetMaxMemory", - "DomainGetOSType", - "DomainGetVcpusFlags", - "HasCurrentSnapshot", "DomainInterfaceStats", - "DomainIsActive", - "DomainIsPersistent", - "DomainIsUpdated", "DomainLookupByID", "DomainLookupByName", "DomainLookupByUIID", "DomainMigrateFinish", - "DomainGetMaxVcpus", - "DomainHasCurrentSnapshot", "NWFilterDefineXML", - "NumOfStoragePools", "NWFilterLookupByName", "NWFilterLookupByUUID", "SecretLookupByUUID", "SecretLookupByUsage", "StoragePoolCreateXML", - "StoragePoolIsActive", - "DomainHasManagedSaveImage", "DomainLookupByUUID", "DomainMigratePerform", "DomainMigrateFinish2", "DomainSnapshotCreateXML", - "DomainSnapshotDumpXML", - "DomainSnapshotNum", "DomainSnapshotCurrent", "DomainSnapshotListNames", - "GetCapabilities", - "GetHostname", "GetLibVersion", "GetMaxVcpus", "DomainSnapshotLookupByName", "DomainXMLFromNative", "FindStoragePoolSources", - "GetSysinfo", "GetVersion", "GetLibVersion", "InterfaceDefineXML", - "InterfaceGetXMLDesc", "InterfaceLookupByName", "IsSecure", "ListDefinedDomains", @@ -823,40 +802,22 @@ elsif ($opt_k) { "StorageVolCreateXML", "StorageVolLookupByName", "StorageVolLookupByKey", - "StoragePoolIsPersistent", "StoragePoolGetInfo", - "StorageVolGetPath", "StorageVolCreateXMLFrom", "StoragePoolLookupByName", - "SecretGetXMLDesc", - "NWFilterGetXMLDesc", - "NumOfNWFilters", - "NumOfInterfaces", - "NumOfDomains", - "NumOfDefinedStoragePools", "NodeListDevices", "NodeGetCellsFreeMemory", - "NodeDeviceDumpXML", - "NetworkIsActive", "ListDefinedNetworks", "DomainXMLToNative", - "StorageVolDumpXML", "StoragePoolListVolumes", - "StoragePoolDumpXML", "SecretDefineXML", - "NumOfDefinedNetworks", - "InterfaceIsActive", "ListDomains", "ListStoragePools", - "NetworkDumpXML", "NetworkGetAutostart", - "NetworkGetBridgeName", "StoragePoolLookupByVolume", "StoragePoolGetAutostart", "SecretSetValue", - "NumOfDefinedInterfaces", "StoragePoolDefineXML", - "NodeNumOfDevices", "NodeGetInfo", "GetURI", "InterfaceLookupByMACString", @@ -864,18 +825,13 @@ elsif ($opt_k) { "NetworkDefineXML", "NetworkLookupByName", "ListDefinedStoragePools", - "NetworkIsPersistent", "NodeDeviceDettach", "NodeDeviceLookupByName", "NodeGetFreeMemory", - "NumOfDefinedDomains", "ListNetworks", "NodeDeviceListCaps", "NodeDeviceReset", - "NumOfNetworks", "NetworkLookupByUUID", - "NodeDeviceNumOfCaps", - "NumOfSecrets", "NodeDeviceReAttach", "ListSecrets", @@ -919,13 +875,16 @@ elsif ($opt_k) { my @args_list = (); my @vars_list = (); my @setters_list = (); + my @ret_list = (); my $priv_src = "conn"; my $priv_name = "privateData"; - my $args = "&args"; - my $ret = "&ret"; + my $call_args = "&args"; + my $call_ret = "&ret"; + my $single_ret_var = "int rv = -1"; + my $single_ret_type = "int"; if ($call->{args} eq "void") { - $args = "NULL"; + $call_args = "NULL"; } else { push(@vars_list, "$call->{args} args"); @@ -933,14 +892,14 @@ elsif ($opt_k) { my $has_node_device = 0; # node device is special - if ($call->{args} =~ m/^remote_node_device_/) { + if ($call->{args} =~ m/^remote_node_/) { $has_node_device = 1; + $priv_name = "devMonPrivateData"; } foreach my $args_member (@{$call->{args_members}}) { if ($args_member =~ m/^remote_nonnull_string name;/ and $has_node_device) { $priv_src = "dev->conn"; - $priv_name = "devMonPrivateData"; push(@args_list, "virNodeDevicePtr dev"); push(@setters_list, "args.name = dev->name;"); } elsif ($args_member =~ m/^remote_nonnull_(domain|network|storage_pool|storage_vol|interface|secret|nwfilter|domain_snapshot) (\S+);/) { @@ -963,6 +922,9 @@ elsif ($opt_k) { push(@args_list, "vir${type_name}Ptr $2"); push(@setters_list, "make_nonnull_$1(&args.$2, $2);"); + } elsif ($args_member =~ m/^remote_string (\S+);/) { + push(@args_list, "const char *$1"); + push(@setters_list, "args.$1 = $1 ? (char **)&$1 : NULL;"); } elsif ($args_member =~ m/^remote_nonnull_string (\S+);/) { push(@args_list, "const char *$1"); push(@setters_list, "args.$1 = (char *)$1;"); @@ -979,7 +941,9 @@ elsif ($opt_k) { if ($type_name eq "int") { # fix bad decisions in the xdr protocol if ($arg_name eq "flags" and - $call->{ProcName} ne "DomainCoreDump") { + $call->{ProcName} ne "DomainCoreDump" and + $call->{ProcName} ne "DomainDumpXML" and + $call->{ProcName} ne "NetworkDumpXML") { $type_name = "unsigned int"; } elsif ($arg_name eq "nvcpus" and $call->{ProcName} eq "DomainSetVcpus") { @@ -1008,22 +972,53 @@ elsif ($opt_k) { } } + # fix priv_name for the NumOf* functions + if ($priv_name eq "privateData" and + !($call->{ProcName} =~ m/Domains/) and + $call->{ProcName} =~ m/NumOf(Defined|Domain)*(\S+)s/) { + my $prefix = lc $2; + $prefix =~ s/(pool|vol)$//; + $priv_name = "${prefix}PrivateData"; + } + if ($call->{ret} eq "void") { - $ret = "NULL"; + $call_ret = "NULL"; } else { push(@vars_list, "$call->{ret} ret"); + + foreach my $ret_member (@{$call->{ret_members}}) { + if ($ret_member =~ m/remote_nonnull_string (\S+);/) { + push(@ret_list, "rv = ret.$1;"); + $single_ret_var = "char *rv = NULL"; + $single_ret_type = "char *"; + } elsif ($ret_member =~ m/^int (\S+);/) { + push(@ret_list, "rv = ret.$1;"); + $single_ret_var = "int rv = -1"; + $single_ret_type = "int"; + } elsif ($ret_member =~ m/hyper (\S+);/) { + push(@ret_list, "rv = ret.$1;"); + $single_ret_var = "unsigned long rv = 0"; + $single_ret_type = "unsigned long"; + } else { + die "unhandled type for return value: $ret_member"; + } + } + } + + if (! @args_list) { + push(@args_list, "virConnectPtr conn"); } # print function print "\n"; - print "static int\n"; + print "static $single_ret_type\n"; print "remote$call->{ProcName}("; print join(", ", @args_list); print ")\n"; print "{\n"; - print " int rv = -1;\n"; + print " $single_ret_var;\n"; print " struct private_data *priv = $priv_src->$priv_name;\n"; foreach my $var (@vars_list) { @@ -1032,9 +1027,9 @@ elsif ($opt_k) { print "\n"; print " remoteDriverLock(priv);\n"; - print "\n"; if (@setters_list) { + print "\n"; print " "; } @@ -1044,13 +1039,26 @@ elsif ($opt_k) { print "\n"; } + if ($call->{ret} ne "void") { + print "\n"; + print " memset(&ret, 0, sizeof ret);\n"; + } + print "\n"; print " if (call($priv_src, priv, 0, ${procprefix}_PROC_$call->{UC_NAME},\n"; - print " (xdrproc_t)xdr_$call->{args}, (char *)$args,\n"; - print " (xdrproc_t)xdr_$call->{ret}, (char *)$ret) == -1)\n"; + print " (xdrproc_t)xdr_$call->{args}, (char *)$call_args,\n"; + print " (xdrproc_t)xdr_$call->{ret}, (char *)$call_ret) == -1)\n"; print " goto done;\n"; print "\n"; - print " rv = 0;\n"; + + if (@ret_list) { + print " "; + print join("\n ", @ret_list); + print "\n"; + } else { + print " rv = 0;\n"; + } + print "\n"; print "done:\n"; print " remoteDriverUnlock(priv);\n"; diff --git a/src/remote/remote_client_bodies.c b/src/remote/remote_client_bodies.c index 8a851cef19..f8215eb4e5 100644 --- a/src/remote/remote_client_bodies.c +++ b/src/remote/remote_client_bodies.c @@ -16,7 +16,32 @@ /* remoteDispatchCPUBaseline has to be implemented manually */ -/* remoteDispatchCPUCompare has to be implemented manually */ +static int +remoteCPUCompare(virConnectPtr conn, const char *xml, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = conn->privateData; + remote_cpu_compare_args args; + remote_cpu_compare_ret ret; + + remoteDriverLock(priv); + + args.xml = (char *)xml; + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_CPU_COMPARE, + (xdrproc_t)xdr_remote_cpu_compare_args, (char *)&args, + (xdrproc_t)xdr_remote_cpu_compare_ret, (char *)&ret) == -1) + goto done; + + rv = ret.result; + +done: + remoteDriverUnlock(priv); + return rv; +} static int remoteDomainAbortJob(virDomainPtr dom) @@ -178,7 +203,32 @@ done: return rv; } -/* remoteDispatchDomainDumpXML has to be implemented manually */ +static char * +remoteDomainDumpXML(virDomainPtr dom, int flags) +{ + char *rv = NULL; + struct private_data *priv = dom->conn->privateData; + remote_domain_dump_xml_args args; + remote_domain_dump_xml_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_DUMP_XML, + (xdrproc_t)xdr_remote_domain_dump_xml_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_dump_xml_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchDomainEventsDeregister has to be implemented manually */ @@ -198,13 +248,85 @@ done: /* remoteDispatchDomainGetJobInfo has to be implemented manually */ -/* remoteDispatchDomainGetMaxMemory has to be implemented manually */ +static unsigned long +remoteDomainGetMaxMemory(virDomainPtr dom) +{ + unsigned long rv = 0; + struct private_data *priv = dom->conn->privateData; + remote_domain_get_max_memory_args args; + remote_domain_get_max_memory_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_MAX_MEMORY, + (xdrproc_t)xdr_remote_domain_get_max_memory_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_get_max_memory_ret, (char *)&ret) == -1) + goto done; + + rv = ret.memory; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteDomainGetMaxVcpus(virDomainPtr dom) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_get_max_vcpus_args args; + remote_domain_get_max_vcpus_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_MAX_VCPUS, + (xdrproc_t)xdr_remote_domain_get_max_vcpus_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_get_max_vcpus_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; -/* remoteDispatchDomainGetMaxVcpus has to be implemented manually */ +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchDomainGetMemoryParameters has to be implemented manually */ -/* remoteDispatchDomainGetOSType has to be implemented manually */ +static char * +remoteDomainGetOSType(virDomainPtr dom) +{ + char *rv = NULL; + struct private_data *priv = dom->conn->privateData; + remote_domain_get_os_type_args args; + remote_domain_get_os_type_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_OS_TYPE, + (xdrproc_t)xdr_remote_domain_get_os_type_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_get_os_type_ret, (char *)&ret) == -1) + goto done; + + rv = ret.type; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchDomainGetSchedulerParameters has to be implemented manually */ @@ -214,19 +336,166 @@ done: /* remoteDispatchDomainGetVcpus has to be implemented manually */ -/* remoteDispatchDomainGetVcpusFlags has to be implemented manually */ +static int +remoteDomainGetVcpusFlags(virDomainPtr dom, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_get_vcpus_flags_args args; + remote_domain_get_vcpus_flags_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_VCPUS_FLAGS, + (xdrproc_t)xdr_remote_domain_get_vcpus_flags_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_get_vcpus_flags_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteDomainHasCurrentSnapshot(virDomainPtr dom, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_has_current_snapshot_args args; + remote_domain_has_current_snapshot_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_HAS_CURRENT_SNAPSHOT, + (xdrproc_t)xdr_remote_domain_has_current_snapshot_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_has_current_snapshot_ret, (char *)&ret) == -1) + goto done; + + rv = ret.result; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_has_managed_save_image_args args; + remote_domain_has_managed_save_image_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_HAS_MANAGED_SAVE_IMAGE, + (xdrproc_t)xdr_remote_domain_has_managed_save_image_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_has_managed_save_image_ret, (char *)&ret) == -1) + goto done; -/* remoteDispatchDomainHasCurrentSnapshot has to be implemented manually */ + rv = ret.result; -/* remoteDispatchDomainHasManagedSaveImage has to be implemented manually */ +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchDomainInterfaceStats has to be implemented manually */ -/* remoteDispatchDomainIsActive has to be implemented manually */ +static int +remoteDomainIsActive(virDomainPtr dom) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_is_active_args args; + remote_domain_is_active_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_IS_ACTIVE, + (xdrproc_t)xdr_remote_domain_is_active_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_is_active_ret, (char *)&ret) == -1) + goto done; + + rv = ret.active; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteDomainIsPersistent(virDomainPtr dom) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_is_persistent_args args; + remote_domain_is_persistent_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_IS_PERSISTENT, + (xdrproc_t)xdr_remote_domain_is_persistent_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_is_persistent_ret, (char *)&ret) == -1) + goto done; + + rv = ret.persistent; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteDomainIsUpdated(virDomainPtr dom) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_is_updated_args args; + remote_domain_is_updated_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + + memset(&ret, 0, sizeof ret); -/* remoteDispatchDomainIsPersistent has to be implemented manually */ + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_IS_UPDATED, + (xdrproc_t)xdr_remote_domain_is_updated_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_is_updated_ret, (char *)&ret) == -1) + goto done; + + rv = ret.updated; -/* remoteDispatchDomainIsUpdated has to be implemented manually */ +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchDomainLookupByID has to be implemented manually */ @@ -673,13 +942,63 @@ done: return rv; } -/* remoteDispatchDomainSnapshotDumpXML has to be implemented manually */ +static char * +remoteDomainSnapshotDumpXML(virDomainSnapshotPtr snap, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = snap->domain->conn->privateData; + remote_domain_snapshot_dump_xml_args args; + remote_domain_snapshot_dump_xml_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain_snapshot(&args.snap, snap); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(snap->domain->conn, priv, 0, REMOTE_PROC_DOMAIN_SNAPSHOT_DUMP_XML, + (xdrproc_t)xdr_remote_domain_snapshot_dump_xml_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_snapshot_dump_xml_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchDomainSnapshotListNames has to be implemented manually */ /* remoteDispatchDomainSnapshotLookupByName has to be implemented manually */ -/* remoteDispatchDomainSnapshotNum has to be implemented manually */ +static int +remoteDomainSnapshotNum(virDomainPtr dom, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = dom->conn->privateData; + remote_domain_snapshot_num_args args; + remote_domain_snapshot_num_ret ret; + + remoteDriverLock(priv); + + make_nonnull_domain(&args.dom, dom); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(dom->conn, priv, 0, REMOTE_PROC_DOMAIN_SNAPSHOT_NUM, + (xdrproc_t)xdr_remote_domain_snapshot_num_args, (char *)&args, + (xdrproc_t)xdr_remote_domain_snapshot_num_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} static int remoteDomainSuspend(virDomainPtr dom) @@ -758,54 +1077,120 @@ done: /* remoteDispatchFindStoragePoolSources has to be implemented manually */ -/* remoteDispatchGetCapabilities has to be implemented manually */ - -/* remoteDispatchGetHostname has to be implemented manually */ - -/* remoteDispatchGetLibVersion has to be implemented manually */ +static char * +remoteGetCapabilities(virConnectPtr conn) +{ + char *rv = NULL; + struct private_data *priv = conn->privateData; + remote_get_capabilities_ret ret; -/* remoteDispatchGetMaxVcpus has to be implemented manually */ + remoteDriverLock(priv); -/* remoteDispatchGetSysinfo has to be implemented manually */ + memset(&ret, 0, sizeof ret); -/* remoteDispatchGetType has to be implemented manually */ + if (call(conn, priv, 0, REMOTE_PROC_GET_CAPABILITIES, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_get_capabilities_ret, (char *)&ret) == -1) + goto done; -/* remoteDispatchGetURI has to be implemented manually */ + rv = ret.capabilities; -/* remoteDispatchGetVersion has to be implemented manually */ +done: + remoteDriverUnlock(priv); + return rv; +} -static int -remoteInterfaceCreate(virInterfacePtr iface, unsigned int flags) +static char * +remoteGetHostname(virConnectPtr conn) { - int rv = -1; - struct private_data *priv = iface->conn->interfacePrivateData; - remote_interface_create_args args; + char *rv = NULL; + struct private_data *priv = conn->privateData; + remote_get_hostname_ret ret; remoteDriverLock(priv); - make_nonnull_interface(&args.iface, iface); - args.flags = flags; + memset(&ret, 0, sizeof ret); - if (call(iface->conn, priv, 0, REMOTE_PROC_INTERFACE_CREATE, - (xdrproc_t)xdr_remote_interface_create_args, (char *)&args, - (xdrproc_t)xdr_void, (char *)NULL) == -1) + if (call(conn, priv, 0, REMOTE_PROC_GET_HOSTNAME, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_get_hostname_ret, (char *)&ret) == -1) goto done; - rv = 0; + rv = ret.hostname; done: remoteDriverUnlock(priv); return rv; } -/* remoteDispatchInterfaceDefineXML has to be implemented manually */ +/* remoteDispatchGetLibVersion has to be implemented manually */ -static int -remoteInterfaceDestroy(virInterfacePtr iface, unsigned int flags) -{ - int rv = -1; - struct private_data *priv = iface->conn->interfacePrivateData; - remote_interface_destroy_args args; +/* remoteDispatchGetMaxVcpus has to be implemented manually */ + +static char * +remoteGetSysinfo(virConnectPtr conn, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = conn->privateData; + remote_get_sysinfo_args args; + remote_get_sysinfo_ret ret; + + remoteDriverLock(priv); + + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_GET_SYSINFO, + (xdrproc_t)xdr_remote_get_sysinfo_args, (char *)&args, + (xdrproc_t)xdr_remote_get_sysinfo_ret, (char *)&ret) == -1) + goto done; + + rv = ret.sysinfo; + +done: + remoteDriverUnlock(priv); + return rv; +} + +/* remoteDispatchGetType has to be implemented manually */ + +/* remoteDispatchGetURI has to be implemented manually */ + +/* remoteDispatchGetVersion has to be implemented manually */ + +static int +remoteInterfaceCreate(virInterfacePtr iface, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = iface->conn->interfacePrivateData; + remote_interface_create_args args; + + remoteDriverLock(priv); + + make_nonnull_interface(&args.iface, iface); + args.flags = flags; + + if (call(iface->conn, priv, 0, REMOTE_PROC_INTERFACE_CREATE, + (xdrproc_t)xdr_remote_interface_create_args, (char *)&args, + (xdrproc_t)xdr_void, (char *)NULL) == -1) + goto done; + + rv = 0; + +done: + remoteDriverUnlock(priv); + return rv; +} + +/* remoteDispatchInterfaceDefineXML has to be implemented manually */ + +static int +remoteInterfaceDestroy(virInterfacePtr iface, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = iface->conn->interfacePrivateData; + remote_interface_destroy_args args; remoteDriverLock(priv); @@ -824,9 +1209,58 @@ done: return rv; } -/* remoteDispatchInterfaceGetXMLDesc has to be implemented manually */ +static char * +remoteInterfaceGetXMLDesc(virInterfacePtr iface, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = iface->conn->interfacePrivateData; + remote_interface_get_xml_desc_args args; + remote_interface_get_xml_desc_ret ret; -/* remoteDispatchInterfaceIsActive has to be implemented manually */ + remoteDriverLock(priv); + + make_nonnull_interface(&args.iface, iface); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(iface->conn, priv, 0, REMOTE_PROC_INTERFACE_GET_XML_DESC, + (xdrproc_t)xdr_remote_interface_get_xml_desc_args, (char *)&args, + (xdrproc_t)xdr_remote_interface_get_xml_desc_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteInterfaceIsActive(virInterfacePtr iface) +{ + int rv = -1; + struct private_data *priv = iface->conn->interfacePrivateData; + remote_interface_is_active_args args; + remote_interface_is_active_ret ret; + + remoteDriverLock(priv); + + make_nonnull_interface(&args.iface, iface); + + memset(&ret, 0, sizeof ret); + + if (call(iface->conn, priv, 0, REMOTE_PROC_INTERFACE_IS_ACTIVE, + (xdrproc_t)xdr_remote_interface_is_active_args, (char *)&args, + (xdrproc_t)xdr_remote_interface_is_active_ret, (char *)&ret) == -1) + goto done; + + rv = ret.active; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchInterfaceLookupByMACString has to be implemented manually */ @@ -927,15 +1361,112 @@ done: return rv; } -/* remoteDispatchNetworkDumpXML has to be implemented manually */ +static char * +remoteNetworkDumpXML(virNetworkPtr net, int flags) +{ + char *rv = NULL; + struct private_data *priv = net->conn->networkPrivateData; + remote_network_dump_xml_args args; + remote_network_dump_xml_ret ret; + + remoteDriverLock(priv); + + make_nonnull_network(&args.net, net); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(net->conn, priv, 0, REMOTE_PROC_NETWORK_DUMP_XML, + (xdrproc_t)xdr_remote_network_dump_xml_args, (char *)&args, + (xdrproc_t)xdr_remote_network_dump_xml_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchNetworkGetAutostart has to be implemented manually */ -/* remoteDispatchNetworkGetBridgeName has to be implemented manually */ +static char * +remoteNetworkGetBridgeName(virNetworkPtr net) +{ + char *rv = NULL; + struct private_data *priv = net->conn->networkPrivateData; + remote_network_get_bridge_name_args args; + remote_network_get_bridge_name_ret ret; + + remoteDriverLock(priv); + + make_nonnull_network(&args.net, net); + + memset(&ret, 0, sizeof ret); + + if (call(net->conn, priv, 0, REMOTE_PROC_NETWORK_GET_BRIDGE_NAME, + (xdrproc_t)xdr_remote_network_get_bridge_name_args, (char *)&args, + (xdrproc_t)xdr_remote_network_get_bridge_name_ret, (char *)&ret) == -1) + goto done; -/* remoteDispatchNetworkIsActive has to be implemented manually */ + rv = ret.name; -/* remoteDispatchNetworkIsPersistent has to be implemented manually */ +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNetworkIsActive(virNetworkPtr net) +{ + int rv = -1; + struct private_data *priv = net->conn->networkPrivateData; + remote_network_is_active_args args; + remote_network_is_active_ret ret; + + remoteDriverLock(priv); + + make_nonnull_network(&args.net, net); + + memset(&ret, 0, sizeof ret); + + if (call(net->conn, priv, 0, REMOTE_PROC_NETWORK_IS_ACTIVE, + (xdrproc_t)xdr_remote_network_is_active_args, (char *)&args, + (xdrproc_t)xdr_remote_network_is_active_ret, (char *)&ret) == -1) + goto done; + + rv = ret.active; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNetworkIsPersistent(virNetworkPtr net) +{ + int rv = -1; + struct private_data *priv = net->conn->networkPrivateData; + remote_network_is_persistent_args args; + remote_network_is_persistent_ret ret; + + remoteDriverLock(priv); + + make_nonnull_network(&args.net, net); + + memset(&ret, 0, sizeof ret); + + if (call(net->conn, priv, 0, REMOTE_PROC_NETWORK_IS_PERSISTENT, + (xdrproc_t)xdr_remote_network_is_persistent_args, (char *)&args, + (xdrproc_t)xdr_remote_network_is_persistent_ret, (char *)&ret) == -1) + goto done; + + rv = ret.persistent; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchNetworkLookupByName has to be implemented manually */ @@ -1015,7 +1546,32 @@ done: /* remoteDispatchNodeDeviceDettach has to be implemented manually */ -/* remoteDispatchNodeDeviceDumpXML has to be implemented manually */ +static char * +remoteNodeDeviceDumpXML(virNodeDevicePtr dev, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = dev->conn->devMonPrivateData; + remote_node_device_dump_xml_args args; + remote_node_device_dump_xml_ret ret; + + remoteDriverLock(priv); + + args.name = dev->name; + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(dev->conn, priv, 0, REMOTE_PROC_NODE_DEVICE_DUMP_XML, + (xdrproc_t)xdr_remote_node_device_dump_xml_args, (char *)&args, + (xdrproc_t)xdr_remote_node_device_dump_xml_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchNodeDeviceGetParent has to be implemented manually */ @@ -1023,7 +1579,31 @@ done: /* remoteDispatchNodeDeviceLookupByName has to be implemented manually */ -/* remoteDispatchNodeDeviceNumOfCaps has to be implemented manually */ +static int +remoteNodeDeviceNumOfCaps(virNodeDevicePtr dev) +{ + int rv = -1; + struct private_data *priv = dev->conn->devMonPrivateData; + remote_node_device_num_of_caps_args args; + remote_node_device_num_of_caps_ret ret; + + remoteDriverLock(priv); + + args.name = dev->name; + + memset(&ret, 0, sizeof ret); + + if (call(dev->conn, priv, 0, REMOTE_PROC_NODE_DEVICE_NUM_OF_CAPS, + (xdrproc_t)xdr_remote_node_device_num_of_caps_args, (char *)&args, + (xdrproc_t)xdr_remote_node_device_num_of_caps_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchNodeDeviceReAttach has to be implemented manually */ @@ -1039,31 +1619,291 @@ done: /* remoteDispatchNodeListDevices has to be implemented manually */ -/* remoteDispatchNodeNumOfDevices has to be implemented manually */ +static int +remoteNodeNumOfDevices(virConnectPtr conn, const char *cap, unsigned int flags) +{ + int rv = -1; + struct private_data *priv = conn->devMonPrivateData; + remote_node_num_of_devices_args args; + remote_node_num_of_devices_ret ret; + + remoteDriverLock(priv); + + args.cap = cap ? (char **)&cap : NULL; + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NODE_NUM_OF_DEVICES, + (xdrproc_t)xdr_remote_node_num_of_devices_args, (char *)&args, + (xdrproc_t)xdr_remote_node_num_of_devices_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfDefinedDomains(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->privateData; + remote_num_of_defined_domains_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_DOMAINS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_defined_domains_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfDefinedInterfaces(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->interfacePrivateData; + remote_num_of_defined_interfaces_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_INTERFACES, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_defined_interfaces_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfDefinedNetworks(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->networkPrivateData; + remote_num_of_defined_networks_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_NETWORKS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_defined_networks_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfDefinedStoragePools(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->storagePrivateData; + remote_num_of_defined_storage_pools_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_STORAGE_POOLS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_defined_storage_pools_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfDomains(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->privateData; + remote_num_of_domains_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_DOMAINS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_domains_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfInterfaces(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->interfacePrivateData; + remote_num_of_interfaces_ret ret; -/* remoteDispatchNumOfDefinedDomains has to be implemented manually */ + remoteDriverLock(priv); -/* remoteDispatchNumOfDefinedInterfaces has to be implemented manually */ + memset(&ret, 0, sizeof ret); -/* remoteDispatchNumOfDefinedNetworks has to be implemented manually */ + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_INTERFACES, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_interfaces_ret, (char *)&ret) == -1) + goto done; -/* remoteDispatchNumOfDefinedStoragePools has to be implemented manually */ + rv = ret.num; -/* remoteDispatchNumOfDomains has to be implemented manually */ +done: + remoteDriverUnlock(priv); + return rv; +} -/* remoteDispatchNumOfInterfaces has to be implemented manually */ +static int +remoteNumOfNetworks(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->networkPrivateData; + remote_num_of_networks_ret ret; -/* remoteDispatchNumOfNetworks has to be implemented manually */ + remoteDriverLock(priv); -/* remoteDispatchNumOfNWFilters has to be implemented manually */ + memset(&ret, 0, sizeof ret); -/* remoteDispatchNumOfSecrets has to be implemented manually */ + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_NETWORKS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_networks_ret, (char *)&ret) == -1) + goto done; -/* remoteDispatchNumOfStoragePools has to be implemented manually */ + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfNWFilters(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->nwfilterPrivateData; + remote_num_of_nwfilters_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_NWFILTERS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_nwfilters_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfSecrets(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->secretPrivateData; + remote_num_of_secrets_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_SECRETS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_secrets_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteNumOfStoragePools(virConnectPtr conn) +{ + int rv = -1; + struct private_data *priv = conn->storagePrivateData; + remote_num_of_storage_pools_ret ret; + + remoteDriverLock(priv); + + memset(&ret, 0, sizeof ret); + + if (call(conn, priv, 0, REMOTE_PROC_NUM_OF_STORAGE_POOLS, + (xdrproc_t)xdr_void, (char *)NULL, + (xdrproc_t)xdr_remote_num_of_storage_pools_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchNWFilterDefineXML has to be implemented manually */ -/* remoteDispatchNWFilterGetXMLDesc has to be implemented manually */ +static char * +remoteNWFilterGetXMLDesc(virNWFilterPtr nwfilter, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = nwfilter->conn->nwfilterPrivateData; + remote_nwfilter_get_xml_desc_args args; + remote_nwfilter_get_xml_desc_ret ret; + + remoteDriverLock(priv); + + make_nonnull_nwfilter(&args.nwfilter, nwfilter); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(nwfilter->conn, priv, 0, REMOTE_PROC_NWFILTER_GET_XML_DESC, + (xdrproc_t)xdr_remote_nwfilter_get_xml_desc_args, (char *)&args, + (xdrproc_t)xdr_remote_nwfilter_get_xml_desc_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchNWFilterLookupByName has to be implemented manually */ @@ -1098,7 +1938,32 @@ done: /* remoteDispatchSecretGetValue has to be implemented manually */ -/* remoteDispatchSecretGetXMLDesc has to be implemented manually */ +static char * +remoteSecretGetXMLDesc(virSecretPtr secret, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = secret->conn->secretPrivateData; + remote_secret_get_xml_desc_args args; + remote_secret_get_xml_desc_ret ret; + + remoteDriverLock(priv); + + make_nonnull_secret(&args.secret, secret); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(secret->conn, priv, 0, REMOTE_PROC_SECRET_GET_XML_DESC, + (xdrproc_t)xdr_remote_secret_get_xml_desc_args, (char *)&args, + (xdrproc_t)xdr_remote_secret_get_xml_desc_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchSecretLookupByUsage has to be implemented manually */ @@ -1228,15 +2093,88 @@ done: return rv; } -/* remoteDispatchStoragePoolDumpXML has to be implemented manually */ +static char * +remoteStoragePoolDumpXML(virStoragePoolPtr pool, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = pool->conn->storagePrivateData; + remote_storage_pool_dump_xml_args args; + remote_storage_pool_dump_xml_ret ret; + + remoteDriverLock(priv); + + make_nonnull_storage_pool(&args.pool, pool); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_DUMP_XML, + (xdrproc_t)xdr_remote_storage_pool_dump_xml_args, (char *)&args, + (xdrproc_t)xdr_remote_storage_pool_dump_xml_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchStoragePoolGetAutostart has to be implemented manually */ /* remoteDispatchStoragePoolGetInfo has to be implemented manually */ -/* remoteDispatchStoragePoolIsActive has to be implemented manually */ +static int +remoteStoragePoolIsActive(virStoragePoolPtr pool) +{ + int rv = -1; + struct private_data *priv = pool->conn->storagePrivateData; + remote_storage_pool_is_active_args args; + remote_storage_pool_is_active_ret ret; + + remoteDriverLock(priv); + + make_nonnull_storage_pool(&args.pool, pool); + + memset(&ret, 0, sizeof ret); + + if (call(pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_IS_ACTIVE, + (xdrproc_t)xdr_remote_storage_pool_is_active_args, (char *)&args, + (xdrproc_t)xdr_remote_storage_pool_is_active_ret, (char *)&ret) == -1) + goto done; + + rv = ret.active; + +done: + remoteDriverUnlock(priv); + return rv; +} + +static int +remoteStoragePoolIsPersistent(virStoragePoolPtr pool) +{ + int rv = -1; + struct private_data *priv = pool->conn->storagePrivateData; + remote_storage_pool_is_persistent_args args; + remote_storage_pool_is_persistent_ret ret; + + remoteDriverLock(priv); + + make_nonnull_storage_pool(&args.pool, pool); + + memset(&ret, 0, sizeof ret); -/* remoteDispatchStoragePoolIsPersistent has to be implemented manually */ + if (call(pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_IS_PERSISTENT, + (xdrproc_t)xdr_remote_storage_pool_is_persistent_args, (char *)&args, + (xdrproc_t)xdr_remote_storage_pool_is_persistent_ret, (char *)&ret) == -1) + goto done; + + rv = ret.persistent; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchStoragePoolListVolumes has to be implemented manually */ @@ -1246,7 +2184,31 @@ done: /* remoteDispatchStoragePoolLookupByVolume has to be implemented manually */ -/* remoteDispatchStoragePoolNumOfVolumes has to be implemented manually */ +static int +remoteStoragePoolNumOfVolumes(virStoragePoolPtr pool) +{ + int rv = -1; + struct private_data *priv = pool->conn->storagePrivateData; + remote_storage_pool_num_of_volumes_args args; + remote_storage_pool_num_of_volumes_ret ret; + + remoteDriverLock(priv); + + make_nonnull_storage_pool(&args.pool, pool); + + memset(&ret, 0, sizeof ret); + + if (call(pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_NUM_OF_VOLUMES, + (xdrproc_t)xdr_remote_storage_pool_num_of_volumes_args, (char *)&args, + (xdrproc_t)xdr_remote_storage_pool_num_of_volumes_ret, (char *)&ret) == -1) + goto done; + + rv = ret.num; + +done: + remoteDriverUnlock(priv); + return rv; +} static int remoteStoragePoolRefresh(virStoragePoolPtr pool, unsigned int flags) @@ -1349,11 +2311,60 @@ done: /* remoteDispatchStorageVolDownload has to be implemented manually */ -/* remoteDispatchStorageVolDumpXML has to be implemented manually */ +static char * +remoteStorageVolDumpXML(virStorageVolPtr vol, unsigned int flags) +{ + char *rv = NULL; + struct private_data *priv = vol->conn->storagePrivateData; + remote_storage_vol_dump_xml_args args; + remote_storage_vol_dump_xml_ret ret; + + remoteDriverLock(priv); + + make_nonnull_storage_vol(&args.vol, vol); + args.flags = flags; + + memset(&ret, 0, sizeof ret); + + if (call(vol->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_DUMP_XML, + (xdrproc_t)xdr_remote_storage_vol_dump_xml_args, (char *)&args, + (xdrproc_t)xdr_remote_storage_vol_dump_xml_ret, (char *)&ret) == -1) + goto done; + + rv = ret.xml; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchStorageVolGetInfo has to be implemented manually */ -/* remoteDispatchStorageVolGetPath has to be implemented manually */ +static char * +remoteStorageVolGetPath(virStorageVolPtr vol) +{ + char *rv = NULL; + struct private_data *priv = vol->conn->storagePrivateData; + remote_storage_vol_get_path_args args; + remote_storage_vol_get_path_ret ret; + + remoteDriverLock(priv); + + make_nonnull_storage_vol(&args.vol, vol); + + memset(&ret, 0, sizeof ret); + + if (call(vol->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_GET_PATH, + (xdrproc_t)xdr_remote_storage_vol_get_path_args, (char *)&args, + (xdrproc_t)xdr_remote_storage_vol_get_path_ret, (char *)&ret) == -1) + goto done; + + rv = ret.name; + +done: + remoteDriverUnlock(priv); + return rv; +} /* remoteDispatchStorageVolLookupByKey has to be implemented manually */ diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 3768250cfc..7706831420 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -1745,54 +1745,6 @@ done: return rv; } -static char * -remoteGetHostname (virConnectPtr conn) -{ - char *rv = NULL; - remote_get_hostname_ret ret; - struct private_data *priv = conn->privateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_GET_HOSTNAME, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_get_hostname_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees this. */ - rv = ret.hostname; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static char * -remoteGetSysinfo (virConnectPtr conn, unsigned int flags) -{ - char *rv = NULL; - remote_get_sysinfo_args args; - remote_get_sysinfo_ret ret; - struct private_data *priv = conn->privateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - args.flags = flags; - if (call (conn, priv, 0, REMOTE_PROC_GET_SYSINFO, - (xdrproc_t) xdr_remote_get_sysinfo_args, (char *) &args, - (xdrproc_t) xdr_remote_get_sysinfo_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees this. */ - rv = ret.sysinfo; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteIsSecure(virConnectPtr conn) { int rv = -1; @@ -1914,29 +1866,6 @@ done: return rv; } -static char * -remoteGetCapabilities (virConnectPtr conn) -{ - char *rv = NULL; - remote_get_capabilities_ret ret; - struct private_data *priv = conn->privateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_GET_CAPABILITIES, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_get_capabilities_ret, (char *)&ret) == -1) - goto done; - - /* Caller frees this. */ - rv = ret.capabilities; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteNodeGetCellsFreeMemory(virConnectPtr conn, unsigned long long *freeMems, @@ -2047,100 +1976,6 @@ done: return rv; } -static int -remoteNumOfDomains (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_domains_ret ret; - struct private_data *priv = conn->privateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_DOMAINS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_domains_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static int -remoteDomainIsActive(virDomainPtr domain) -{ - int rv = -1; - remote_domain_is_active_args args; - remote_domain_is_active_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_IS_ACTIVE, - (xdrproc_t) xdr_remote_domain_is_active_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_is_active_ret, (char *) &ret) == -1) - goto done; - - rv = ret.active; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static int -remoteDomainIsPersistent(virDomainPtr domain) -{ - int rv = -1; - remote_domain_is_persistent_args args; - remote_domain_is_persistent_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_IS_PERSISTENT, - (xdrproc_t) xdr_remote_domain_is_persistent_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_is_persistent_ret, (char *) &ret) == -1) - goto done; - - rv = ret.persistent; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static int -remoteDomainIsUpdated(virDomainPtr domain) -{ - int rv = -1; - remote_domain_is_updated_args args; - remote_domain_is_updated_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_IS_UPDATED, - (xdrproc_t) xdr_remote_domain_is_updated_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_is_updated_ret, (char *) &ret) == -1) - goto done; - - rv = ret.updated; - -done: - remoteDriverUnlock(priv); - return rv; -} - static virDomainPtr remoteDomainCreateXML (virConnectPtr conn, const char *xmlDesc, @@ -2272,57 +2107,6 @@ done: return rv; } -static char * -remoteDomainGetOSType (virDomainPtr domain) -{ - char *rv = NULL; - remote_domain_get_os_type_args args; - remote_domain_get_os_type_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - - memset (&ret, 0, sizeof ret); - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_OS_TYPE, - (xdrproc_t) xdr_remote_domain_get_os_type_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_get_os_type_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.type; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static unsigned long -remoteDomainGetMaxMemory (virDomainPtr domain) -{ - unsigned long rv = 0; - remote_domain_get_max_memory_args args; - remote_domain_get_max_memory_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - - memset (&ret, 0, sizeof ret); - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_MAX_MEMORY, - (xdrproc_t) xdr_remote_domain_get_max_memory_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_get_max_memory_ret, (char *) &ret) == -1) - goto done; - - rv = ret.memory; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteDomainSetMemoryParameters (virDomainPtr domain, virMemoryParameterPtr params, @@ -2692,32 +2476,6 @@ done: return rv; } -static int -remoteDomainGetVcpusFlags (virDomainPtr domain, unsigned int flags) -{ - int rv = -1; - remote_domain_get_vcpus_flags_args args; - remote_domain_get_vcpus_flags_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_VCPUS_FLAGS, - (xdrproc_t) xdr_remote_domain_get_vcpus_flags_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_get_vcpus_flags_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteDomainPinVcpu (virDomainPtr domain, unsigned int vcpu, @@ -2828,31 +2586,6 @@ done: return rv; } -static int -remoteDomainGetMaxVcpus (virDomainPtr domain) -{ - int rv = -1; - remote_domain_get_max_vcpus_args args; - remote_domain_get_max_vcpus_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - - memset (&ret, 0, sizeof ret); - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_MAX_VCPUS, - (xdrproc_t) xdr_remote_domain_get_max_vcpus_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_get_max_vcpus_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteDomainGetSecurityLabel (virDomainPtr domain, virSecurityLabelPtr seclabel) { @@ -2933,33 +2666,6 @@ done: return rv; } -static char * -remoteDomainDumpXML (virDomainPtr domain, int flags) -{ - char *rv = NULL; - remote_domain_dump_xml_args args; - remote_domain_dump_xml_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_DUMP_XML, - (xdrproc_t) xdr_remote_domain_dump_xml_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_dump_xml_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock(priv); - return rv; -} - static char * remoteDomainXMLFromNative (virConnectPtr conn, const char *format, @@ -3285,28 +2991,6 @@ done: return rv; } -static int -remoteNumOfDefinedDomains (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_defined_domains_ret ret; - struct private_data *priv = conn->privateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_DOMAINS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_defined_domains_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteDomainCreate (virDomainPtr domain) { @@ -3846,31 +3530,6 @@ done: return rv; } -static int -remoteDomainHasManagedSaveImage (virDomainPtr domain, unsigned int flags) -{ - int rv = -1; - remote_domain_has_managed_save_image_args args; - remote_domain_has_managed_save_image_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - args.flags = flags; - - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_HAS_MANAGED_SAVE_IMAGE, - (xdrproc_t) xdr_remote_domain_has_managed_save_image_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_has_managed_save_image_ret, (char *) &ret) == -1) - goto done; - - rv = ret.result; - -done: - remoteDriverUnlock(priv); - return rv; -} - /*----------------------------------------------------------------------*/ static virDrvOpenStatus ATTRIBUTE_NONNULL (1) @@ -3934,34 +3593,12 @@ remoteNetworkClose (virConnectPtr conn) } static int -remoteNumOfNetworks (virConnectPtr conn) +remoteListNetworks (virConnectPtr conn, char **const names, int maxnames) { int rv = -1; - remote_num_of_networks_ret ret; - struct private_data *priv = conn->networkPrivateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_NETWORKS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_networks_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static int -remoteListNetworks (virConnectPtr conn, char **const names, int maxnames) -{ - int rv = -1; - int i; - remote_list_networks_args args; - remote_list_networks_ret ret; + int i; + remote_list_networks_args args; + remote_list_networks_ret ret; struct private_data *priv = conn->networkPrivateData; remoteDriverLock(priv); @@ -4014,28 +3651,6 @@ done: return rv; } -static int -remoteNumOfDefinedNetworks (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_defined_networks_ret ret; - struct private_data *priv = conn->networkPrivateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_NETWORKS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_defined_networks_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteListDefinedNetworks (virConnectPtr conn, char **const names, int maxnames) @@ -4150,54 +3765,6 @@ done: return net; } -static int -remoteNetworkIsActive(virNetworkPtr network) -{ - int rv = -1; - remote_network_is_active_args args; - remote_network_is_active_ret ret; - struct private_data *priv = network->conn->networkPrivateData; - - remoteDriverLock(priv); - - make_nonnull_network (&args.net, network); - - if (call (network->conn, priv, 0, REMOTE_PROC_NETWORK_IS_ACTIVE, - (xdrproc_t) xdr_remote_network_is_active_args, (char *) &args, - (xdrproc_t) xdr_remote_network_is_active_ret, (char *) &ret) == -1) - goto done; - - rv = ret.active; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static int -remoteNetworkIsPersistent(virNetworkPtr network) -{ - int rv = -1; - remote_network_is_persistent_args args; - remote_network_is_persistent_ret ret; - struct private_data *priv = network->conn->networkPrivateData; - - remoteDriverLock(priv); - - make_nonnull_network (&args.net, network); - - if (call (network->conn, priv, 0, REMOTE_PROC_NETWORK_IS_PERSISTENT, - (xdrproc_t) xdr_remote_network_is_persistent_args, (char *) &args, - (xdrproc_t) xdr_remote_network_is_persistent_ret, (char *) &ret) == -1) - goto done; - - rv = ret.persistent; - -done: - remoteDriverUnlock(priv); - return rv; -} - static virNetworkPtr remoteNetworkCreateXML (virConnectPtr conn, const char *xmlDesc) { @@ -4250,59 +3817,6 @@ done: return net; } -static char * -remoteNetworkDumpXML (virNetworkPtr network, int flags) -{ - char *rv = NULL; - remote_network_dump_xml_args args; - remote_network_dump_xml_ret ret; - struct private_data *priv = network->conn->networkPrivateData; - - remoteDriverLock(priv); - - make_nonnull_network (&args.net, network); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (network->conn, priv, 0, REMOTE_PROC_NETWORK_DUMP_XML, - (xdrproc_t) xdr_remote_network_dump_xml_args, (char *) &args, - (xdrproc_t) xdr_remote_network_dump_xml_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static char * -remoteNetworkGetBridgeName (virNetworkPtr network) -{ - char *rv = NULL; - remote_network_get_bridge_name_args args; - remote_network_get_bridge_name_ret ret; - struct private_data *priv = network->conn->networkPrivateData; - - remoteDriverLock(priv); - - make_nonnull_network (&args.net, network); - - memset (&ret, 0, sizeof ret); - if (call (network->conn, priv, 0, REMOTE_PROC_NETWORK_GET_BRIDGE_NAME, - (xdrproc_t) xdr_remote_network_get_bridge_name_args, (char *) &args, - (xdrproc_t) xdr_remote_network_get_bridge_name_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.name; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteNetworkGetAutostart (virNetworkPtr network, int *autostart) { @@ -4392,28 +3906,6 @@ remoteInterfaceClose (virConnectPtr conn) return rv; } -static int -remoteNumOfInterfaces (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_interfaces_ret ret; - struct private_data *priv = conn->interfacePrivateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_INTERFACES, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_interfaces_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteListInterfaces (virConnectPtr conn, char **const names, int maxnames) { @@ -4473,28 +3965,6 @@ done: return rv; } -static int -remoteNumOfDefinedInterfaces (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_defined_interfaces_ret ret; - struct private_data *priv = conn->interfacePrivateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_INTERFACES, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_defined_interfaces_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteListDefinedInterfaces (virConnectPtr conn, char **const names, int maxnames) { @@ -4608,60 +4078,6 @@ done: return iface; } - -static int -remoteInterfaceIsActive(virInterfacePtr iface) -{ - int rv = -1; - remote_interface_is_active_args args; - remote_interface_is_active_ret ret; - struct private_data *priv = iface->conn->interfacePrivateData; - - remoteDriverLock(priv); - - make_nonnull_interface (&args.iface, iface); - - if (call (iface->conn, priv, 0, REMOTE_PROC_INTERFACE_IS_ACTIVE, - (xdrproc_t) xdr_remote_interface_is_active_args, (char *) &args, - (xdrproc_t) xdr_remote_interface_is_active_ret, (char *) &ret) == -1) - goto done; - - rv = ret.active; - -done: - remoteDriverUnlock(priv); - return rv; -} - - -static char * -remoteInterfaceGetXMLDesc (virInterfacePtr iface, - unsigned int flags) -{ - char *rv = NULL; - remote_interface_get_xml_desc_args args; - remote_interface_get_xml_desc_ret ret; - struct private_data *priv = iface->conn->interfacePrivateData; - - remoteDriverLock(priv); - - make_nonnull_interface (&args.iface, iface); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (iface->conn, priv, 0, REMOTE_PROC_INTERFACE_GET_XML_DESC, - (xdrproc_t) xdr_remote_interface_get_xml_desc_args, (char *) &args, - (xdrproc_t) xdr_remote_interface_get_xml_desc_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock(priv); - return rv; -} - static virInterfacePtr remoteInterfaceDefineXML (virConnectPtr conn, const char *xmlDesc, @@ -4760,28 +4176,6 @@ remoteStorageClose (virConnectPtr conn) return ret; } -static int -remoteNumOfStoragePools (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_storage_pools_ret ret; - struct private_data *priv = conn->storagePrivateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_STORAGE_POOLS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_storage_pools_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteListStoragePools (virConnectPtr conn, char **const names, int maxnames) { @@ -4837,28 +4231,6 @@ done: return rv; } -static int -remoteNumOfDefinedStoragePools (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_defined_storage_pools_ret ret; - struct private_data *priv = conn->storagePrivateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_DEFINED_STORAGE_POOLS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_defined_storage_pools_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteListDefinedStoragePools (virConnectPtr conn, char **const names, int maxnames) @@ -5040,56 +4412,6 @@ done: return pool; } - -static int -remoteStoragePoolIsActive(virStoragePoolPtr pool) -{ - int rv = -1; - remote_storage_pool_is_active_args args; - remote_storage_pool_is_active_ret ret; - struct private_data *priv = pool->conn->storagePrivateData; - - remoteDriverLock(priv); - - make_nonnull_storage_pool (&args.pool, pool); - - if (call (pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_IS_ACTIVE, - (xdrproc_t) xdr_remote_storage_pool_is_active_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_pool_is_active_ret, (char *) &ret) == -1) - goto done; - - rv = ret.active; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static int -remoteStoragePoolIsPersistent(virStoragePoolPtr pool) -{ - int rv = -1; - remote_storage_pool_is_persistent_args args; - remote_storage_pool_is_persistent_ret ret; - struct private_data *priv = pool->conn->storagePrivateData; - - remoteDriverLock(priv); - - make_nonnull_storage_pool (&args.pool, pool); - - if (call (pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_IS_PERSISTENT, - (xdrproc_t) xdr_remote_storage_pool_is_persistent_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_pool_is_persistent_ret, (char *) &ret) == -1) - goto done; - - rv = ret.persistent; - -done: - remoteDriverUnlock(priv); - return rv; -} - - static virStoragePoolPtr remoteStoragePoolCreateXML (virConnectPtr conn, const char *xmlDesc, unsigned int flags) { @@ -5174,34 +4496,6 @@ done: return rv; } -static char * -remoteStoragePoolDumpXML (virStoragePoolPtr pool, - unsigned int flags) -{ - char *rv = NULL; - remote_storage_pool_dump_xml_args args; - remote_storage_pool_dump_xml_ret ret; - struct private_data *priv = pool->conn->storagePrivateData; - - remoteDriverLock(priv); - - make_nonnull_storage_pool (&args.pool, pool); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_DUMP_XML, - (xdrproc_t) xdr_remote_storage_pool_dump_xml_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_pool_dump_xml_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteStoragePoolGetAutostart (virStoragePoolPtr pool, int *autostart) { @@ -5229,30 +4523,6 @@ done: return rv; } -static int -remoteStoragePoolNumOfVolumes (virStoragePoolPtr pool) -{ - int rv = -1; - remote_storage_pool_num_of_volumes_args args; - remote_storage_pool_num_of_volumes_ret ret; - struct private_data *priv = pool->conn->storagePrivateData; - - remoteDriverLock(priv); - - make_nonnull_storage_pool(&args.pool, pool); - - memset (&ret, 0, sizeof ret); - if (call (pool->conn, priv, 0, REMOTE_PROC_STORAGE_POOL_NUM_OF_VOLUMES, - (xdrproc_t) xdr_remote_storage_pool_num_of_volumes_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_pool_num_of_volumes_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} static int remoteStoragePoolListVolumes (virStoragePoolPtr pool, char **const names, int maxnames) @@ -5425,99 +4695,42 @@ done: static virStorageVolPtr remoteStorageVolCreateXMLFrom (virStoragePoolPtr pool, - const char *xmlDesc, - virStorageVolPtr clonevol, - unsigned int flags) -{ - virStorageVolPtr newvol = NULL; - remote_storage_vol_create_xml_from_args args; - remote_storage_vol_create_xml_from_ret ret; - struct private_data *priv = pool->conn->storagePrivateData; - - remoteDriverLock(priv); - - make_nonnull_storage_pool (&args.pool, pool); - make_nonnull_storage_vol (&args.clonevol, clonevol); - args.xml = (char *) xmlDesc; - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (pool->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_CREATE_XML_FROM, - (xdrproc_t) xdr_remote_storage_vol_create_xml_from_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_vol_create_xml_from_ret, (char *) &ret) == -1) - goto done; - - newvol = get_nonnull_storage_vol (pool->conn, ret.vol); - xdr_free ((xdrproc_t) &xdr_remote_storage_vol_create_xml_from_ret, (char *) &ret); - -done: - remoteDriverUnlock(priv); - return newvol; -} - -static int -remoteStorageVolGetInfo (virStorageVolPtr vol, virStorageVolInfoPtr info) -{ - int rv = -1; - remote_storage_vol_get_info_args args; - remote_storage_vol_get_info_ret ret; - struct private_data *priv = vol->conn->storagePrivateData; - - remoteDriverLock(priv); - - make_nonnull_storage_vol (&args.vol, vol); - - memset (&ret, 0, sizeof ret); - if (call (vol->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_GET_INFO, - (xdrproc_t) xdr_remote_storage_vol_get_info_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_vol_get_info_ret, (char *) &ret) == -1) - goto done; - - info->type = ret.type; - info->capacity = ret.capacity; - info->allocation = ret.allocation; - - rv = 0; - -done: - remoteDriverUnlock(priv); - return rv; -} - -static char * -remoteStorageVolDumpXML (virStorageVolPtr vol, - unsigned int flags) + const char *xmlDesc, + virStorageVolPtr clonevol, + unsigned int flags) { - char *rv = NULL; - remote_storage_vol_dump_xml_args args; - remote_storage_vol_dump_xml_ret ret; - struct private_data *priv = vol->conn->storagePrivateData; + virStorageVolPtr newvol = NULL; + remote_storage_vol_create_xml_from_args args; + remote_storage_vol_create_xml_from_ret ret; + struct private_data *priv = pool->conn->storagePrivateData; remoteDriverLock(priv); - make_nonnull_storage_vol (&args.vol, vol); + make_nonnull_storage_pool (&args.pool, pool); + make_nonnull_storage_vol (&args.clonevol, clonevol); + args.xml = (char *) xmlDesc; args.flags = flags; memset (&ret, 0, sizeof ret); - if (call (vol->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_DUMP_XML, - (xdrproc_t) xdr_remote_storage_vol_dump_xml_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_vol_dump_xml_ret, (char *) &ret) == -1) + if (call (pool->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_CREATE_XML_FROM, + (xdrproc_t) xdr_remote_storage_vol_create_xml_from_args, (char *) &args, + (xdrproc_t) xdr_remote_storage_vol_create_xml_from_ret, (char *) &ret) == -1) goto done; - /* Caller frees. */ - rv = ret.xml; + newvol = get_nonnull_storage_vol (pool->conn, ret.vol); + xdr_free ((xdrproc_t) &xdr_remote_storage_vol_create_xml_from_ret, (char *) &ret); done: remoteDriverUnlock(priv); - return rv; + return newvol; } -static char * -remoteStorageVolGetPath (virStorageVolPtr vol) +static int +remoteStorageVolGetInfo (virStorageVolPtr vol, virStorageVolInfoPtr info) { - char *rv = NULL; - remote_storage_vol_get_path_args args; - remote_storage_vol_get_path_ret ret; + int rv = -1; + remote_storage_vol_get_info_args args; + remote_storage_vol_get_info_ret ret; struct private_data *priv = vol->conn->storagePrivateData; remoteDriverLock(priv); @@ -5525,20 +4738,22 @@ remoteStorageVolGetPath (virStorageVolPtr vol) make_nonnull_storage_vol (&args.vol, vol); memset (&ret, 0, sizeof ret); - if (call (vol->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_GET_PATH, - (xdrproc_t) xdr_remote_storage_vol_get_path_args, (char *) &args, - (xdrproc_t) xdr_remote_storage_vol_get_path_ret, (char *) &ret) == -1) + if (call (vol->conn, priv, 0, REMOTE_PROC_STORAGE_VOL_GET_INFO, + (xdrproc_t) xdr_remote_storage_vol_get_info_args, (char *) &args, + (xdrproc_t) xdr_remote_storage_vol_get_info_ret, (char *) &ret) == -1) goto done; - /* Caller frees. */ - rv = ret.name; + info->type = ret.type; + info->capacity = ret.capacity; + info->allocation = ret.allocation; + + rv = 0; done: remoteDriverUnlock(priv); return rv; } - /*----------------------------------------------------------------------*/ static virDrvOpenStatus ATTRIBUTE_NONNULL (1) @@ -5606,34 +4821,6 @@ static int remoteDevMonClose(virConnectPtr conn) return ret; } -static int remoteNodeNumOfDevices(virConnectPtr conn, - const char *cap, - unsigned int flags) -{ - int rv = -1; - remote_node_num_of_devices_args args; - remote_node_num_of_devices_ret ret; - struct private_data *priv = conn->devMonPrivateData; - - remoteDriverLock(priv); - - args.cap = cap ? (char **)&cap : NULL; - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NODE_NUM_OF_DEVICES, - (xdrproc_t) xdr_remote_node_num_of_devices_args, (char *) &args, - (xdrproc_t) xdr_remote_node_num_of_devices_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - - static int remoteNodeListDevices(virConnectPtr conn, const char *cap, char **const names, @@ -5722,33 +4909,6 @@ done: return dev; } -static char *remoteNodeDeviceDumpXML(virNodeDevicePtr dev, - unsigned int flags) -{ - char *rv = NULL; - remote_node_device_dump_xml_args args; - remote_node_device_dump_xml_ret ret; - struct private_data *priv = dev->conn->devMonPrivateData; - - remoteDriverLock(priv); - - args.name = dev->name; - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (dev->conn, priv, 0, REMOTE_PROC_NODE_DEVICE_DUMP_XML, - (xdrproc_t) xdr_remote_node_device_dump_xml_args, (char *) &args, - (xdrproc_t) xdr_remote_node_device_dump_xml_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock(priv); - return rv; -} - static char *remoteNodeDeviceGetParent(virNodeDevicePtr dev) { char *rv = NULL; @@ -5775,30 +4935,6 @@ done: return rv; } -static int remoteNodeDeviceNumOfCaps(virNodeDevicePtr dev) -{ - int rv = -1; - remote_node_device_num_of_caps_args args; - remote_node_device_num_of_caps_ret ret; - struct private_data *priv = dev->conn->devMonPrivateData; - - remoteDriverLock(priv); - - args.name = dev->name; - - memset (&ret, 0, sizeof ret); - if (call (dev->conn, priv, 0, REMOTE_PROC_NODE_DEVICE_NUM_OF_CAPS, - (xdrproc_t) xdr_remote_node_device_num_of_caps_args, (char *) &args, - (xdrproc_t) xdr_remote_node_device_num_of_caps_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - static int remoteNodeDeviceListCaps(virNodeDevicePtr dev, char **const names, int maxnames) @@ -6023,30 +5159,6 @@ remoteNWFilterClose (virConnectPtr conn) return rv; } - -static int -remoteNumOfNWFilters (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_nwfilters_ret ret; - struct private_data *priv = conn->nwfilterPrivateData; - - remoteDriverLock(priv); - - memset (&ret, 0, sizeof ret); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_NWFILTERS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_nwfilters_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - - static virNWFilterPtr remoteNWFilterDefineXML (virConnectPtr conn, const char *xmlDesc, unsigned int flags ATTRIBUTE_UNUSED) @@ -6189,35 +5301,6 @@ done: return net; } - -static char * -remoteNWFilterGetXMLDesc (virNWFilterPtr nwfilter, unsigned int flags) -{ - char *rv = NULL; - remote_nwfilter_get_xml_desc_args args; - remote_nwfilter_get_xml_desc_ret ret; - struct private_data *priv = nwfilter->conn->nwfilterPrivateData; - - remoteDriverLock(priv); - - make_nonnull_nwfilter (&args.nwfilter, nwfilter); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (nwfilter->conn, priv, 0, REMOTE_PROC_NWFILTER_GET_XML_DESC, - (xdrproc_t) xdr_remote_nwfilter_get_xml_desc_args, (char *) &args, - (xdrproc_t) xdr_remote_nwfilter_get_xml_desc_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock(priv); - return rv; -} - - /*----------------------------------------------------------------------*/ static int @@ -7279,28 +6362,6 @@ remoteSecretClose (virConnectPtr conn) return rv; } -static int -remoteSecretNumOfSecrets (virConnectPtr conn) -{ - int rv = -1; - remote_num_of_secrets_ret ret; - struct private_data *priv = conn->secretPrivateData; - - remoteDriverLock (priv); - - memset (&ret, 0, sizeof (ret)); - if (call (conn, priv, 0, REMOTE_PROC_NUM_OF_SECRETS, - (xdrproc_t) xdr_void, (char *) NULL, - (xdrproc_t) xdr_remote_num_of_secrets_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock (priv); - return rv; -} - static int remoteListSecrets (virConnectPtr conn, char **uuids, int maxuuids) { @@ -7440,33 +6501,6 @@ done: return rv; } -static char * -remoteSecretGetXMLDesc (virSecretPtr secret, unsigned int flags) -{ - char *rv = NULL; - remote_secret_get_xml_desc_args args; - remote_secret_get_xml_desc_ret ret; - struct private_data *priv = secret->conn->secretPrivateData; - - remoteDriverLock (priv); - - make_nonnull_secret (&args.secret, secret); - args.flags = flags; - - memset (&ret, 0, sizeof (ret)); - if (call (secret->conn, priv, 0, REMOTE_PROC_SECRET_GET_XML_DESC, - (xdrproc_t) xdr_remote_secret_get_xml_desc_args, (char *) &args, - (xdrproc_t) xdr_remote_secret_get_xml_desc_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock (priv); - return rv; -} - static int remoteSecretSetValue (virSecretPtr secret, const unsigned char *value, size_t value_size, unsigned int flags) @@ -8070,34 +7104,6 @@ done: return rv; } - -static int -remoteCPUCompare(virConnectPtr conn, const char *xmlDesc, - unsigned int flags ATTRIBUTE_UNUSED) -{ - struct private_data *priv = conn->privateData; - remote_cpu_compare_args args; - remote_cpu_compare_ret ret; - int rv = VIR_CPU_COMPARE_ERROR; - - remoteDriverLock(priv); - - args.xml = (char *) xmlDesc; - - memset(&ret, 0, sizeof (ret)); - if (call(conn, priv, 0, REMOTE_PROC_CPU_COMPARE, - (xdrproc_t) xdr_remote_cpu_compare_args, (char *) &args, - (xdrproc_t) xdr_remote_cpu_compare_ret, (char *) &ret) == -1) - goto done; - - rv = ret.result; - -done: - remoteDriverUnlock(priv); - return rv; -} - - static char * remoteCPUBaseline(virConnectPtr conn, const char **xmlCPUs, @@ -8197,62 +7203,6 @@ done: return snapshot; } - -static char * -remoteDomainSnapshotDumpXML(virDomainSnapshotPtr snapshot, unsigned int flags) -{ - char *rv = NULL; - remote_domain_snapshot_dump_xml_args args; - remote_domain_snapshot_dump_xml_ret ret; - struct private_data *priv = snapshot->domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain_snapshot(&args.snap, snapshot); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (snapshot->domain->conn, priv, 0, REMOTE_PROC_DOMAIN_SNAPSHOT_DUMP_XML, - (xdrproc_t) xdr_remote_domain_snapshot_dump_xml_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_snapshot_dump_xml_ret, (char *) &ret) == -1) - goto done; - - /* Caller frees. */ - rv = ret.xml; - -done: - remoteDriverUnlock(priv); - return rv; -} - - -static int -remoteDomainSnapshotNum (virDomainPtr domain, unsigned int flags) -{ - int rv = -1; - remote_domain_snapshot_num_args args; - remote_domain_snapshot_num_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain (&args.dom, domain); - args.flags = flags; - - memset (&ret, 0, sizeof ret); - if (call (domain->conn, priv, 0, REMOTE_PROC_DOMAIN_SNAPSHOT_NUM, - (xdrproc_t) xdr_remote_domain_snapshot_num_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_snapshot_num_ret, (char *) &ret) == -1) - goto done; - - rv = ret.num; - -done: - remoteDriverUnlock(priv); - return rv; -} - - static int remoteDomainSnapshotListNames (virDomainPtr domain, char **const names, int maxnames, unsigned int flags) @@ -8346,33 +7296,6 @@ done: return snapshot; } - -static int -remoteDomainHasCurrentSnapshot(virDomainPtr domain, unsigned int flags) -{ - int rv = -1; - remote_domain_has_current_snapshot_args args; - remote_domain_has_current_snapshot_ret ret; - struct private_data *priv = domain->conn->privateData; - - remoteDriverLock(priv); - - make_nonnull_domain(&args.dom, domain); - args.flags = flags; - - if (call(domain->conn, priv, 0, REMOTE_PROC_DOMAIN_HAS_CURRENT_SNAPSHOT, - (xdrproc_t) xdr_remote_domain_has_current_snapshot_args, (char *) &args, - (xdrproc_t) xdr_remote_domain_has_current_snapshot_ret, (char *) &ret) == -1) - goto done; - - rv = ret.result; - -done: - remoteDriverUnlock(priv); - return rv; -} - - static virDomainSnapshotPtr remoteDomainSnapshotCurrent(virDomainPtr domain, unsigned int flags) @@ -8617,7 +7540,6 @@ done: remoteDriverUnlock(priv); return rv; - } @@ -8646,7 +7568,6 @@ remoteQemuDomainMonitorCommand (virDomainPtr domain, const char *cmd, *result = strdup(ret.result); if (*result == NULL) { - virReportOOMError(); goto cleanup; } @@ -10282,7 +9203,7 @@ static virSecretDriver secret_driver = { .name = "remote", .open = remoteSecretOpen, .close = remoteSecretClose, - .numOfSecrets = remoteSecretNumOfSecrets, + .numOfSecrets = remoteNumOfSecrets, .listSecrets = remoteListSecrets, .lookupByUUID = remoteSecretLookupByUUID, .lookupByUsage = remoteSecretLookupByUsage, -- GitLab