XDR routines for R, gnuwin32 version ==================================== R can make use of XDR to read/write binary dumps in a machine-independent format. This directory was put together by Brian Ripley from the version of the sunrpc distribution put together for ONC RPC 1.10 for Windows NT by Martin F. Gergeleit. This is no longer available directly, but is part of the NISGINA distribution . Only that part of XDR used by R is included. [A later version of ONC/RPC is available at http://www.plt.rwth-aachen.de/ks/english/oncrpc.html] For copyright see the Oracle copyright in COPYRGHT.TXT and the header of xdr.c. The only changes I made were (a) to comment out definitions in rpc/types.h that are duplicates of those in Windows/Sockets.h (b) to define ntohl and htonl via assembler code at the head of xdr_stdio.c. This will need to be altered for any other little-endian system; generic code for 32-bit systems is provided. (c) to report errors directly rather than to NT services. Note that this code assume long is 4 bytes, and also implicitly assumes that a pointer can be stored in a long. These functions are only used in saveload.c, which uses xdr_bytes, xdr_double, xdr_int, xdr_string, xdrmem_create and xdrstdio_create. There was some further tidying up in July 2011 to enable this to be used on other systems. In particular, we replaced 'long' by int32_t and 'u_long' by uint32_t to ensure 32-bit types. The original licence of the Sun RPC code was permissive but not GPL-compatible. This changed in 2010 when Oracle relicensed the code with a GPL-compatible licence. All RPC licence headers were updated in March 2024 to use the 2010 licence.