diff --git a/src/Makefile.am b/src/Makefile.am index af22fc17ba..aa5ab6929b 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 878983d2ec..711201acc4 100644 --- a/src/admin/admin_protocol.x +++ b/src/admin/admin_protocol.x @@ -22,6 +22,8 @@ * Author: Martin Kletzander */ +%#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 205d7c2c7f..5e3d5d9983 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 80f4a8b3a1..9f131f87fb 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -38,27 +38,9 @@ %#include %#include "internal.h" +%#include "virxdrdefs.h" %#include -/* 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 7b6f753ba7..327a33475b 100644 --- a/src/rpc/virnetprotocol.x +++ b/src/rpc/virnetprotocol.x @@ -21,27 +21,9 @@ */ %#include "internal.h" +%#include "virxdrdefs.h" %#include -/* 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 0000000000..40074dde31 --- /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 + * . + */ + +#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__ */