Unify int types handling in protocol files

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@gmail.com>
This commit is contained in:
Jasper Lievisse Adriaanse 2016-01-10 01:37:33 +03:00 committed by Roman Bogorodskiy
parent 91b423beb7
commit 2b6f6ad64b
6 changed files with 49 additions and 56 deletions

View File

@ -171,6 +171,7 @@ UTIL_SOURCES = \
util/viruri.h util/viruri.c \ util/viruri.h util/viruri.c \
util/virutil.c util/virutil.h \ util/virutil.c util/virutil.h \
util/viruuid.c util/viruuid.h \ util/viruuid.c util/viruuid.h \
util/virxdrdefs.h \
util/virxml.c util/virxml.h \ util/virxml.c util/virxml.h \
$(NULL) $(NULL)

View File

@ -22,6 +22,8 @@
* Author: Martin Kletzander <mkletzan@redhat.com> * Author: Martin Kletzander <mkletzan@redhat.com>
*/ */
%#include "virxdrdefs.h"
/*----- Data types. -----*/ /*----- Data types. -----*/
/* Length of long, but not unbounded, strings. /* Length of long, but not unbounded, strings.

View File

@ -4,24 +4,7 @@
* the libvirt_lxc helper program. * the libvirt_lxc helper program.
*/ */
/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t %#include "virxdrdefs.h"
* 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
enum virLXCMonitorExitStatus { enum virLXCMonitorExitStatus {
VIR_LXC_MONITOR_EXIT_STATUS_ERROR, VIR_LXC_MONITOR_EXIT_STATUS_ERROR,

View File

@ -38,27 +38,9 @@
%#include <libvirt/libvirt.h> %#include <libvirt/libvirt.h>
%#include "internal.h" %#include "internal.h"
%#include "virxdrdefs.h"
%#include <arpa/inet.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. -----*/ /*----- Data types. -----*/
/* Length of long, but not unbounded, strings. /* Length of long, but not unbounded, strings.

View File

@ -21,27 +21,9 @@
*/ */
%#include "internal.h" %#include "internal.h"
%#include "virxdrdefs.h"
%#include <arpa/inet.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. -----*/ /*----- Data types. -----*/
/* Initial message size. /* Initial message size.

43
src/util/virxdrdefs.h Normal file
View File

@ -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__ */