summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2012-09-24 22:22:49 +0200
committerGuido Günther <agx@sigxcpu.org>2012-09-24 22:22:49 +0200
commit8d5672320b92b05f1fbc15c1a6813ef466e1f8fc (patch)
treef53fde0878440f69f04f170e2565ecbc538a9b8f /daemon
parentaa3d87ec696b05698edfc56b5381c7500ccd220b (diff)
New upstream version 0.10.2
Diffstat (limited to 'daemon')
-rw-r--r--daemon/Makefile.am2
-rw-r--r--daemon/Makefile.in74
-rw-r--r--daemon/libvirtd-config.c2
-rw-r--r--daemon/libvirtd-config.h2
-rw-r--r--daemon/libvirtd.c10
-rw-r--r--daemon/libvirtd.h2
-rw-r--r--daemon/remote.c446
-rw-r--r--daemon/remote.h2
-rw-r--r--daemon/remote_dispatch.h443
-rw-r--r--daemon/stream.c2
-rw-r--r--daemon/stream.h2
11 files changed, 963 insertions, 24 deletions
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index b45349c1b..3405c6718 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -151,7 +151,7 @@ if WITH_NETWORK
libvirtd_LDADD += ../src/libvirt_driver_network.la
endif
-if WITH_NETCF
+if WITH_INTERFACE
libvirtd_LDADD += ../src/libvirt_driver_interface.la
endif
diff --git a/daemon/Makefile.in b/daemon/Makefile.in
index 11b4b25c6..c73dd6752 100644
--- a/daemon/Makefile.in
+++ b/daemon/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -17,6 +17,23 @@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -45,7 +62,7 @@ host_triplet = @host@
@WITH_DRIVER_MODULES_FALSE@@WITH_LIBVIRTD_TRUE@@WITH_UML_TRUE@am__append_8 = ../src/libvirt_driver_uml.la
@WITH_DRIVER_MODULES_FALSE@@WITH_LIBVIRTD_TRUE@@WITH_STORAGE_TRUE@am__append_9 = ../src/libvirt_driver_storage.la
@WITH_DRIVER_MODULES_FALSE@@WITH_LIBVIRTD_TRUE@@WITH_NETWORK_TRUE@am__append_10 = ../src/libvirt_driver_network.la
-@WITH_DRIVER_MODULES_FALSE@@WITH_LIBVIRTD_TRUE@@WITH_NETCF_TRUE@am__append_11 = ../src/libvirt_driver_interface.la
+@WITH_DRIVER_MODULES_FALSE@@WITH_INTERFACE_TRUE@@WITH_LIBVIRTD_TRUE@am__append_11 = ../src/libvirt_driver_interface.la
@WITH_DRIVER_MODULES_FALSE@@WITH_LIBVIRTD_TRUE@@WITH_NODE_DEVICES_TRUE@am__append_12 = ../src/libvirt_driver_nodedev.la
@WITH_DRIVER_MODULES_FALSE@@WITH_LIBVIRTD_TRUE@@WITH_SECRETS_TRUE@am__append_13 = ../src/libvirt_driver_secret.la
@WITH_DRIVER_MODULES_FALSE@@WITH_LIBVIRTD_TRUE@@WITH_NWFILTER_TRUE@am__append_14 = ../src/libvirt_driver_nwfilter.la
@@ -66,6 +83,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/calloc.m4 \
$(top_srcdir)/gnulib/m4/canonicalize.m4 \
$(top_srcdir)/gnulib/m4/chown.m4 \
+ $(top_srcdir)/gnulib/m4/clock_time.m4 \
$(top_srcdir)/gnulib/m4/close.m4 \
$(top_srcdir)/gnulib/m4/configmake.m4 \
$(top_srcdir)/gnulib/m4/count-one-bits.m4 \
@@ -76,6 +94,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/environ.m4 \
$(top_srcdir)/gnulib/m4/errno_h.m4 \
$(top_srcdir)/gnulib/m4/error.m4 \
+ $(top_srcdir)/gnulib/m4/execinfo.m4 \
$(top_srcdir)/gnulib/m4/exponentd.m4 \
$(top_srcdir)/gnulib/m4/exponentf.m4 \
$(top_srcdir)/gnulib/m4/exponentl.m4 \
@@ -89,7 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/fdatasync.m4 \
$(top_srcdir)/gnulib/m4/fdopen.m4 \
$(top_srcdir)/gnulib/m4/fflush.m4 \
- $(top_srcdir)/gnulib/m4/ffs.m4 \
+ $(top_srcdir)/gnulib/m4/ffs.m4 $(top_srcdir)/gnulib/m4/ffsl.m4 \
$(top_srcdir)/gnulib/m4/float_h.m4 \
$(top_srcdir)/gnulib/m4/fnmatch.m4 \
$(top_srcdir)/gnulib/m4/fpieee.m4 \
@@ -162,6 +181,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/msvc-inval.m4 \
$(top_srcdir)/gnulib/m4/msvc-nothrow.m4 \
$(top_srcdir)/gnulib/m4/multiarch.m4 \
+ $(top_srcdir)/gnulib/m4/net_if_h.m4 \
$(top_srcdir)/gnulib/m4/netdb_h.m4 \
$(top_srcdir)/gnulib/m4/netinet_in_h.m4 \
$(top_srcdir)/gnulib/m4/nl_langinfo.m4 \
@@ -360,6 +380,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libvirtd_SOURCES)
DIST_SOURCES = $(am__libvirtd_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -467,6 +492,7 @@ ENOLINK_VALUE = @ENOLINK_VALUE@
EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
+EXECINFO_H = @EXECINFO_H@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FLOAT_H = @FLOAT_H@
@@ -1076,6 +1102,7 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NETDB_H = @HAVE_NETDB_H@
HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_NET_IF_H = @HAVE_NET_IF_H@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OPENPTY = @HAVE_OPENPTY@
@@ -1290,6 +1317,8 @@ LIBXL_CFLAGS = @LIBXL_CFLAGS@
LIBXL_LIBS = @LIBXL_LIBS@
LIBXML_CFLAGS = @LIBXML_CFLAGS@
LIBXML_LIBS = @LIBXML_LIBS@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_EXECINFO = @LIB_EXECINFO@
LIB_FDATASYNC = @LIB_FDATASYNC@
LIB_POLL = @LIB_POLL@
LIB_PTHREAD = @LIB_PTHREAD@
@@ -1331,6 +1360,7 @@ MSGMERGE = @MSGMERGE@
NETCF_CFLAGS = @NETCF_CFLAGS@
NETCF_LIBS = @NETCF_LIBS@
NETINET_IN_H = @NETINET_IN_H@
+NET_IF_H = @NET_IF_H@
NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H = @NEXT_AS_FIRST_DIRECTIVE_ARPA_INET_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
@@ -1342,6 +1372,7 @@ NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
NEXT_AS_FIRST_DIRECTIVE_NETDB_H = @NEXT_AS_FIRST_DIRECTIVE_NETDB_H@
NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
+NEXT_AS_FIRST_DIRECTIVE_NET_IF_H = @NEXT_AS_FIRST_DIRECTIVE_NET_IF_H@
NEXT_AS_FIRST_DIRECTIVE_POLL_H = @NEXT_AS_FIRST_DIRECTIVE_POLL_H@
NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
NEXT_AS_FIRST_DIRECTIVE_PTY_H = @NEXT_AS_FIRST_DIRECTIVE_PTY_H@
@@ -1378,6 +1409,7 @@ NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_MATH_H = @NEXT_MATH_H@
NEXT_NETDB_H = @NEXT_NETDB_H@
NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_NET_IF_H = @NEXT_NET_IF_H@
NEXT_POLL_H = @NEXT_POLL_H@
NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
NEXT_PTY_H = @NEXT_PTY_H@
@@ -1669,7 +1701,6 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
RPCGEN = @RPCGEN@
-RT_LIBS = @RT_LIBS@
SANLOCK_CFLAGS = @SANLOCK_CFLAGS@
SANLOCK_LIBS = @SANLOCK_LIBS@
SASL_CFLAGS = @SASL_CFLAGS@
@@ -1922,8 +1953,11 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
+ fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p || test -f $$p1; \
@@ -2092,9 +2126,18 @@ clean-libtool:
-rm -rf .libs _libs
install-man8: $(man8_MANS)
@$(NORMAL_INSTALL)
- test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
- @list='$(man8_MANS)'; test -n "$(man8dir)" || exit 0; \
- { for i in $$list; do echo "$$i"; done; \
+ @list1='$(man8_MANS)'; \
+ list2=''; \
+ test -n "$(man8dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.8[a-z]*$$/p'; \
+ fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
@@ -2124,8 +2167,11 @@ uninstall-man8:
dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
install-augeasDATA: $(augeas_DATA)
@$(NORMAL_INSTALL)
- test -z "$(augeasdir)" || $(MKDIR_P) "$(DESTDIR)$(augeasdir)"
@list='$(augeas_DATA)'; test -n "$(augeasdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(augeasdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(augeasdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -2142,8 +2188,11 @@ uninstall-augeasDATA:
dir='$(DESTDIR)$(augeasdir)'; $(am__uninstall_files_from_dir)
install-augeastestsDATA: $(augeastests_DATA)
@$(NORMAL_INSTALL)
- test -z "$(augeastestsdir)" || $(MKDIR_P) "$(DESTDIR)$(augeastestsdir)"
@list='$(augeastests_DATA)'; test -n "$(augeastestsdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(augeastestsdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(augeastestsdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -2160,8 +2209,11 @@ uninstall-augeastestsDATA:
dir='$(DESTDIR)$(augeastestsdir)'; $(am__uninstall_files_from_dir)
install-confDATA: $(conf_DATA)
@$(NORMAL_INSTALL)
- test -z "$(confdir)" || $(MKDIR_P) "$(DESTDIR)$(confdir)"
@list='$(conf_DATA)'; test -n "$(confdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(confdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(confdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
diff --git a/daemon/libvirtd-config.c b/daemon/libvirtd-config.c
index 5374bcc4a..d9dfea190 100644
--- a/daemon/libvirtd-config.c
+++ b/daemon/libvirtd-config.c
@@ -15,7 +15,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel P. Berrange <berrange@redhat.com>
diff --git a/daemon/libvirtd-config.h b/daemon/libvirtd-config.h
index e9c58cbd2..07118de40 100644
--- a/daemon/libvirtd-config.h
+++ b/daemon/libvirtd-config.h
@@ -15,7 +15,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel P. Berrange <berrange@redhat.com>
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 6973df646..349ffd63d 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -15,7 +15,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel P. Berrange <berrange@redhat.com>
@@ -78,8 +78,8 @@
# ifdef WITH_NETWORK
# include "network/bridge_driver.h"
# endif
-# ifdef WITH_NETCF
-# include "interface/netcf_driver.h"
+# ifdef WITH_INTERFACE
+# include "interface/interface_driver.h"
# endif
# ifdef WITH_STORAGE
# include "storage/storage_driver.h"
@@ -382,7 +382,7 @@ static void daemonInitialize(void)
# ifdef WITH_NWFILTER
virDriverLoadModule("nwfilter");
# endif
-# ifdef WITH_NETCF
+# ifdef WITH_INTERFACE
virDriverLoadModule("interface");
# endif
# ifdef WITH_XEN
@@ -404,7 +404,7 @@ static void daemonInitialize(void)
# ifdef WITH_NETWORK
networkRegister();
# endif
-# ifdef WITH_NETCF
+# ifdef WITH_INTERFACE
interfaceRegister();
# endif
# ifdef WITH_STORAGE
diff --git a/daemon/libvirtd.h b/daemon/libvirtd.h
index 726a1fb4d..e38915165 100644
--- a/daemon/libvirtd.h
+++ b/daemon/libvirtd.h
@@ -15,7 +15,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel P. Berrange <berrange@redhat.com>
diff --git a/daemon/remote.c b/daemon/remote.c
index 24928f49a..0a082b950 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -14,7 +14,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Richard W.M. Jones <rjones@redhat.com>
@@ -536,6 +536,7 @@ static int remoteRelayDomainEventTrayChange(virConnectPtr conn ATTRIBUTE_UNUSED,
static int remoteRelayDomainEventPMWakeup(virConnectPtr conn ATTRIBUTE_UNUSED,
virDomainPtr dom,
+ int reason ATTRIBUTE_UNUSED,
void *opaque) {
virNetServerClientPtr client = opaque;
remote_domain_event_pmwakeup_msg data;
@@ -558,6 +559,7 @@ static int remoteRelayDomainEventPMWakeup(virConnectPtr conn ATTRIBUTE_UNUSED,
static int remoteRelayDomainEventPMSuspend(virConnectPtr conn ATTRIBUTE_UNUSED,
virDomainPtr dom,
+ int reason ATTRIBUTE_UNUSED,
void *opaque) {
virNetServerClientPtr client = opaque;
remote_domain_event_pmsuspend_msg data;
@@ -4099,6 +4101,448 @@ cleanup:
return rv;
}
+static int
+remoteDispatchConnectListAllStoragePools(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_storage_pools_args *args,
+ remote_connect_list_all_storage_pools_ret *ret)
+{
+ virStoragePoolPtr *pools = NULL;
+ int npools = 0;
+ int i;
+ int rv = -1;
+ struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if ((npools = virConnectListAllStoragePools(priv->conn,
+ args->need_results ? &pools : NULL,
+ args->flags)) < 0)
+ goto cleanup;
+
+ if (pools && npools) {
+ if (VIR_ALLOC_N(ret->pools.pools_val, npools) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+ ret->pools.pools_len = npools;
+
+ for (i = 0; i < npools; i++)
+ make_nonnull_storage_pool(ret->pools.pools_val + i, pools[i]);
+ } else {
+ ret->pools.pools_len = 0;
+ ret->pools.pools_val = NULL;
+ }
+
+ ret->ret = npools;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (pools) {
+ for (i = 0; i < npools; i++)
+ virStoragePoolFree(pools[i]);
+ VIR_FREE(pools);
+ }
+ return rv;
+}
+
+static int
+remoteDispatchStoragePoolListAllVolumes(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_storage_pool_list_all_volumes_args *args,
+ remote_storage_pool_list_all_volumes_ret *ret)
+{
+ virStorageVolPtr *vols = NULL;
+ virStoragePoolPtr pool = NULL;
+ int nvols = 0;
+ int i;
+ int rv = -1;
+ struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if (!(pool = get_nonnull_storage_pool(priv->conn, args->pool)))
+ goto cleanup;
+
+ if ((nvols = virStoragePoolListAllVolumes(pool,
+ args->need_results ? &vols : NULL,
+ args->flags)) < 0)
+ goto cleanup;
+
+ if (vols && nvols) {
+ if (VIR_ALLOC_N(ret->vols.vols_val, nvols) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+ ret->vols.vols_len = nvols;
+
+ for (i = 0; i < nvols; i++)
+ make_nonnull_storage_vol(ret->vols.vols_val + i, vols[i]);
+ } else {
+ ret->vols.vols_len = 0;
+ ret->vols.vols_val = NULL;
+ }
+
+ ret->ret = nvols;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (vols) {
+ for (i = 0; i < nvols; i++)
+ virStorageVolFree(vols[i]);
+ VIR_FREE(vols);
+ }
+ return rv;
+}
+
+static int
+remoteDispatchConnectListAllNetworks(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_networks_args *args,
+ remote_connect_list_all_networks_ret *ret)
+{
+ virNetworkPtr *nets = NULL;
+ int nnets = 0;
+ int i;
+ int rv = -1;
+ struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if ((nnets = virConnectListAllNetworks(priv->conn,
+ args->need_results ? &nets : NULL,
+ args->flags)) < 0)
+ goto cleanup;
+
+ if (nets && nnets) {
+ if (VIR_ALLOC_N(ret->nets.nets_val, nnets) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+ ret->nets.nets_len = nnets;
+
+ for (i = 0; i < nnets; i++)
+ make_nonnull_network(ret->nets.nets_val + i, nets[i]);
+ } else {
+ ret->nets.nets_len = 0;
+ ret->nets.nets_val = NULL;
+ }
+
+ ret->ret = nnets;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (nets) {
+ for (i = 0; i < nnets; i++)
+ virNetworkFree(nets[i]);
+ VIR_FREE(nets);
+ }
+ return rv;
+}
+
+static int
+remoteDispatchConnectListAllInterfaces(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_interfaces_args *args,
+ remote_connect_list_all_interfaces_ret *ret)
+{
+ virInterfacePtr *ifaces = NULL;
+ int nifaces = 0;
+ int i;
+ int rv = -1;
+ struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if ((nifaces = virConnectListAllInterfaces(priv->conn,
+ args->need_results ? &ifaces : NULL,
+ args->flags)) < 0)
+ goto cleanup;
+
+ if (ifaces && nifaces) {
+ if (VIR_ALLOC_N(ret->ifaces.ifaces_val, nifaces) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+ ret->ifaces.ifaces_len = nifaces;
+
+ for (i = 0; i < nifaces; i++)
+ make_nonnull_interface(ret->ifaces.ifaces_val + i, ifaces[i]);
+ } else {
+ ret->ifaces.ifaces_len = 0;
+ ret->ifaces.ifaces_val = NULL;
+ }
+
+ ret->ret = nifaces;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (ifaces) {
+ for (i = 0; i < nifaces; i++)
+ virInterfaceFree(ifaces[i]);
+ VIR_FREE(ifaces);
+ }
+ return rv;
+}
+
+static int
+remoteDispatchConnectListAllNodeDevices(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_node_devices_args *args,
+ remote_connect_list_all_node_devices_ret *ret)
+{
+ virNodeDevicePtr *devices = NULL;
+ int ndevices = 0;
+ int i;
+ int rv = -1;
+ struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if ((ndevices = virConnectListAllNodeDevices(priv->conn,
+ args->need_results ? &devices : NULL,
+ args->flags)) < 0)
+ goto cleanup;
+
+ if (devices && ndevices) {
+ if (VIR_ALLOC_N(ret->devices.devices_val, ndevices) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+ ret->devices.devices_len = ndevices;
+
+ for (i = 0; i < ndevices; i++)
+ make_nonnull_node_device(ret->devices.devices_val + i, devices[i]);
+ } else {
+ ret->devices.devices_len = 0;
+ ret->devices.devices_val = NULL;
+ }
+
+ ret->ret = ndevices;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (devices) {
+ for (i = 0; i < ndevices; i++)
+ virNodeDeviceFree(devices[i]);
+ VIR_FREE(devices);
+ }
+ return rv;
+}
+
+static int
+remoteDispatchConnectListAllNWFilters(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_nwfilters_args *args,
+ remote_connect_list_all_nwfilters_ret *ret)
+{
+ virNWFilterPtr *filters = NULL;
+ int nfilters = 0;
+ int i;
+ int rv = -1;
+ struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if ((nfilters = virConnectListAllNWFilters(priv->conn,
+ args->need_results ? &filters : NULL,
+ args->flags)) < 0)
+ goto cleanup;
+
+ if (filters && nfilters) {
+ if (VIR_ALLOC_N(ret->filters.filters_val, nfilters) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+ ret->filters.filters_len = nfilters;
+
+ for (i = 0; i < nfilters; i++)
+ make_nonnull_nwfilter(ret->filters.filters_val + i, filters[i]);
+ } else {
+ ret->filters.filters_len = 0;
+ ret->filters.filters_val = NULL;
+ }
+
+ ret->ret = nfilters;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (filters) {
+ for (i = 0; i < nfilters; i++)
+ virNWFilterFree(filters[i]);
+ VIR_FREE(filters);
+ }
+ return rv;
+}
+
+static int
+remoteDispatchConnectListAllSecrets(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_secrets_args *args,
+ remote_connect_list_all_secrets_ret *ret)
+{
+ virSecretPtr *secrets = NULL;
+ int nsecrets = 0;
+ int i;
+ int rv = -1;
+ struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if ((nsecrets = virConnectListAllSecrets(priv->conn,
+ args->need_results ? &secrets : NULL,
+ args->flags)) < 0)
+ goto cleanup;
+
+ if (secrets && nsecrets) {
+ if (VIR_ALLOC_N(ret->secrets.secrets_val, nsecrets) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+ ret->secrets.secrets_len = nsecrets;
+
+ for (i = 0; i < nsecrets; i++)
+ make_nonnull_secret(ret->secrets.secrets_val + i, secrets[i]);
+ } else {
+ ret->secrets.secrets_len = 0;
+ ret->secrets.secrets_val = NULL;
+ }
+
+ ret->ret = nsecrets;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (secrets) {
+ for (i = 0; i < nsecrets; i++)
+ virSecretFree(secrets[i]);
+ VIR_FREE(secrets);
+ }
+ return rv;
+}
+
+static int
+remoteDispatchNodeGetMemoryParameters(virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client ATTRIBUTE_UNUSED,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_node_get_memory_parameters_args *args,
+ remote_node_get_memory_parameters_ret *ret)
+{
+ virTypedParameterPtr params = NULL;
+ int nparams = args->nparams;
+ unsigned int flags;
+ int rv = -1;
+ struct daemonClientPrivate *priv =
+ virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ flags = args->flags;
+
+ if (nparams > REMOTE_NODE_MEMORY_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+ }
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
+ virReportOOMError();
+ goto cleanup;
+ }
+
+
+ if (virNodeGetMemoryParameters(priv->conn, params, &nparams, flags) < 0)
+ goto cleanup;
+
+ /* In this case, we need to send back the number of parameters
+ * supported
+ */
+ if (args->nparams == 0) {
+ ret->nparams = nparams;
+ goto success;
+ }
+
+ if (remoteSerializeTypedParameters(params, nparams,
+ &ret->params.params_val,
+ &ret->params.params_len,
+ args->flags) < 0)
+ goto cleanup;
+
+success:
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ virTypedParameterArrayClear(params, nparams);
+ VIR_FREE(params);
+ return rv;
+}
+
/*----- Helpers. -----*/
/* get_nonnull_domain and get_nonnull_network turn an on-wire
diff --git a/daemon/remote.h b/daemon/remote.h
index 280649466..493171f76 100644
--- a/daemon/remote.h
+++ b/daemon/remote.h
@@ -14,7 +14,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Richard W.M. Jones <rjones@redhat.com>
diff --git a/daemon/remote_dispatch.h b/daemon/remote_dispatch.h
index 4cf750c87..1476e4c74 100644
--- a/daemon/remote_dispatch.h
+++ b/daemon/remote_dispatch.h
@@ -150,6 +150,138 @@ static int remoteDispatchConnectListAllDomainsHelper(
+static int remoteDispatchConnectListAllInterfaces(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_interfaces_args *args,
+ remote_connect_list_all_interfaces_ret *ret);
+static int remoteDispatchConnectListAllInterfacesHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchConnectListAllInterfaces(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchConnectListAllInterfaces body has to be implemented manually */
+
+
+
+static int remoteDispatchConnectListAllNetworks(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_networks_args *args,
+ remote_connect_list_all_networks_ret *ret);
+static int remoteDispatchConnectListAllNetworksHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchConnectListAllNetworks(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchConnectListAllNetworks body has to be implemented manually */
+
+
+
+static int remoteDispatchConnectListAllNodeDevices(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_node_devices_args *args,
+ remote_connect_list_all_node_devices_ret *ret);
+static int remoteDispatchConnectListAllNodeDevicesHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchConnectListAllNodeDevices(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchConnectListAllNodeDevices body has to be implemented manually */
+
+
+
+static int remoteDispatchConnectListAllNWFilters(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_nwfilters_args *args,
+ remote_connect_list_all_nwfilters_ret *ret);
+static int remoteDispatchConnectListAllNWFiltersHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchConnectListAllNWFilters(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchConnectListAllNWFilters body has to be implemented manually */
+
+
+
+static int remoteDispatchConnectListAllSecrets(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_secrets_args *args,
+ remote_connect_list_all_secrets_ret *ret);
+static int remoteDispatchConnectListAllSecretsHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchConnectListAllSecrets(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchConnectListAllSecrets body has to be implemented manually */
+
+
+
+static int remoteDispatchConnectListAllStoragePools(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_connect_list_all_storage_pools_args *args,
+ remote_connect_list_all_storage_pools_ret *ret);
+static int remoteDispatchConnectListAllStoragePoolsHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchConnectListAllStoragePools(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchConnectListAllStoragePools body has to be implemented manually */
+
+
+
static int remoteDispatchCPUBaseline(
virNetServerPtr server,
virNetServerClientPtr client,
@@ -406,6 +538,66 @@ cleanup:
+static int remoteDispatchDomainBlockCommit(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_domain_block_commit_args *args);
+static int remoteDispatchDomainBlockCommitHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret ATTRIBUTE_UNUSED)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchDomainBlockCommit(server, client, msg, rerr, args);
+}
+static int remoteDispatchDomainBlockCommit(
+ virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_domain_block_commit_args *args)
+{
+ int rv = -1;
+ virDomainPtr dom = NULL;
+ char *base;
+ char *top;
+ unsigned long bandwidth;
+ struct daemonClientPrivate *priv =
+ virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
+ goto cleanup;
+
+ HYPER_TO_ULONG(bandwidth, args->bandwidth);
+
+ base = args->base ? *args->base : NULL;
+ top = args->top ? *args->top : NULL;
+
+ if (virDomainBlockCommit(dom, args->disk, base, top, bandwidth, args->flags) < 0)
+ goto cleanup;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (dom)
+ virDomainFree(dom);
+ return rv;
+}
+
+
+
static int remoteDispatchDomainBlockJobAbort(
virNetServerPtr server,
virNetServerClientPtr client,
@@ -9130,6 +9322,58 @@ cleanup:
+static int remoteDispatchNetworkUpdate(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_network_update_args *args);
+static int remoteDispatchNetworkUpdateHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret ATTRIBUTE_UNUSED)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchNetworkUpdate(server, client, msg, rerr, args);
+}
+static int remoteDispatchNetworkUpdate(
+ virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_network_update_args *args)
+{
+ int rv = -1;
+ virNetworkPtr net = NULL;
+ struct daemonClientPrivate *priv =
+ virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if (!(net = get_nonnull_network(priv->conn, args->net)))
+ goto cleanup;
+
+ if (virNetworkUpdate(net, args->command, args->section, args->parentIndex, args->xml, args->flags) < 0)
+ goto cleanup;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ if (net)
+ virNetworkFree(net);
+ return rv;
+}
+
+
+
static int remoteDispatchNodeDeviceCreateXML(
virNetServerPtr server,
virNetServerClientPtr client,
@@ -9835,6 +10079,28 @@ cleanup:
+static int remoteDispatchNodeGetMemoryParameters(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_node_get_memory_parameters_args *args,
+ remote_node_get_memory_parameters_ret *ret);
+static int remoteDispatchNodeGetMemoryParametersHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchNodeGetMemoryParameters(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchNodeGetMemoryParameters body has to be implemented manually */
+
+
+
static int remoteDispatchNodeGetMemoryStats(
virNetServerPtr server,
virNetServerClientPtr client,
@@ -9998,6 +10264,62 @@ cleanup:
+static int remoteDispatchNodeSetMemoryParameters(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_node_set_memory_parameters_args *args);
+static int remoteDispatchNodeSetMemoryParametersHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret ATTRIBUTE_UNUSED)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchNodeSetMemoryParameters(server, client, msg, rerr, args);
+}
+static int remoteDispatchNodeSetMemoryParameters(
+ virNetServerPtr server ATTRIBUTE_UNUSED,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg ATTRIBUTE_UNUSED,
+ virNetMessageErrorPtr rerr,
+ remote_node_set_memory_parameters_args *args)
+{
+ int rv = -1;
+ virTypedParameterPtr params = NULL;
+ int nparams;
+ struct daemonClientPrivate *priv =
+ virNetServerClientGetPrivateData(client);
+
+ if (!priv->conn) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection not open"));
+ goto cleanup;
+ }
+
+ if ((params = remoteDeserializeTypedParameters(args->params.params_val,
+ args->params.params_len,
+ REMOTE_NODE_MEMORY_PARAMETERS_MAX,
+ &nparams)) == NULL)
+ goto cleanup;
+
+ if (virNodeSetMemoryParameters(priv->conn, params, nparams, args->flags) < 0)
+ goto cleanup;
+
+ rv = 0;
+
+cleanup:
+ if (rv < 0)
+ virNetMessageSaveError(rerr);
+ virTypedParameterArrayClear(params, nparams);
+ VIR_FREE(params);
+ return rv;
+}
+
+
+
static int remoteDispatchNodeSuspendForDuration(
virNetServerPtr server,
virNetServerClientPtr client,
@@ -11742,6 +12064,28 @@ cleanup:
+static int remoteDispatchStoragePoolListAllVolumes(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ remote_storage_pool_list_all_volumes_args *args,
+ remote_storage_pool_list_all_volumes_ret *ret);
+static int remoteDispatchStoragePoolListAllVolumesHelper(
+ virNetServerPtr server,
+ virNetServerClientPtr client,
+ virNetMessagePtr msg,
+ virNetMessageErrorPtr rerr,
+ void *args,
+ void *ret)
+{
+ VIR_DEBUG("server=%p client=%p msg=%p rerr=%p args=%p ret=%p", server, client, msg, rerr, args, ret);
+ return remoteDispatchStoragePoolListAllVolumes(server, client, msg, rerr, args, ret);
+}
+/* remoteDispatchStoragePoolListAllVolumes body has to be implemented manually */
+
+
+
static int remoteDispatchStoragePoolListVolumes(
virNetServerPtr server,
virNetServerClientPtr client,
@@ -15540,5 +15884,104 @@ virNetServerProgramProc remoteProcs[] = {
true,
0
},
+{ /* Method ConnectListAllStoragePools => 281 */
+ remoteDispatchConnectListAllStoragePoolsHelper,
+ sizeof(remote_connect_list_all_storage_pools_args),
+ (xdrproc_t)xdr_remote_connect_list_all_storage_pools_args,
+ sizeof(remote_connect_list_all_storage_pools_ret),
+ (xdrproc_t)xdr_remote_connect_list_all_storage_pools_ret,
+ true,
+ 1
+},
+{ /* Method StoragePoolListAllVolumes => 282 */
+ remoteDispatchStoragePoolListAllVolumesHelper,
+ sizeof(remote_storage_pool_list_all_volumes_args),
+ (xdrproc_t)xdr_remote_storage_pool_list_all_volumes_args,
+ sizeof(remote_storage_pool_list_all_volumes_ret),
+ (xdrproc_t)xdr_remote_storage_pool_list_all_volumes_ret,
+ true,
+ 1
+},
+{ /* Method ConnectListAllNetworks => 283 */
+ remoteDispatchConnectListAllNetworksHelper,
+ sizeof(remote_connect_list_all_networks_args),
+ (xdrproc_t)xdr_remote_connect_list_all_networks_args,
+ sizeof(remote_connect_list_all_networks_ret),
+ (xdrproc_t)xdr_remote_connect_list_all_networks_ret,
+ true,
+ 1
+},
+{ /* Method ConnectListAllInterfaces => 284 */
+ remoteDispatchConnectListAllInterfacesHelper,
+ sizeof(remote_connect_list_all_interfaces_args),
+ (xdrproc_t)xdr_remote_connect_list_all_interfaces_args,
+ sizeof(remote_connect_list_all_interfaces_ret),
+ (xdrproc_t)xdr_remote_connect_list_all_interfaces_ret,
+ true,
+ 1
+},
+{ /* Method ConnectListAllNodeDevices => 285 */
+ remoteDispatchConnectListAllNodeDevicesHelper,
+ sizeof(remote_connect_list_all_node_devices_args),
+ (xdrproc_t)xdr_remote_connect_list_all_node_devices_args,
+ sizeof(remote_connect_list_all_node_devices_ret),
+ (xdrproc_t)xdr_remote_connect_list_all_node_devices_ret,
+ true,
+ 1
+},
+{ /* Method ConnectListAllNWFilters => 286 */
+ remoteDispatchConnectListAllNWFiltersHelper,
+ sizeof(remote_connect_list_all_nwfilters_args),
+ (xdrproc_t)xdr_remote_connect_list_all_nwfilters_args,
+ sizeof(remote_connect_list_all_nwfilters_ret),
+ (xdrproc_t)xdr_remote_connect_list_all_nwfilters_ret,
+ true,
+ 1
+},
+{ /* Method ConnectListAllSecrets => 287 */
+ remoteDispatchConnectListAllSecretsHelper,
+ sizeof(remote_connect_list_all_secrets_args),
+ (xdrproc_t)xdr_remote_connect_list_all_secrets_args,
+ sizeof(remote_connect_list_all_secrets_ret),
+ (xdrproc_t)xdr_remote_connect_list_all_secrets_ret,
+ true,
+ 1
+},
+{ /* Method NodeSetMemoryParameters => 288 */
+ remoteDispatchNodeSetMemoryParametersHelper,
+ sizeof(remote_node_set_memory_parameters_args),
+ (xdrproc_t)xdr_remote_node_set_memory_parameters_args,
+ 0,
+ (xdrproc_t)xdr_void,
+ true,
+ 0
+},
+{ /* Method NodeGetMemoryParameters => 289 */
+ remoteDispatchNodeGetMemoryParametersHelper,
+ sizeof(remote_node_get_memory_parameters_args),
+ (xdrproc_t)xdr_remote_node_get_memory_parameters_args,
+ sizeof(remote_node_get_memory_parameters_ret),
+ (xdrproc_t)xdr_remote_node_get_memory_parameters_ret,
+ true,
+ 0
+},
+{ /* Method DomainBlockCommit => 290 */
+ remoteDispatchDomainBlockCommitHelper,
+ sizeof(remote_domain_block_commit_args),
+ (xdrproc_t)xdr_remote_domain_block_commit_args,
+ 0,
+ (xdrproc_t)xdr_void,
+ true,
+ 0
+},
+{ /* Method NetworkUpdate => 291 */
+ remoteDispatchNetworkUpdateHelper,
+ sizeof(remote_network_update_args),
+ (xdrproc_t)xdr_remote_network_update_args,
+ 0,
+ (xdrproc_t)xdr_void,
+ true,
+ 1
+},
};
size_t remoteNProcs = ARRAY_CARDINALITY(remoteProcs);
diff --git a/daemon/stream.c b/daemon/stream.c
index fe5cae504..58c53a9c5 100644
--- a/daemon/stream.c
+++ b/daemon/stream.c
@@ -14,7 +14,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel P. Berrange <berrange@redhat.com>
diff --git a/daemon/stream.h b/daemon/stream.h
index 2c74ab70d..2be40c7da 100644
--- a/daemon/stream.h
+++ b/daemon/stream.h
@@ -14,7 +14,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; If not, see
+ * License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*
* Author: Daniel P. Berrange <berrange@redhat.com>