From: Jasper Lievisse Adriaanse <jasper@xxxxxxxxxxx> Some of the protocol files already include handing of the missing int types such as xdr_uint64_t, some don't. To fix it everywhere, move out of the appropriate defines to the utils/virxdrdefs.h file and include it where needed. Signed-off-by: Roman Bogorodskiy <bogorodskiy@xxxxxxxxx> --- src/Makefile.am | 1 + src/admin/admin_protocol.x | 2 ++ src/lxc/lxc_monitor_protocol.x | 19 +------------------ src/remote/remote_protocol.x | 20 +------------------- src/rpc/virnetprotocol.x | 20 +------------------- src/util/virxdrdefs.h | 43 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 49 insertions(+), 56 deletions(-) create mode 100644 src/util/virxdrdefs.h diff --git a/src/Makefile.am b/src/Makefile.am index af22fc1..aa5ab69 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -171,6 +171,7 @@ UTIL_SOURCES = \ util/viruri.h util/viruri.c \ util/virutil.c util/virutil.h \ util/viruuid.c util/viruuid.h \ + util/virxdrdefs.h \ util/virxml.c util/virxml.h \ $(NULL) diff --git a/src/admin/admin_protocol.x b/src/admin/admin_protocol.x index 878983d..711201a 100644 --- a/src/admin/admin_protocol.x +++ b/src/admin/admin_protocol.x @@ -22,6 +22,8 @@ * Author: Martin Kletzander <mkletzan@xxxxxxxxxx> */ +%#include "virxdrdefs.h" + /*----- Data types. -----*/ /* Length of long, but not unbounded, strings. diff --git a/src/lxc/lxc_monitor_protocol.x b/src/lxc/lxc_monitor_protocol.x index 205d7c2..5e3d5d9 100644 --- a/src/lxc/lxc_monitor_protocol.x +++ b/src/lxc/lxc_monitor_protocol.x @@ -4,24 +4,7 @@ * the libvirt_lxc helper program. */ -/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t - * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32 - */ -%#ifdef HAVE_XDR_U_INT64_T -%# define xdr_uint64_t xdr_u_int64_t -%#endif -%#ifndef IXDR_PUT_INT32 -%# define IXDR_PUT_INT32 IXDR_PUT_LONG -%#endif -%#ifndef IXDR_GET_INT32 -%# define IXDR_GET_INT32 IXDR_GET_LONG -%#endif -%#ifndef IXDR_PUT_U_INT32 -%# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG -%#endif -%#ifndef IXDR_GET_U_INT32 -%# define IXDR_GET_U_INT32 IXDR_GET_U_LONG -%#endif +%#include "virxdrdefs.h" enum virLXCMonitorExitStatus { VIR_LXC_MONITOR_EXIT_STATUS_ERROR, diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index 80f4a8b..9f131f8 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -38,27 +38,9 @@ %#include <libvirt/libvirt.h> %#include "internal.h" +%#include "virxdrdefs.h" %#include <arpa/inet.h> -/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t - * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32 - */ -%#ifdef HAVE_XDR_U_INT64_T -%# define xdr_uint64_t xdr_u_int64_t -%#endif -%#ifndef IXDR_PUT_INT32 -%# define IXDR_PUT_INT32 IXDR_PUT_LONG -%#endif -%#ifndef IXDR_GET_INT32 -%# define IXDR_GET_INT32 IXDR_GET_LONG -%#endif -%#ifndef IXDR_PUT_U_INT32 -%# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG -%#endif -%#ifndef IXDR_GET_U_INT32 -%# define IXDR_GET_U_INT32 IXDR_GET_U_LONG -%#endif - /*----- Data types. -----*/ /* Length of long, but not unbounded, strings. diff --git a/src/rpc/virnetprotocol.x b/src/rpc/virnetprotocol.x index 7b6f753..327a334 100644 --- a/src/rpc/virnetprotocol.x +++ b/src/rpc/virnetprotocol.x @@ -21,27 +21,9 @@ */ %#include "internal.h" +%#include "virxdrdefs.h" %#include <arpa/inet.h> -/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t - * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32 - */ -%#ifdef HAVE_XDR_U_INT64_T -%# define xdr_uint64_t xdr_u_int64_t -%#endif -%#ifndef IXDR_PUT_INT32 -%# define IXDR_PUT_INT32 IXDR_PUT_LONG -%#endif -%#ifndef IXDR_GET_INT32 -%# define IXDR_GET_INT32 IXDR_GET_LONG -%#endif -%#ifndef IXDR_PUT_U_INT32 -%# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG -%#endif -%#ifndef IXDR_GET_U_INT32 -%# define IXDR_GET_U_INT32 IXDR_GET_U_LONG -%#endif - /*----- Data types. -----*/ /* Initial message size. diff --git a/src/util/virxdrdefs.h b/src/util/virxdrdefs.h new file mode 100644 index 0000000..40074dd --- /dev/null +++ b/src/util/virxdrdefs.h @@ -0,0 +1,43 @@ +/* + * virxdrdefs.h + * + * Copyright (C) 2016 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * 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 + * <http://www.gnu.org/licenses/>. + */ + +#ifndef __VIR_XDRDEFS_H__ +# define __VIR_XDRDEFS_H__ + +/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t + * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32 + */ +# ifdef HAVE_XDR_U_INT64_T +# define xdr_uint64_t xdr_u_int64_t +# endif +# ifndef IXDR_PUT_INT32 +# define IXDR_PUT_INT32 IXDR_PUT_LONG +# endif +# ifndef IXDR_GET_INT32 +# define IXDR_GET_INT32 IXDR_GET_LONG +# endif +# ifndef IXDR_PUT_U_INT32 +# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG +# endif +# ifndef IXDR_GET_U_INT32 +# define IXDR_GET_U_INT32 IXDR_GET_U_LONG +# endif + +#endif /* __VIR_XDRDEFS_H__ */ -- 2.4.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list