Remove obsolete patches
authorYaakov Selkowitz <yselkowi@redhat.com>
Tue, 13 Oct 2015 22:04:41 +0000 (17:04 -0500)
committerYaakov Selkowitz <yselkowi@redhat.com>
Tue, 13 Oct 2015 22:04:41 +0000 (17:04 -0500)
06-Allow-using-system-XDR-implementation.patch [deleted file]
07-cygwin-specific-fixes.patch [deleted file]

diff --git a/06-Allow-using-system-XDR-implementation.patch b/06-Allow-using-system-XDR-implementation.patch
deleted file mode 100644 (file)
index 85d67ea..0000000
+++ /dev/null
@@ -1,1202 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index f5d6062..76f7c82 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,11 +2,22 @@ ACLOCAL_AMFLAGS = -I m4
- SUBDIRS = src man doc
-+xdrdir = $(includedir)/tirpc/rpc
-+
-+# The normal XDR headers which are used/installed when
-+# providing a local implementation of XDR. (That is,
-+# when --enable-xdr)
-+XDR_FULL_HDRS = tirpc/xdr-full/rpc/types.h tirpc/xdr-full/rpc/xdr.h
-+
-+# The stub xdr headers provide tirpc-specific additions to
-+# the system versions. Used when libtirpc is configured to
-+# use the system XDR implementation and does not provide its
-+# own verson -- that is, when --disable-xdr.
-+XDR_STUB_HDRS = tirpc/xdr-stub/rpc/types.h
-+
- nobase_include_HEADERS = tirpc/netconfig.h \
-                        tirpc/rpcsvc/crypt.x \
-                        tirpc/rpcsvc/crypt.h \
--                       tirpc/rpc/xdr.h \
--                       tirpc/rpc/types.h \
-                        tirpc/rpc/svc_soc.h \
-                        tirpc/rpc/svc.h \
-                        tirpc/rpc/svc_dg.h \
-@@ -33,6 +44,13 @@ nobase_include_HEADERS = tirpc/netconfig.h \
-                        tirpc/rpc/auth.h \
-                        tirpc/rpc/auth_gss.h \
-                        tirpc/rpc/auth_des.h
--    
-+if XDR
-+dist_xdr_HEADERS = $(XDR_FULL_HDRS)
-+else
-+dist_xdr_HEADERS = $(XDR_STUB_HDRS)
-+endif
-+
-+EXTRA_DIST = $(XDR_FULL_HDRS) $(XDR_STUB_HDRS)
-+
- pkgconfigdir=$(libdir)/pkgconfig
- pkgconfig_DATA = libtirpc.pc
-diff --git a/configure.ac b/configure.ac
-index ebafefc..16face3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -22,6 +22,19 @@ if test x$gss = xtrue; then
-       AC_MSG_ERROR([Unable to locate information required to use libgssglue.]))
- fi
-+# Should libtirpc include XDR routines (default=yes), or
-+# expect that a system library provides suitable ones (no).
-+AC_ARG_ENABLE([xdr],
-+      [AS_HELP_STRING([--enable-xdr],
-+              [Provide an XDR implementation (default=yes)])],
-+      [case "${enableval}" in
-+      yes) xdr=true ;;
-+      no)  xdr=false ;;
-+      *) AC_MSG_ERROR([bad value ${enableval} for --enable-xdr]) ;;
-+      esac],[xdr=true])
-+AM_CONDITIONAL(XDR, test x$xdr = xtrue)
-+
-+
- AC_PROG_CC
- AM_CONFIG_HEADER(config.h)
- LT_INIT([win32-dll])
-@@ -39,6 +52,19 @@ AC_CHECK_HEADER([rpcsvc/nis.h],
-       [tirpc_has_nis=no])
- AM_CONDITIONAL(HAVE_NIS, test x$tirpc_has_nis = xyes)
-+if test x$xdr != xtrue; then
-+      AC_CHECK_HEADER([rpc/xdr.h],
-+              [tirpc_has_rpc_xdr_h=yes],
-+              [tirpc_has_rpc_xdr_h=no])
-+      AC_CHECK_HEADER([rpc/types.h],
-+              [tirpc_has_rpc_types_h=yes],
-+              [tirpc_has_rpc_types_h=no])
-+      case x${tirpc_has_rpc_xdr_h},x${tirpc_has_rpc_types_h} in
-+      xyes,xyes ) ;;
-+      * ) AC_MSG_ERROR([Unable to locate system XDR headers]) ;;
-+      esac
-+fi
-+
- AC_CHECK_LIB([pthread], [pthread_create])
- # Only add -lnsl if needed, for yp_match
- AC_CHECK_FUNC([yp_match], , AC_CHECK_LIB([nsl], [yp_match]))
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 9bb2474..24a7c29 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -64,14 +64,19 @@ libtirpc_la_CFLAGS = $(AM_CFLAGS)
- libtirpc_la_CPPFLAGS = $(AM_CPPFLAGS)
- libtirpc_la_LIBADD = $(LIBS)
--## XDR
--libtirpc_la_SOURCES += $(XDR_SRCS)
--
- ## NIS
- if HAVE_NIS
- libtirpc_la_SOURCES += $(NIS_SRCS)
- endif
-+## XDR
-+if XDR
-+libtirpc_la_SOURCES += $(XDR_SRCS)
-+INCLUDES += -I$(top_srcdir)/tirpc/xdr-full
-+else
-+INCLUDES += -I$(top_srcdir)/tirpc/xdr-stub
-+endif
-+
- ## Secure-RPC
- if GSS
-     libtirpc_la_SOURCES += $(GSS_SRCS)
-@@ -84,12 +89,16 @@ endif
- ## libtirpc_a_SOURCES += netname.c netnamer.c rpcdname.c
- ## libtirpc_a_SOURCES += rtime.c
--libtirpc_la_DEPS = $(BASE_SRCS) $(XDR_SRCS)
-+libtirpc_la_DEPS = $(BASE_SRCS)
- if HAVE_NIS
- libtirpc_la_DEPS += $(NIS_SRCS)
- endif
-+if XDR
-+libtirpc_la_DEPS += $(XDR_SRCS)
-+endif
-+
- if GSS
- libtirpc_la_DEPS += $(GSS_SRCS)
- endif
-diff --git a/tirpc/rpc/types.h b/tirpc/rpc/types.h
-deleted file mode 100644
-index d99a57b..0000000
---- a/tirpc/rpc/types.h
-+++ /dev/null
-@@ -1,110 +0,0 @@
--/*    $NetBSD: types.h,v 1.13 2000/06/13 01:02:44 thorpej Exp $       */
--
--/*
-- * Copyright (c) 2009, Sun Microsystems, Inc.
-- * All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions are met:
-- * - Redistributions of source code must retain the above copyright notice,
-- *   this list of conditions and the following disclaimer.
-- * - Redistributions in binary form must reproduce the above copyright notice,
-- *   this list of conditions and the following disclaimer in the documentation
-- *   and/or other materials provided with the distribution.
-- * - Neither the name of Sun Microsystems, Inc. nor the names of its
-- *   contributors may be used to endorse or promote products derived
-- *   from this software without specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-- * POSSIBILITY OF SUCH DAMAGE.
-- *
-- *    from: @(#)types.h 1.18 87/07/24 SMI
-- *    from: @(#)types.h       2.3 88/08/15 4.0 RPCSRC
-- * $FreeBSD: src/include/rpc/types.h,v 1.10.6.1 2003/12/18 00:59:50 peter Exp $
-- */
--
--/*
-- * Rpc additions to <sys/types.h>
-- */
--#ifndef _TIRPC_TYPES_H
--#define _TIRPC_TYPES_H
--
--#include <sys/types.h>
--//#include <sys/_null.h>
--
--typedef int32_t bool_t;
--typedef int32_t enum_t;
--
--typedef u_int32_t rpcprog_t;
--typedef u_int32_t rpcvers_t;
--typedef u_int32_t rpcproc_t;
--typedef u_int32_t rpcprot_t;
--typedef u_int32_t rpcport_t;
--typedef   int32_t rpc_inline_t;
--
--#ifndef NULL
--#     define NULL     0
--#endif
--#define __dontcare__  -1
--
--#ifndef FALSE
--#     define FALSE    (0)
--#endif
--#ifndef TRUE
--#     define TRUE     (1)
--#endif
--
--#define mem_alloc(bsize)      calloc(1, bsize)
--#define mem_free(ptr, bsize)  free(ptr)
--
--#include <sys/time.h>
--#include <sys/param.h>
--#include <stdlib.h>
--#include <netconfig.h>
--
--/*
-- * The netbuf structure is defined here, because FreeBSD / NetBSD only use
-- * it inside the RPC code. It's in <xti.h> on SVR4, but it would be confusing
-- * to have an xti.h, since FreeBSD / NetBSD does not support XTI/TLI.
-- */
--
--/*
-- * The netbuf structure is used for transport-independent address storage.
-- */
--struct netbuf {
--  unsigned int maxlen;
--  unsigned int len;
--  void *buf;
--};
--
--/*
-- * The format of the addres and options arguments of the XTI t_bind call.
-- * Only provided for compatibility, it should not be used.
-- */
--
--struct t_bind {
--  struct netbuf   addr;
--  unsigned int    qlen;
--};
--
--/*
-- * Internal library and rpcbind use. This is not an exported interface, do
-- * not use.
-- */
--struct __rpc_sockinfo {
--      int si_af; 
--      int si_proto;
--      int si_socktype;
--      int si_alen;
--};
--
--#endif /* _TIRPC_TYPES_H */
-diff --git a/tirpc/rpc/xdr.h b/tirpc/rpc/xdr.h
-deleted file mode 100644
-index 3a6bc96..0000000
---- a/tirpc/rpc/xdr.h
-+++ /dev/null
-@@ -1,366 +0,0 @@
--/*    $NetBSD: xdr.h,v 1.19 2000/07/17 05:00:45 matt Exp $    */
--
--/*
-- * Copyright (c) 2009, Sun Microsystems, Inc.
-- * All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions are met:
-- * - Redistributions of source code must retain the above copyright notice,
-- *   this list of conditions and the following disclaimer.
-- * - Redistributions in binary form must reproduce the above copyright notice,
-- *   this list of conditions and the following disclaimer in the documentation
-- *   and/or other materials provided with the distribution.
-- * - Neither the name of Sun Microsystems, Inc. nor the names of its
-- *   contributors may be used to endorse or promote products derived
-- *   from this software without specific prior written permission.
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-- * POSSIBILITY OF SUCH DAMAGE.
-- *
-- *    from: @(#)xdr.h 1.19 87/04/22 SMI
-- *    from: @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC
-- * $FreeBSD: src/include/rpc/xdr.h,v 1.23 2003/03/07 13:19:40 nectar Exp $
-- */
--
--/*
-- * xdr.h, External Data Representation Serialization Routines.
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- */
--
--#ifndef _TIRPC_XDR_H
--#define _TIRPC_XDR_H
--#include <sys/cdefs.h>
--#include <stdio.h>
--#include <netinet/in.h>
--// Rajout pour la définition des types
--#include <rpc/types.h>
--
--/*
-- * XDR provides a conventional way for converting between C data
-- * types and an external bit-string representation.  Library supplied
-- * routines provide for the conversion on built-in C data types.  These
-- * routines and utility routines defined here are used to help implement
-- * a type encode/decode routine for each user-defined type.
-- *
-- * Each data type provides a single procedure which takes two arguments:
-- *
-- *    bool_t
-- *    xdrproc(xdrs, argresp)
-- *            XDR *xdrs;
-- *            <type> *argresp;
-- *
-- * xdrs is an instance of a XDR handle, to which or from which the data
-- * type is to be converted.  argresp is a pointer to the structure to be
-- * converted.  The XDR handle contains an operation field which indicates
-- * which of the operations (ENCODE, DECODE * or FREE) is to be performed.
-- *
-- * XDR_DECODE may allocate space if the pointer argresp is null.  This
-- * data can be freed with the XDR_FREE operation.
-- *
-- * We write only one procedure per data type to make it easy
-- * to keep the encode and decode procedures for a data type consistent.
-- * In many cases the same code performs all operations on a user defined type,
-- * because all the hard work is done in the component type routines.
-- * decode as a series of calls on the nested data types.
-- */
--
--/*
-- * Xdr operations.  XDR_ENCODE causes the type to be encoded into the
-- * stream.  XDR_DECODE causes the type to be extracted from the stream.
-- * XDR_FREE can be used to release the space allocated by an XDR_DECODE
-- * request.
-- */
--enum xdr_op {
--      XDR_ENCODE=0,
--      XDR_DECODE=1,
--      XDR_FREE=2
--};
--
--/*
-- * This is the number of bytes per unit of external data.
-- */
--#define BYTES_PER_XDR_UNIT    (4)
--#define RNDUP(x)  ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \
--                  * BYTES_PER_XDR_UNIT)
--
--/*
-- * The XDR handle.
-- * Contains operation which is being applied to the stream,
-- * an operations vector for the particular implementation (e.g. see xdr_mem.c),
-- * and two private fields for the use of the particular implementation.
-- */
--typedef struct __rpc_xdr {
--      enum xdr_op     x_op;           /* operation; fast additional param */
--      const struct xdr_ops {
--              /* get a long from underlying stream */
--              bool_t  (*x_getlong)(struct __rpc_xdr *, long *);
--              /* put a long to " */
--              bool_t  (*x_putlong)(struct __rpc_xdr *, const long *);
--              /* get some bytes from " */
--              bool_t  (*x_getbytes)(struct __rpc_xdr *, char *, u_int);
--              /* put some bytes to " */
--              bool_t  (*x_putbytes)(struct __rpc_xdr *, const char *, u_int);
--              /* returns bytes off from beginning */
--              u_int   (*x_getpostn)(struct __rpc_xdr *);
--              /* lets you reposition the stream */
--              bool_t  (*x_setpostn)(struct __rpc_xdr *, u_int);
--              /* buf quick ptr to buffered data */
--              int32_t *(*x_inline)(struct __rpc_xdr *, u_int);
--              /* free privates of this xdr_stream */
--              void    (*x_destroy)(struct __rpc_xdr *);
--              bool_t  (*x_control)(struct __rpc_xdr *, int, void *);
--      } *x_ops;
--      char *          x_public;       /* users' data */
--      void *          x_private;      /* pointer to private data */
--      char *          x_base;         /* private used for position info */
--      u_int           x_handy;        /* extra private word */
--} XDR;
--
--/*
-- * A xdrproc_t exists for each data type which is to be encoded or decoded.
-- *
-- * The second argument to the xdrproc_t is a pointer to an opaque pointer.
-- * The opaque pointer generally points to a structure of the data type
-- * to be decoded.  If this pointer is 0, then the type routines should
-- * allocate dynamic storage of the appropriate size and return it.
-- */
--#ifdef _KERNEL
--typedef       bool_t (*xdrproc_t)(XDR *, void *, u_int);
--#else
--/*
-- * XXX can't actually prototype it, because some take three args!!!
-- */
--typedef       bool_t (*xdrproc_t)(XDR *, ...);
--#endif
--
--/*
-- * Operations defined on a XDR handle
-- *
-- * XDR                *xdrs;
-- * long               *longp;
-- * char *      addr;
-- * u_int       len;
-- * u_int       pos;
-- */
--#define XDR_GETLONG(xdrs, longp)                      \
--      (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
--#define xdr_getlong(xdrs, longp)                      \
--      (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
--
--#define XDR_PUTLONG(xdrs, longp)                      \
--      (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
--#define xdr_putlong(xdrs, longp)                      \
--      (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
--
--static __inline int
--xdr_getint32(XDR *xdrs, int32_t *ip)
--{
--      long l;
--
--      if (!xdr_getlong(xdrs, &l))
--              return (FALSE);
--      *ip = (int32_t)l;
--      return (TRUE);
--}
--
--static __inline int
--xdr_putint32(XDR *xdrs, int32_t *ip)
--{
--      long l;
--
--      l = (long)*ip;
--      return xdr_putlong(xdrs, &l);
--}
--
--#define XDR_GETINT32(xdrs, int32p)    xdr_getint32(xdrs, int32p)
--#define XDR_PUTINT32(xdrs, int32p)    xdr_putint32(xdrs, int32p)
--
--#define XDR_GETBYTES(xdrs, addr, len)                 \
--      (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
--#define xdr_getbytes(xdrs, addr, len)                 \
--      (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
--
--#define XDR_PUTBYTES(xdrs, addr, len)                 \
--      (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
--#define xdr_putbytes(xdrs, addr, len)                 \
--      (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
--
--#define XDR_GETPOS(xdrs)                              \
--      (*(xdrs)->x_ops->x_getpostn)(xdrs)
--#define xdr_getpos(xdrs)                              \
--      (*(xdrs)->x_ops->x_getpostn)(xdrs)
--
--#define XDR_SETPOS(xdrs, pos)                         \
--      (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
--#define xdr_setpos(xdrs, pos)                         \
--      (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
--
--#define       XDR_INLINE(xdrs, len)                           \
--      (*(xdrs)->x_ops->x_inline)(xdrs, len)
--#define       xdr_inline(xdrs, len)                           \
--      (*(xdrs)->x_ops->x_inline)(xdrs, len)
--
--#define       XDR_DESTROY(xdrs)                               \
--      if ((xdrs)->x_ops->x_destroy)                   \
--              (*(xdrs)->x_ops->x_destroy)(xdrs)
--#define       xdr_destroy(xdrs)                               \
--      if ((xdrs)->x_ops->x_destroy)                   \
--              (*(xdrs)->x_ops->x_destroy)(xdrs)
--
--#define XDR_CONTROL(xdrs, req, op)                    \
--      if ((xdrs)->x_ops->x_control)                   \
--              (*(xdrs)->x_ops->x_control)(xdrs, req, op)
--#define xdr_control(xdrs, req, op) XDR_CONTROL(xdrs, req, op)
--
--/*
-- * Solaris strips the '_t' from these types -- not sure why.
-- * But, let's be compatible.
-- */
--#define xdr_rpcvers(xdrs, versp) xdr_u_int32(xdrs, versp)
--#define xdr_rpcprog(xdrs, progp) xdr_u_int32(xdrs, progp)
--#define xdr_rpcproc(xdrs, procp) xdr_u_int32(xdrs, procp)
--#define xdr_rpcprot(xdrs, protp) xdr_u_int32(xdrs, protp)
--#define xdr_rpcport(xdrs, portp) xdr_u_int32(xdrs, portp)
--
--/*
-- * Support struct for discriminated unions.
-- * You create an array of xdrdiscrim structures, terminated with
-- * an entry with a null procedure pointer.  The xdr_union routine gets
-- * the discriminant value and then searches the array of structures
-- * for a matching value.  If a match is found the associated xdr routine
-- * is called to handle that part of the union.  If there is
-- * no match, then a default routine may be called.
-- * If there is no match and no default routine it is an error.
-- */
--#define NULL_xdrproc_t ((xdrproc_t)0)
--struct xdr_discrim {
--      int     value;
--      xdrproc_t proc;
--};
--
--/*
-- * In-line routines for fast encode/decode of primitive data types.
-- * Caveat emptor: these use single memory cycles to get the
-- * data from the underlying buffer, and will fail to operate
-- * properly if the data is not aligned.  The standard way to use these
-- * is to say:
-- *    if ((buf = XDR_INLINE(xdrs, count)) == NULL)
-- *            return (FALSE);
-- *    <<< macro calls >>>
-- * where ``count'' is the number of bytes of data occupied
-- * by the primitive data types.
-- *
-- * N.B. and frozen for all time: each data type here uses 4 bytes
-- * of external representation.
-- */
--#define IXDR_GET_INT32(buf)           ((int32_t)ntohl((u_int32_t)*(buf)++))
--#define IXDR_PUT_INT32(buf, v)                (*(buf)++ =(int32_t)htonl((u_int32_t)v))
--#define IXDR_GET_U_INT32(buf)         ((u_int32_t)IXDR_GET_INT32(buf))
--#define IXDR_PUT_U_INT32(buf, v)      IXDR_PUT_INT32((buf), ((int32_t)(v)))
--
--#define IXDR_GET_LONG(buf)            ((long)ntohl((u_int32_t)*(buf)++))
--#define IXDR_PUT_LONG(buf, v)         (*(buf)++ =(int32_t)htonl((u_int32_t)v))
--
--#define IXDR_GET_BOOL(buf)            ((bool_t)IXDR_GET_LONG(buf))
--#define IXDR_GET_ENUM(buf, t)         ((t)IXDR_GET_LONG(buf))
--#define IXDR_GET_U_LONG(buf)          ((u_long)IXDR_GET_LONG(buf))
--#define IXDR_GET_SHORT(buf)           ((short)IXDR_GET_LONG(buf))
--#define IXDR_GET_U_SHORT(buf)         ((u_short)IXDR_GET_LONG(buf))
--
--#define IXDR_PUT_BOOL(buf, v)         IXDR_PUT_LONG((buf), (v))
--#define IXDR_PUT_ENUM(buf, v)         IXDR_PUT_LONG((buf), (v))
--#define IXDR_PUT_U_LONG(buf, v)               IXDR_PUT_LONG((buf), (v))
--#define IXDR_PUT_SHORT(buf, v)                IXDR_PUT_LONG((buf), (v))
--#define IXDR_PUT_U_SHORT(buf, v)      IXDR_PUT_LONG((buf), (v))
--
--/*
-- * These are the "generic" xdr routines.
-- */
--__BEGIN_DECLS
--extern bool_t xdr_void(void);
--extern bool_t xdr_int(XDR *, int *);
--extern bool_t xdr_u_int(XDR *, u_int *);
--extern bool_t xdr_long(XDR *, long *);
--extern bool_t xdr_u_long(XDR *, u_long *);
--extern bool_t xdr_short(XDR *, short *);
--extern bool_t xdr_u_short(XDR *, u_short *);
--extern bool_t xdr_int16_t(XDR *, int16_t *);
--extern bool_t xdr_u_int16_t(XDR *, u_int16_t *);
--extern bool_t xdr_int32_t(XDR *, int32_t *);
--extern bool_t xdr_u_int32_t(XDR *, u_int32_t *);
--extern bool_t xdr_int64_t(XDR *, int64_t *);
--extern bool_t xdr_u_int64_t(XDR *, u_int64_t *);
--extern bool_t xdr_bool(XDR *, bool_t *);
--extern bool_t xdr_enum(XDR *, enum_t *);
--extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, xdrproc_t);
--extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int);
--extern bool_t xdr_opaque(XDR *, char *, u_int);
--extern bool_t xdr_string(XDR *, char **, u_int);
--extern bool_t xdr_union(XDR *, enum_t *, char *, const struct xdr_discrim *, xdrproc_t);
--extern bool_t xdr_char(XDR *, char *);
--extern bool_t xdr_u_char(XDR *, u_char *);
--extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t);
--extern bool_t xdr_float(XDR *, float *);
--extern bool_t xdr_double(XDR *, double *);
--extern bool_t xdr_quadruple(XDR *, long double *);
--extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t);
--extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t);
--extern bool_t xdr_wrapstring(XDR *, char **);
--extern void   xdr_free(xdrproc_t, void *);
--extern bool_t xdr_hyper(XDR *, quad_t *);
--extern bool_t xdr_u_hyper(XDR *, u_quad_t *);
--extern bool_t xdr_longlong_t(XDR *, quad_t *);
--extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *);
--__END_DECLS
--
--/*
-- * Common opaque bytes objects used by many rpc protocols;
-- * declared here due to commonality.
-- */
--#define MAX_NETOBJ_SZ 1024
--struct netobj {
--      u_int   n_len;
--      char    *n_bytes;
--};
--typedef struct netobj netobj;
--extern bool_t   xdr_netobj(XDR *, struct netobj *);
--
--/*
-- * These are the public routines for the various implementations of
-- * xdr streams.
-- */
--__BEGIN_DECLS
--/* XDR using memory buffers */
--extern void   xdrmem_create(XDR *, char *, u_int, enum xdr_op);
--
--/* XDR using stdio library */
--extern void   xdrstdio_create(XDR *, FILE *, enum xdr_op);
--
--/* XDR pseudo records for tcp */
--extern void   xdrrec_create(XDR *, u_int, u_int, void *,
--                          int (*)(void *, void *, int),
--                          int (*)(void *, void *, int));
--
--/* make end of xdr record */
--extern bool_t xdrrec_endofrecord(XDR *, int);
--
--/* move to beginning of next record */
--extern bool_t xdrrec_skiprecord(XDR *);
--
--/* true if no more input */
--extern bool_t xdrrec_eof(XDR *);
--extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int);
--__END_DECLS
--
--#endif /* !_TIRPC_XDR_H */
-diff --git a/tirpc/xdr-full/rpc/types.h b/tirpc/xdr-full/rpc/types.h
-new file mode 100644
-index 0000000..d99a57b
---- /dev/null
-+++ b/tirpc/xdr-full/rpc/types.h
-@@ -0,0 +1,110 @@
-+/*    $NetBSD: types.h,v 1.13 2000/06/13 01:02:44 thorpej Exp $       */
-+
-+/*
-+ * Copyright (c) 2009, Sun Microsystems, Inc.
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions are met:
-+ * - Redistributions of source code must retain the above copyright notice,
-+ *   this list of conditions and the following disclaimer.
-+ * - Redistributions in binary form must reproduce the above copyright notice,
-+ *   this list of conditions and the following disclaimer in the documentation
-+ *   and/or other materials provided with the distribution.
-+ * - Neither the name of Sun Microsystems, Inc. nor the names of its
-+ *   contributors may be used to endorse or promote products derived
-+ *   from this software without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-+ * POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *    from: @(#)types.h 1.18 87/07/24 SMI
-+ *    from: @(#)types.h       2.3 88/08/15 4.0 RPCSRC
-+ * $FreeBSD: src/include/rpc/types.h,v 1.10.6.1 2003/12/18 00:59:50 peter Exp $
-+ */
-+
-+/*
-+ * Rpc additions to <sys/types.h>
-+ */
-+#ifndef _TIRPC_TYPES_H
-+#define _TIRPC_TYPES_H
-+
-+#include <sys/types.h>
-+//#include <sys/_null.h>
-+
-+typedef int32_t bool_t;
-+typedef int32_t enum_t;
-+
-+typedef u_int32_t rpcprog_t;
-+typedef u_int32_t rpcvers_t;
-+typedef u_int32_t rpcproc_t;
-+typedef u_int32_t rpcprot_t;
-+typedef u_int32_t rpcport_t;
-+typedef   int32_t rpc_inline_t;
-+
-+#ifndef NULL
-+#     define NULL     0
-+#endif
-+#define __dontcare__  -1
-+
-+#ifndef FALSE
-+#     define FALSE    (0)
-+#endif
-+#ifndef TRUE
-+#     define TRUE     (1)
-+#endif
-+
-+#define mem_alloc(bsize)      calloc(1, bsize)
-+#define mem_free(ptr, bsize)  free(ptr)
-+
-+#include <sys/time.h>
-+#include <sys/param.h>
-+#include <stdlib.h>
-+#include <netconfig.h>
-+
-+/*
-+ * The netbuf structure is defined here, because FreeBSD / NetBSD only use
-+ * it inside the RPC code. It's in <xti.h> on SVR4, but it would be confusing
-+ * to have an xti.h, since FreeBSD / NetBSD does not support XTI/TLI.
-+ */
-+
-+/*
-+ * The netbuf structure is used for transport-independent address storage.
-+ */
-+struct netbuf {
-+  unsigned int maxlen;
-+  unsigned int len;
-+  void *buf;
-+};
-+
-+/*
-+ * The format of the addres and options arguments of the XTI t_bind call.
-+ * Only provided for compatibility, it should not be used.
-+ */
-+
-+struct t_bind {
-+  struct netbuf   addr;
-+  unsigned int    qlen;
-+};
-+
-+/*
-+ * Internal library and rpcbind use. This is not an exported interface, do
-+ * not use.
-+ */
-+struct __rpc_sockinfo {
-+      int si_af; 
-+      int si_proto;
-+      int si_socktype;
-+      int si_alen;
-+};
-+
-+#endif /* _TIRPC_TYPES_H */
-diff --git a/tirpc/xdr-full/rpc/xdr.h b/tirpc/xdr-full/rpc/xdr.h
-new file mode 100644
-index 0000000..3a6bc96
---- /dev/null
-+++ b/tirpc/xdr-full/rpc/xdr.h
-@@ -0,0 +1,366 @@
-+/*    $NetBSD: xdr.h,v 1.19 2000/07/17 05:00:45 matt Exp $    */
-+
-+/*
-+ * Copyright (c) 2009, Sun Microsystems, Inc.
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions are met:
-+ * - Redistributions of source code must retain the above copyright notice,
-+ *   this list of conditions and the following disclaimer.
-+ * - Redistributions in binary form must reproduce the above copyright notice,
-+ *   this list of conditions and the following disclaimer in the documentation
-+ *   and/or other materials provided with the distribution.
-+ * - Neither the name of Sun Microsystems, Inc. nor the names of its
-+ *   contributors may be used to endorse or promote products derived
-+ *   from this software without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-+ * POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *    from: @(#)xdr.h 1.19 87/04/22 SMI
-+ *    from: @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC
-+ * $FreeBSD: src/include/rpc/xdr.h,v 1.23 2003/03/07 13:19:40 nectar Exp $
-+ */
-+
-+/*
-+ * xdr.h, External Data Representation Serialization Routines.
-+ *
-+ * Copyright (C) 1984, Sun Microsystems, Inc.
-+ */
-+
-+#ifndef _TIRPC_XDR_H
-+#define _TIRPC_XDR_H
-+#include <sys/cdefs.h>
-+#include <stdio.h>
-+#include <netinet/in.h>
-+// Rajout pour la définition des types
-+#include <rpc/types.h>
-+
-+/*
-+ * XDR provides a conventional way for converting between C data
-+ * types and an external bit-string representation.  Library supplied
-+ * routines provide for the conversion on built-in C data types.  These
-+ * routines and utility routines defined here are used to help implement
-+ * a type encode/decode routine for each user-defined type.
-+ *
-+ * Each data type provides a single procedure which takes two arguments:
-+ *
-+ *    bool_t
-+ *    xdrproc(xdrs, argresp)
-+ *            XDR *xdrs;
-+ *            <type> *argresp;
-+ *
-+ * xdrs is an instance of a XDR handle, to which or from which the data
-+ * type is to be converted.  argresp is a pointer to the structure to be
-+ * converted.  The XDR handle contains an operation field which indicates
-+ * which of the operations (ENCODE, DECODE * or FREE) is to be performed.
-+ *
-+ * XDR_DECODE may allocate space if the pointer argresp is null.  This
-+ * data can be freed with the XDR_FREE operation.
-+ *
-+ * We write only one procedure per data type to make it easy
-+ * to keep the encode and decode procedures for a data type consistent.
-+ * In many cases the same code performs all operations on a user defined type,
-+ * because all the hard work is done in the component type routines.
-+ * decode as a series of calls on the nested data types.
-+ */
-+
-+/*
-+ * Xdr operations.  XDR_ENCODE causes the type to be encoded into the
-+ * stream.  XDR_DECODE causes the type to be extracted from the stream.
-+ * XDR_FREE can be used to release the space allocated by an XDR_DECODE
-+ * request.
-+ */
-+enum xdr_op {
-+      XDR_ENCODE=0,
-+      XDR_DECODE=1,
-+      XDR_FREE=2
-+};
-+
-+/*
-+ * This is the number of bytes per unit of external data.
-+ */
-+#define BYTES_PER_XDR_UNIT    (4)
-+#define RNDUP(x)  ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \
-+                  * BYTES_PER_XDR_UNIT)
-+
-+/*
-+ * The XDR handle.
-+ * Contains operation which is being applied to the stream,
-+ * an operations vector for the particular implementation (e.g. see xdr_mem.c),
-+ * and two private fields for the use of the particular implementation.
-+ */
-+typedef struct __rpc_xdr {
-+      enum xdr_op     x_op;           /* operation; fast additional param */
-+      const struct xdr_ops {
-+              /* get a long from underlying stream */
-+              bool_t  (*x_getlong)(struct __rpc_xdr *, long *);
-+              /* put a long to " */
-+              bool_t  (*x_putlong)(struct __rpc_xdr *, const long *);
-+              /* get some bytes from " */
-+              bool_t  (*x_getbytes)(struct __rpc_xdr *, char *, u_int);
-+              /* put some bytes to " */
-+              bool_t  (*x_putbytes)(struct __rpc_xdr *, const char *, u_int);
-+              /* returns bytes off from beginning */
-+              u_int   (*x_getpostn)(struct __rpc_xdr *);
-+              /* lets you reposition the stream */
-+              bool_t  (*x_setpostn)(struct __rpc_xdr *, u_int);
-+              /* buf quick ptr to buffered data */
-+              int32_t *(*x_inline)(struct __rpc_xdr *, u_int);
-+              /* free privates of this xdr_stream */
-+              void    (*x_destroy)(struct __rpc_xdr *);
-+              bool_t  (*x_control)(struct __rpc_xdr *, int, void *);
-+      } *x_ops;
-+      char *          x_public;       /* users' data */
-+      void *          x_private;      /* pointer to private data */
-+      char *          x_base;         /* private used for position info */
-+      u_int           x_handy;        /* extra private word */
-+} XDR;
-+
-+/*
-+ * A xdrproc_t exists for each data type which is to be encoded or decoded.
-+ *
-+ * The second argument to the xdrproc_t is a pointer to an opaque pointer.
-+ * The opaque pointer generally points to a structure of the data type
-+ * to be decoded.  If this pointer is 0, then the type routines should
-+ * allocate dynamic storage of the appropriate size and return it.
-+ */
-+#ifdef _KERNEL
-+typedef       bool_t (*xdrproc_t)(XDR *, void *, u_int);
-+#else
-+/*
-+ * XXX can't actually prototype it, because some take three args!!!
-+ */
-+typedef       bool_t (*xdrproc_t)(XDR *, ...);
-+#endif
-+
-+/*
-+ * Operations defined on a XDR handle
-+ *
-+ * XDR                *xdrs;
-+ * long               *longp;
-+ * char *      addr;
-+ * u_int       len;
-+ * u_int       pos;
-+ */
-+#define XDR_GETLONG(xdrs, longp)                      \
-+      (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-+#define xdr_getlong(xdrs, longp)                      \
-+      (*(xdrs)->x_ops->x_getlong)(xdrs, longp)
-+
-+#define XDR_PUTLONG(xdrs, longp)                      \
-+      (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-+#define xdr_putlong(xdrs, longp)                      \
-+      (*(xdrs)->x_ops->x_putlong)(xdrs, longp)
-+
-+static __inline int
-+xdr_getint32(XDR *xdrs, int32_t *ip)
-+{
-+      long l;
-+
-+      if (!xdr_getlong(xdrs, &l))
-+              return (FALSE);
-+      *ip = (int32_t)l;
-+      return (TRUE);
-+}
-+
-+static __inline int
-+xdr_putint32(XDR *xdrs, int32_t *ip)
-+{
-+      long l;
-+
-+      l = (long)*ip;
-+      return xdr_putlong(xdrs, &l);
-+}
-+
-+#define XDR_GETINT32(xdrs, int32p)    xdr_getint32(xdrs, int32p)
-+#define XDR_PUTINT32(xdrs, int32p)    xdr_putint32(xdrs, int32p)
-+
-+#define XDR_GETBYTES(xdrs, addr, len)                 \
-+      (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-+#define xdr_getbytes(xdrs, addr, len)                 \
-+      (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
-+
-+#define XDR_PUTBYTES(xdrs, addr, len)                 \
-+      (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-+#define xdr_putbytes(xdrs, addr, len)                 \
-+      (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
-+
-+#define XDR_GETPOS(xdrs)                              \
-+      (*(xdrs)->x_ops->x_getpostn)(xdrs)
-+#define xdr_getpos(xdrs)                              \
-+      (*(xdrs)->x_ops->x_getpostn)(xdrs)
-+
-+#define XDR_SETPOS(xdrs, pos)                         \
-+      (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-+#define xdr_setpos(xdrs, pos)                         \
-+      (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
-+
-+#define       XDR_INLINE(xdrs, len)                           \
-+      (*(xdrs)->x_ops->x_inline)(xdrs, len)
-+#define       xdr_inline(xdrs, len)                           \
-+      (*(xdrs)->x_ops->x_inline)(xdrs, len)
-+
-+#define       XDR_DESTROY(xdrs)                               \
-+      if ((xdrs)->x_ops->x_destroy)                   \
-+              (*(xdrs)->x_ops->x_destroy)(xdrs)
-+#define       xdr_destroy(xdrs)                               \
-+      if ((xdrs)->x_ops->x_destroy)                   \
-+              (*(xdrs)->x_ops->x_destroy)(xdrs)
-+
-+#define XDR_CONTROL(xdrs, req, op)                    \
-+      if ((xdrs)->x_ops->x_control)                   \
-+              (*(xdrs)->x_ops->x_control)(xdrs, req, op)
-+#define xdr_control(xdrs, req, op) XDR_CONTROL(xdrs, req, op)
-+
-+/*
-+ * Solaris strips the '_t' from these types -- not sure why.
-+ * But, let's be compatible.
-+ */
-+#define xdr_rpcvers(xdrs, versp) xdr_u_int32(xdrs, versp)
-+#define xdr_rpcprog(xdrs, progp) xdr_u_int32(xdrs, progp)
-+#define xdr_rpcproc(xdrs, procp) xdr_u_int32(xdrs, procp)
-+#define xdr_rpcprot(xdrs, protp) xdr_u_int32(xdrs, protp)
-+#define xdr_rpcport(xdrs, portp) xdr_u_int32(xdrs, portp)
-+
-+/*
-+ * Support struct for discriminated unions.
-+ * You create an array of xdrdiscrim structures, terminated with
-+ * an entry with a null procedure pointer.  The xdr_union routine gets
-+ * the discriminant value and then searches the array of structures
-+ * for a matching value.  If a match is found the associated xdr routine
-+ * is called to handle that part of the union.  If there is
-+ * no match, then a default routine may be called.
-+ * If there is no match and no default routine it is an error.
-+ */
-+#define NULL_xdrproc_t ((xdrproc_t)0)
-+struct xdr_discrim {
-+      int     value;
-+      xdrproc_t proc;
-+};
-+
-+/*
-+ * In-line routines for fast encode/decode of primitive data types.
-+ * Caveat emptor: these use single memory cycles to get the
-+ * data from the underlying buffer, and will fail to operate
-+ * properly if the data is not aligned.  The standard way to use these
-+ * is to say:
-+ *    if ((buf = XDR_INLINE(xdrs, count)) == NULL)
-+ *            return (FALSE);
-+ *    <<< macro calls >>>
-+ * where ``count'' is the number of bytes of data occupied
-+ * by the primitive data types.
-+ *
-+ * N.B. and frozen for all time: each data type here uses 4 bytes
-+ * of external representation.
-+ */
-+#define IXDR_GET_INT32(buf)           ((int32_t)ntohl((u_int32_t)*(buf)++))
-+#define IXDR_PUT_INT32(buf, v)                (*(buf)++ =(int32_t)htonl((u_int32_t)v))
-+#define IXDR_GET_U_INT32(buf)         ((u_int32_t)IXDR_GET_INT32(buf))
-+#define IXDR_PUT_U_INT32(buf, v)      IXDR_PUT_INT32((buf), ((int32_t)(v)))
-+
-+#define IXDR_GET_LONG(buf)            ((long)ntohl((u_int32_t)*(buf)++))
-+#define IXDR_PUT_LONG(buf, v)         (*(buf)++ =(int32_t)htonl((u_int32_t)v))
-+
-+#define IXDR_GET_BOOL(buf)            ((bool_t)IXDR_GET_LONG(buf))
-+#define IXDR_GET_ENUM(buf, t)         ((t)IXDR_GET_LONG(buf))
-+#define IXDR_GET_U_LONG(buf)          ((u_long)IXDR_GET_LONG(buf))
-+#define IXDR_GET_SHORT(buf)           ((short)IXDR_GET_LONG(buf))
-+#define IXDR_GET_U_SHORT(buf)         ((u_short)IXDR_GET_LONG(buf))
-+
-+#define IXDR_PUT_BOOL(buf, v)         IXDR_PUT_LONG((buf), (v))
-+#define IXDR_PUT_ENUM(buf, v)         IXDR_PUT_LONG((buf), (v))
-+#define IXDR_PUT_U_LONG(buf, v)               IXDR_PUT_LONG((buf), (v))
-+#define IXDR_PUT_SHORT(buf, v)                IXDR_PUT_LONG((buf), (v))
-+#define IXDR_PUT_U_SHORT(buf, v)      IXDR_PUT_LONG((buf), (v))
-+
-+/*
-+ * These are the "generic" xdr routines.
-+ */
-+__BEGIN_DECLS
-+extern bool_t xdr_void(void);
-+extern bool_t xdr_int(XDR *, int *);
-+extern bool_t xdr_u_int(XDR *, u_int *);
-+extern bool_t xdr_long(XDR *, long *);
-+extern bool_t xdr_u_long(XDR *, u_long *);
-+extern bool_t xdr_short(XDR *, short *);
-+extern bool_t xdr_u_short(XDR *, u_short *);
-+extern bool_t xdr_int16_t(XDR *, int16_t *);
-+extern bool_t xdr_u_int16_t(XDR *, u_int16_t *);
-+extern bool_t xdr_int32_t(XDR *, int32_t *);
-+extern bool_t xdr_u_int32_t(XDR *, u_int32_t *);
-+extern bool_t xdr_int64_t(XDR *, int64_t *);
-+extern bool_t xdr_u_int64_t(XDR *, u_int64_t *);
-+extern bool_t xdr_bool(XDR *, bool_t *);
-+extern bool_t xdr_enum(XDR *, enum_t *);
-+extern bool_t xdr_array(XDR *, char **, u_int *, u_int, u_int, xdrproc_t);
-+extern bool_t xdr_bytes(XDR *, char **, u_int *, u_int);
-+extern bool_t xdr_opaque(XDR *, char *, u_int);
-+extern bool_t xdr_string(XDR *, char **, u_int);
-+extern bool_t xdr_union(XDR *, enum_t *, char *, const struct xdr_discrim *, xdrproc_t);
-+extern bool_t xdr_char(XDR *, char *);
-+extern bool_t xdr_u_char(XDR *, u_char *);
-+extern bool_t xdr_vector(XDR *, char *, u_int, u_int, xdrproc_t);
-+extern bool_t xdr_float(XDR *, float *);
-+extern bool_t xdr_double(XDR *, double *);
-+extern bool_t xdr_quadruple(XDR *, long double *);
-+extern bool_t xdr_reference(XDR *, char **, u_int, xdrproc_t);
-+extern bool_t xdr_pointer(XDR *, char **, u_int, xdrproc_t);
-+extern bool_t xdr_wrapstring(XDR *, char **);
-+extern void   xdr_free(xdrproc_t, void *);
-+extern bool_t xdr_hyper(XDR *, quad_t *);
-+extern bool_t xdr_u_hyper(XDR *, u_quad_t *);
-+extern bool_t xdr_longlong_t(XDR *, quad_t *);
-+extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *);
-+__END_DECLS
-+
-+/*
-+ * Common opaque bytes objects used by many rpc protocols;
-+ * declared here due to commonality.
-+ */
-+#define MAX_NETOBJ_SZ 1024
-+struct netobj {
-+      u_int   n_len;
-+      char    *n_bytes;
-+};
-+typedef struct netobj netobj;
-+extern bool_t   xdr_netobj(XDR *, struct netobj *);
-+
-+/*
-+ * These are the public routines for the various implementations of
-+ * xdr streams.
-+ */
-+__BEGIN_DECLS
-+/* XDR using memory buffers */
-+extern void   xdrmem_create(XDR *, char *, u_int, enum xdr_op);
-+
-+/* XDR using stdio library */
-+extern void   xdrstdio_create(XDR *, FILE *, enum xdr_op);
-+
-+/* XDR pseudo records for tcp */
-+extern void   xdrrec_create(XDR *, u_int, u_int, void *,
-+                          int (*)(void *, void *, int),
-+                          int (*)(void *, void *, int));
-+
-+/* make end of xdr record */
-+extern bool_t xdrrec_endofrecord(XDR *, int);
-+
-+/* move to beginning of next record */
-+extern bool_t xdrrec_skiprecord(XDR *);
-+
-+/* true if no more input */
-+extern bool_t xdrrec_eof(XDR *);
-+extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int);
-+__END_DECLS
-+
-+#endif /* !_TIRPC_XDR_H */
-diff --git a/tirpc/xdr-stub/rpc/types.h b/tirpc/xdr-stub/rpc/types.h
-new file mode 100644
-index 0000000..bb062ed
---- /dev/null
-+++ b/tirpc/xdr-stub/rpc/types.h
-@@ -0,0 +1,87 @@
-+/*    $NetBSD: types.h,v 1.13 2000/06/13 01:02:44 thorpej Exp $       */
-+
-+/*
-+ * Copyright (c) 2009, Sun Microsystems, Inc.
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions are met:
-+ * - Redistributions of source code must retain the above copyright notice,
-+ *   this list of conditions and the following disclaimer.
-+ * - Redistributions in binary form must reproduce the above copyright notice,
-+ *   this list of conditions and the following disclaimer in the documentation
-+ *   and/or other materials provided with the distribution.
-+ * - Neither the name of Sun Microsystems, Inc. nor the names of its
-+ *   contributors may be used to endorse or promote products derived
-+ *   from this software without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-+ * POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *    from: @(#)types.h 1.18 87/07/24 SMI
-+ *    from: @(#)types.h       2.3 88/08/15 4.0 RPCSRC
-+ * $FreeBSD: src/include/rpc/types.h,v 1.10.6.1 2003/12/18 00:59:50 peter Exp $
-+ */
-+
-+/*
-+ * TIRPC additions to <rpc/types.h> and <sys/types.h>
-+ * Note that by using include_next, this variant is usable
-+ * only when the compiler supports that extension. If this
-+ * is a problem, then don't build libtirpc with --disable-xdr.
-+ */
-+#ifndef _TIRPC_STUB_TYPES_H
-+#define _TIRPC_STUB_TYPES_H
-+
-+#include_next <rpc/types.h>
-+
-+#include <sys/time.h>
-+#include <sys/param.h>
-+#include <stdlib.h>
-+#include <netconfig.h>
-+
-+/*
-+ * The netbuf structure is defined here, because FreeBSD / NetBSD only use
-+ * it inside the RPC code. It's in <xti.h> on SVR4, but it would be confusing
-+ * to have an xti.h, since FreeBSD / NetBSD does not support XTI/TLI.
-+ */
-+
-+/*
-+ * The netbuf structure is used for transport-independent address storage.
-+ */
-+struct netbuf {
-+  unsigned int maxlen;
-+  unsigned int len;
-+  void *buf;
-+};
-+
-+/*
-+ * The format of the addres and options arguments of the XTI t_bind call.
-+ * Only provided for compatibility, it should not be used.
-+ */
-+
-+struct t_bind {
-+  struct netbuf   addr;
-+  unsigned int    qlen;
-+};
-+
-+/*
-+ * Internal library and rpcbind use. This is not an exported interface, do
-+ * not use.
-+ */
-+struct __rpc_sockinfo {
-+      int si_af;
-+      int si_proto;
-+      int si_socktype;
-+      int si_alen;
-+};
-+
-+#endif /* _TIRPC_STUB_TYPES_H */
diff --git a/07-cygwin-specific-fixes.patch b/07-cygwin-specific-fixes.patch
deleted file mode 100644 (file)
index aac4d34..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/src/authunix_prot.c b/src/authunix_prot.c
-index bf76a9d..62bdf37 100644
---- a/src/authunix_prot.c
-+++ b/src/authunix_prot.c
-@@ -56,10 +56,17 @@ xdr_authunix_parms(xdrs, p)
-       if (xdr_u_long(xdrs, &(p->aup_time))
-           && xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME)
-+#ifdef __CYGWIN__
-+          && xdr_u_long(xdrs, &(p->aup_uid))
-+          && xdr_u_long(xdrs, &(p->aup_gid))
-+          && xdr_array(xdrs, (caddr_t *)&(p->aup_gids),
-+                  &(p->aup_len), NGRPS, sizeof(unsigned long), (xdrproc_t)xdr_u_long) ) {
-+#else
-           && xdr_u_int(xdrs, &(p->aup_uid))
-           && xdr_u_int(xdrs, &(p->aup_gid))
-           && xdr_array(xdrs, (caddr_t *)&(p->aup_gids),
-                   &(p->aup_len), NGRPS, sizeof(int), (xdrproc_t)xdr_int) ) {
-+#endif
-               return (TRUE);
-       }
-       return (FALSE);
-diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
-index 4a3e96c..41b33f8 100644
---- a/src/rpcb_clnt.c
-+++ b/src/rpcb_clnt.c
-@@ -557,7 +557,11 @@ rpcb_set(program, version, nconf, address)
-        * completeness.  For non-unix platforms, perhaps some other
-        * string or an empty string can be sent.
-        */
-+#ifdef __CYGWIN__
-+      (void) snprintf(uidbuf, sizeof uidbuf, "%lu", geteuid());
-+#else
-       (void) snprintf(uidbuf, sizeof uidbuf, "%d", geteuid());
-+#endif
-       parms.r_owner = uidbuf;
-       CLNT_CALL(client, (rpcproc_t)RPCBPROC_SET, (xdrproc_t) xdr_rpcb,
-@@ -601,7 +605,11 @@ rpcb_unset(program, version, nconf)
-       }
-       /*LINTED const castaway*/
-       parms.r_addr = (char *) &nullstring[0];
-+#ifdef __CYGWIN__
-+      (void) snprintf(uidbuf, sizeof uidbuf, "%lu", geteuid());
-+#else
-       (void) snprintf(uidbuf, sizeof uidbuf, "%d", geteuid());
-+#endif
-       parms.r_owner = uidbuf;
-       CLNT_CALL(client, (rpcproc_t)RPCBPROC_UNSET, (xdrproc_t) xdr_rpcb,
This page took 0.044731 seconds and 5 git commands to generate.