summaryrefslogtreecommitdiffstats
path: root/testing/libnfs
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@gmail.com>2012-12-05 10:32:55 +0100
committerCarlo Landmeter <clandmeter@gmail.com>2012-12-05 10:33:06 +0100
commit58c9ae525a1d2de4edfc273a4f0ae34448daf3c6 (patch)
treefbc6dd65d5505538c7edb139aaff7e7417a51df7 /testing/libnfs
parentd67322bd53c811f4ce6b1ff2e1a188fb5f5bb927 (diff)
downloadaports-58c9ae525a1d2de4edfc273a4f0ae34448daf3c6.tar.bz2
aports-58c9ae525a1d2de4edfc273a4f0ae34448daf3c6.tar.xz
testing/libnfs: upgrade to 1.5.0
Diffstat (limited to 'testing/libnfs')
-rw-r--r--testing/libnfs/APKBUILD17
-rw-r--r--testing/libnfs/remove-rpcgen.patch373
-rw-r--r--testing/libnfs/rpcgen-issue.patch3591
3 files changed, 381 insertions, 3600 deletions
diff --git a/testing/libnfs/APKBUILD b/testing/libnfs/APKBUILD
index e0ca5583a..7aac68810 100644
--- a/testing/libnfs/APKBUILD
+++ b/testing/libnfs/APKBUILD
@@ -1,19 +1,19 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=libnfs
-pkgver=1.3.0
+pkgver=1.5.0
pkgrel=0
pkgdesc="client library for accessing NFS shares"
url="https://github.com/sahlberg/libnfs"
arch="all"
license="GPL"
depends=""
-depends_dev="libtirpc-dev"
-makedepends="$depends_dev rpcgen autoconf automake m4 libtool"
+depends_dev=""
+makedepends="$depends_dev autoconf automake m4 libtool"
install=""
subpackages="$pkgname-dev"
source="http://github.com/downloads/sahlberg/libnfs/libnfs-$pkgver.tar.gz
- rpcgen-issue.patch"
+ remove-rpcgen.patch"
_builddir="$srcdir"/libnfs-$pkgver
prepare() {
@@ -28,15 +28,14 @@ prepare() {
build() {
cd "$_builddir"
- autoreconf -vif || return 1
+ ./bootstrap || return 1
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
- --enable-tirpc \
|| return 1
- make -j1 || return 1
+ make || return 1
}
package() {
@@ -45,5 +44,5 @@ package() {
rm -f "$pkgdir"/usr/lib/*.la
}
-md5sums="3dd6cb702455cd7f1a44a5300bd7fb62 libnfs-1.3.0.tar.gz
-2956130bd11573ee4102a72782d6ba7f rpcgen-issue.patch"
+md5sums="58d88d7a7cfb9455a3fb044d158cef55 libnfs-1.5.0.tar.gz
+6d4c2989fc576577ffe262cb3cb27435 remove-rpcgen.patch"
diff --git a/testing/libnfs/remove-rpcgen.patch b/testing/libnfs/remove-rpcgen.patch
new file mode 100644
index 000000000..1df12e944
--- /dev/null
+++ b/testing/libnfs/remove-rpcgen.patch
@@ -0,0 +1,373 @@
+From 12106f49081f61243c1b8dc74d2b716c14105f0b Mon Sep 17 00:00:00 2001
+From: Carlo Landmeter <clandmeter@gmail.com>
+Date: Wed, 5 Dec 2012 00:43:21 +0100
+Subject: [PATCH] Remove rpcgen check as it is not needed anymore
+
+---
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8cb254e..a06405c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -21,11 +21,6 @@ fi
+ # We always want 64 bit file offsets
+ CFLAGS="${CFLAGS} -D_FILE_OFFSET_BITS=64"
+
+-AC_CHECK_PROG([HAVE_RPCGEN], [rpcgen], [yes], [no])
+-if test x$HAVE_RPCGEN != xyes; then
+- AC_MSG_ERROR([Can not find required program])
+-fi
+-
+ #option: examples
+ AC_ARG_ENABLE([examples],
+ [AC_HELP_STRING([--enable-examples],
+--
+1.7.10
+
+From ec70621f42e2074b454637813c1985b35552b2b3 Mon Sep 17 00:00:00 2001
+From: Ronnie Sahlberg <ronniesahlberg@gmail.com>
+Date: Tue, 4 Dec 2012 18:55:32 -0800
+Subject: [PATCH] Remove all remaining references to RPC
+
+---
+ configure.ac | 26 ----------------------
+ mount/Makefile.am | 4 ++--
+ nfs/Makefile.am | 4 ++--
+ nlm/Makefile.am | 4 ++--
+ portmap/Makefile.am | 4 ++--
+ rquota/Makefile.am | 4 ++--
+ win32/win32build.bat | 58 +++++++++++++++++---------------------------------
+ win32build.bat | 58 +++++++++++++++++---------------------------------
+ 8 files changed, 50 insertions(+), 112 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a06405c..1183bd2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -68,19 +68,7 @@ fi
+ AC_SUBST(MAYBE_EXAMPLES)
+
+
+-AC_ARG_ENABLE(tirpc,
+- [AC_HELP_STRING([--enable-tirpc],
+- [enable use of TI-RPC @<:@default=no@:>@])],
+- enable_tirpc=$enableval,
+- enable_tirpc='no')
+-
+ case $host in
+- *darwin*)
+- RPCGENFLAGS=-DU_INT64_PLATTFORM_TYPE="u_int64_t"
+- ;;
+- *cygwin*)
+- RPCGENFLAGS=-DU_INT64_PLATTFORM_TYPE="u_int64_t"
+- ;;
+ *solaris*)
+ AC_CHECK_HEADERS([sys/filio.h])
+ AC_CHECK_HEADERS([sys/sockio.h])
+@@ -93,8 +81,6 @@ case $host in
+ ;;
+ esac
+
+-AC_SUBST(RPCGENFLAGS)
+-
+ # check for SA_LEN
+ dnl Check if sockaddr data structure includes a "sa_len"
+ AC_CHECK_MEMBER([struct sockaddr.sa_len],
+@@ -105,18 +91,6 @@ AC_CHECK_MEMBER([struct sockaddr.sa_len],
+ #include <sys/socket.h>
+ ])
+
+-LIBNFS_PC_REQ_PRIVATE=
+-
+-if test "$enable_tirpc" = "yes"; then
+- PKG_CHECK_MODULES(TIRPC, libtirpc, [],
+- AC_MSG_ERROR([unable to locate libtirpc files]))
+- CFLAGS="${CFLAGS} ${TIRPC_CFLAGS}"
+- LIBS="${LIBS} ${TIRPC_LIBS}"
+- LIBNFS_PC_REQ_PRIVATE="${LIBNFS_PC_REQ_PRIVATE} libtirpc"
+-fi
+-
+-AC_SUBST(LIBNFS_PC_REQ_PRIVATE)
+-
+ #output
+ AC_CONFIG_FILES([Makefile]
+ [include/Makefile]
+diff --git a/mount/Makefile.am b/mount/Makefile.am
+index e05df7d..9dadbf8 100644
+--- a/mount/Makefile.am
++++ b/mount/Makefile.am
+@@ -18,5 +18,5 @@ mount-stamp : mount.x
+ touch mount-stamp
+
+ compile_rpc:
+- rpcgen -h @RPCGENFLAGS@ mount.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-mount.h
+- rpcgen -c @RPCGENFLAGS@ mount.x | sed -e "s/#include \".*mount.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-mount.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-mount.c
++ rpcgen -h mount.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-mount.h
++ rpcgen -c mount.x | sed -e "s/#include \".*mount.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-mount.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-mount.c
+diff --git a/nfs/Makefile.am b/nfs/Makefile.am
+index 0f1c80e..d6f75a0 100644
+--- a/nfs/Makefile.am
++++ b/nfs/Makefile.am
+@@ -18,5 +18,5 @@ nfs-stamp : nfs.x
+ touch nfs-stamp
+
+ compile_rpc:
+- rpcgen -h @RPCGENFLAGS@ nfs.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-nfs.h
+- rpcgen -c @RPCGENFLAGS@ nfs.x | sed -e "s/#include \".*nfs.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-nfs.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-nfs.c
++ rpcgen -h nfs.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-nfs.h
++ rpcgen -c nfs.x | sed -e "s/#include \".*nfs.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-nfs.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-nfs.c
+diff --git a/nlm/Makefile.am b/nlm/Makefile.am
+index 18d2ddc..d6dd13c 100644
+--- a/nlm/Makefile.am
++++ b/nlm/Makefile.am
+@@ -18,5 +18,5 @@ nlm-stamp : nlm.x
+ touch nlm-stamp
+
+ compile_rpc:
+- rpcgen -h @RPCGENFLAGS@ nlm.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-nlm.h
+- rpcgen -c @RPCGENFLAGS@ nlm.x | sed -e "s/#include \".*nlm.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-nlm.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-nlm.c
++ rpcgen -h nlm.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-nlm.h
++ rpcgen -c nlm.x | sed -e "s/#include \".*nlm.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-nlm.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-nlm.c
+diff --git a/portmap/Makefile.am b/portmap/Makefile.am
+index 5b21870..2234964 100644
+--- a/portmap/Makefile.am
++++ b/portmap/Makefile.am
+@@ -18,5 +18,5 @@ portmap-stamp : portmap.x
+ touch portmap-stamp
+
+ compile_rpc:
+- rpcgen -h @RPCGENFLAGS@ portmap.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-portmap.h
+- rpcgen -c @RPCGENFLAGS@ portmap.x | sed -e "s/#include \".*portmap.h\"/#include \"libnfs-zdr.h\"\n#include \"libnfs-raw-portmap.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-portmap.c
++ rpcgen -h portmap.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-portmap.h
++ rpcgen -c portmap.x | sed -e "s/#include \".*portmap.h\"/#include \"libnfs-zdr.h\"\n#include \"libnfs-raw-portmap.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-portmap.c
+diff --git a/rquota/Makefile.am b/rquota/Makefile.am
+index ad2db51..07b22df 100644
+--- a/rquota/Makefile.am
++++ b/rquota/Makefile.am
+@@ -18,5 +18,5 @@ rquota-stamp : rquota.x
+ touch rquota-stamp
+
+ compile_rpc:
+- rpcgen -h @RPCGENFLAGS@ rquota.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-rquota.h
+- rpcgen -c @RPCGENFLAGS@ rquota.x | sed -e "s/#include \".*rquota.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-rquota.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-rquota.c
++ rpcgen -h rquota.x | sed -e "s/#include <rpc\/rpc.h>//" | sed -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" > libnfs-raw-rquota.h
++ rpcgen -c rquota.x | sed -e "s/#include \".*rquota.h\"/#include \"libnfs-xdr.h\"\n#include \"libnfs-raw-rquota.h\"/" -e "s/xdr/zdr/g" -e "s/XDR/ZDR/g" -e "s/register int32_t \*buf;/register int32_t *buf;\n buf = NULL;/" > libnfs-raw-rquota.c
+diff --git a/win32/win32build.bat b/win32/win32build.bat
+index 55317ec..b923e63 100644
+--- a/win32/win32build.bat
++++ b/win32/win32build.bat
+@@ -3,69 +3,51 @@ rem set the
+ rem
+
+ rem EDIT THESE
+-set ONCRPC_BASE_DIR=C:\MinGW\msys\1.0\home\Administrator\src\oncrpc-win32\
+ set LIBNFS_BASE_DIR=..
+ rem END EDIT
+
+-set RPCINCLUDE="%ONCRPC_BASE_DIR%\win32\include"
+-set RPCDLL="%ONCRPC_BASE_DIR%\win32\bin\oncrpc.dll"
+-set RPCLIB="%ONCRPC_BASE_DIR%\win32\bin\oncrpc.lib"
+-set RPCGEN="%ONCRPC_BASE_DIR%\win32\bin\rpcgen.exe"
+-
+
+ cd %LIBNFS_BASE_DIR%
+
+-rem generate NFS from .x
++rem NFS
+ rem
+-copy nfs\nfs.x nfs\libnfs-raw-nfs.x
+-%RPCGEN% -h nfs\libnfs-raw-nfs.x > nfs\libnfs-raw-nfs.h
+-%RPCGEN% -c nfs\libnfs-raw-nfs.x > nfs\libnfs-raw-nfs.c
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd nfs\libnfs-raw-nfs.c -Fonfs\libnfs-raw-nfs.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd nfs\nfs.c -Fonfs\nfs.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd nfs\nfsacl.c -Fonfs\nfsacl.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd nfs\libnfs-raw-nfs.c -Fonfs\libnfs-raw-nfs.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd nfs\nfs.c -Fonfs\nfs.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd nfs\nfsacl.c -Fonfs\nfsacl.obj
+
+
+
+ rem
+-rem generate RQUOTA from .x
++rem RQUOTA
+ rem
+-copy rquota\rquota.x rquota\libnfs-raw-rquota.x
+-%RPCGEN% -h rquota\libnfs-raw-rquota.x > rquota\libnfs-raw-rquota.h
+-%RPCGEN% -c rquota\libnfs-raw-rquota.x > rquota\libnfs-raw-rquota.c
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd rquota\libnfs-raw-rquota.c -Forquota\libnfs-raw-rquota.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd rquota\rquota.c -Forquota\rquota.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd rquota\libnfs-raw-rquota.c -Forquota\libnfs-raw-rquota.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd rquota\rquota.c -Forquota\rquota.obj
+
+
+
+ rem
+-rem generate PORTMAP from .x
++rem PORTMAP
+ rem
+-copy portmap\portmap.x portmap\libnfs-raw-portmap.x
+-%RPCGEN% -h portmap\libnfs-raw-portmap.x > portmap\libnfs-raw-portmap.h
+-%RPCGEN% -c portmap\libnfs-raw-portmap.x > portmap\libnfs-raw-portmap.c
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd portmap\libnfs-raw-portmap.c -Foportmap\libnfs-raw-portmap.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd portmap\portmap.c -Foportmap\portmap.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd portmap\libnfs-raw-portmap.c -Foportmap\libnfs-raw-portmap.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd portmap\portmap.c -Foportmap\portmap.obj
+
+
+ rem
+-rem generate MOUNT from .x
++rem MOUNT
+ rem
+-copy mount\mount.x mount\libnfs-raw-mount.x
+-%RPCGEN% -h mount\libnfs-raw-mount.x > mount\libnfs-raw-mount.h
+-%RPCGEN% -c mount\libnfs-raw-mount.x > mount\libnfs-raw-mount.c
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd mount\libnfs-raw-mount.c -Fomount\libnfs-raw-mount.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd mount\mount.c -Fomount\mount.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd mount\libnfs-raw-mount.c -Fomount\libnfs-raw-mount.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd mount\mount.c -Fomount\mount.obj
+
+
+
+ rem
+ rem generate core part of library
+ rem
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd lib\init.c -Folib\init.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\pdu.c -Folib\pdu.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\socket.c -Folib\socket.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\libnfs.c -Folib\libnfs.obj
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\libnfs-sync.c -Folib\libnfs-sync.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd lib\init.c -Folib\init.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\pdu.c -Folib\pdu.obj
++cl /I. /Iinclude /Iwin32 -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\socket.c -Folib\socket.obj
++cl /I. /Iinclude /Iwin32 /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\libnfs.c -Folib\libnfs.obj
++cl /I. /Iinclude /Iwin32 /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" lib\libnfs-sync.c -Folib\libnfs-sync.obj
+
+ rem
+ rem generate win32 compat layer
+@@ -79,14 +61,14 @@ rem create a linklibrary/dll
+ rem
+ lib /out:lib\libnfs.lib /def:lib\libnfs-win32.def nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj win32\win32_compat.obj
+
+-link /DLL /out:lib\libnfs.dll /DEBUG /DEBUGTYPE:cv lib\libnfs.exp nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj win32\win32_compat.obj %RPCLIB% ws2_32.lib
++link /DLL /out:lib\libnfs.dll /DEBUG /DEBUGTYPE:cv lib\libnfs.exp nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj win32\win32_compat.obj ws2_32.lib
+
+
+
+ rem
+ rem build a test application
+ rem
+-cl /I. /Iinclude /Iwin32 /I%RPCINCLUDE% /Imount /Infs -Zi -Od -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" examples\nfsclient-sync.c lib\libnfs.lib %RPCLIB% WS2_32.lib kernel32.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib
++cl /I. /Iinclude /Iwin32 /Imount /Infs -Zi -Od -DWIN32 -D_WIN32_WINNT=0x0501 -MDd -D_U_="" examples\nfsclient-sync.c lib\libnfs.lib WS2_32.lib kernel32.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib
+
+
+
+diff --git a/win32build.bat b/win32build.bat
+index e690fa2..86641e3 100755
+--- a/win32build.bat
++++ b/win32build.bat
+@@ -2,65 +2,47 @@ rem build script for win32
+ rem set the
+ rem
+
+-rem EDIT THESE
+-set RPCINCLUDE="C:\...where my rpc includes live...\include"
+-set RPCDLL="C:\...where my rpc DLL can be found...\rpc.dll"
+-set RPCLIB="C:\...where my rpc link library can be found...\rpc.lib"
+-set RPCGEN="C:\...where my rpcgen executable lives...\rpcgen.exe"
+
+
+-
+-rem generate NFS from .x
++rem NFS
+ rem
+-copy nfs\nfs.x nfs\libnfs-raw-nfs.x
+-%RPCGEN% -h nfs\libnfs-raw-nfs.x > nfs\libnfs-raw-nfs.h
+-%RPCGEN% -c nfs\libnfs-raw-nfs.x > nfs\libnfs-raw-nfs.c
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\libnfs-raw-nfs.c -Fonfs\libnfs-raw-nfs.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfs.c -Fonfs\nfs.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfsacl.c -Fonfs\nfsacl.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\libnfs-raw-nfs.c -Fonfs\libnfs-raw-nfs.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfs.c -Fonfs\nfs.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd nfs\nfsacl.c -Fonfs\nfsacl.obj
+
+
+
+ rem
+-rem generate RQUOTA from .x
++rem RQUOTA
+ rem
+-copy rquota\rquota.x rquota\libnfs-raw-rquota.x
+-%RPCGEN% -h rquota\libnfs-raw-rquota.x > rquota\libnfs-raw-rquota.h
+-%RPCGEN% -c rquota\libnfs-raw-rquota.x > rquota\libnfs-raw-rquota.c
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\libnfs-raw-rquota.c -Forquota\libnfs-raw-rquota.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\rquota.c -Forquota\rquota.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\libnfs-raw-rquota.c -Forquota\libnfs-raw-rquota.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd rquota\rquota.c -Forquota\rquota.obj
+
+
+
+ rem
+-rem generate PORTMAP from .x
++rem PORTMAP
+ rem
+-copy portmap\portmap.x portmap\libnfs-raw-portmap.x
+-%RPCGEN% -h portmap\libnfs-raw-portmap.x > portmap\libnfs-raw-portmap.h
+-%RPCGEN% -c portmap\libnfs-raw-portmap.x > portmap\libnfs-raw-portmap.c
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\libnfs-raw-portmap.c -Foportmap\libnfs-raw-portmap.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\portmap.c -Foportmap\portmap.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\libnfs-raw-portmap.c -Foportmap\libnfs-raw-portmap.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd portmap\portmap.c -Foportmap\portmap.obj
+
+
+ rem
+-rem generate MOUNT from .x
++rem MOUNT
+ rem
+-copy mount\mount.x mount\libnfs-raw-mount.x
+-%RPCGEN% -h mount\libnfs-raw-mount.x > mount\libnfs-raw-mount.h
+-%RPCGEN% -c mount\libnfs-raw-mount.x > mount\libnfs-raw-mount.c
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\libnfs-raw-mount.c -Fomount\libnfs-raw-mount.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\mount.c -Fomount\mount.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\libnfs-raw-mount.c -Fomount\libnfs-raw-mount.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd mount\mount.c -Fomount\mount.obj
+
+
+
+ rem
+ rem generate core part of library
+ rem
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd lib\init.c -Folib\init.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\pdu.c -Folib\pdu.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\socket.c -Folib\socket.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs.c -Folib\libnfs.obj
+-cl /I. /Iinclude /I%RPCINCLUDE% /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs-sync.c -Folib\libnfs-sync.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd lib\init.c -Folib\init.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\pdu.c -Folib\pdu.obj
++cl /I. /Iinclude -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\socket.c -Folib\socket.obj
++cl /I. /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs.c -Folib\libnfs.obj
++cl /I. /Iinclude /Imount /Infs -Zi -Od -c -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" lib\libnfs-sync.c -Folib\libnfs-sync.obj
+
+
+
+@@ -69,14 +51,14 @@ rem create a linklibrary/dll
+ rem
+ lib /out:lib\libnfs.lib /def:lib\libnfs-win32.def nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj
+
+-link /DLL /out:lib\libnfs.dll /DEBUG /DEBUGTYPE:cv lib\libnfs.exp nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj %RPCLIB% ws2_32.lib
++link /DLL /out:lib\libnfs.dll /DEBUG /DEBUGTYPE:cv lib\libnfs.exp nfs\nfs.obj nfs\nfsacl.obj nfs\libnfs-raw-nfs.obj rquota\rquota.obj rquota\libnfs-raw-rquota.obj mount\mount.obj mount\libnfs-raw-mount.obj portmap\portmap.obj portmap\libnfs-raw-portmap.obj lib\init.obj lib\pdu.obj lib\socket.obj lib\libnfs.obj lib\libnfs-sync.obj ws2_32.lib
+
+
+
+ rem
+ rem build a test application
+ rem
+-cl /I. /Iinclude /I%RPCINCLUDE% /Imount /Infs -Zi -Od -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" examples\nfsclient-sync.c lib\libnfs.lib %RPCLIB% WS2_32.lib kernel32.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib
++cl /I. /Iinclude /Imount /Infs -Zi -Od -DWIN32 -D_WIN32_WINNT=0x0600 -MDd -D_U_="" examples\nfsclient-sync.c lib\libnfs.lib WS2_32.lib kernel32.lib mswsock.lib advapi32.lib wsock32.lib advapi32.lib
+
+
+
+--
+1.7.10
+
diff --git a/testing/libnfs/rpcgen-issue.patch b/testing/libnfs/rpcgen-issue.patch
deleted file mode 100644
index 48233083e..000000000
--- a/testing/libnfs/rpcgen-issue.patch
+++ /dev/null
@@ -1,3591 +0,0 @@
-From 47d89b326a0d93a890d961d70a22fec8eaf5e389 Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Tue, 27 Nov 2012 16:45:05 +0100
-Subject: [PATCH] add generated c file and header so it can be used with
- uclibc
-
----
- nfs/Makefile.am | 3 -
- nfs/libnfs-raw-nfs.c | 2093 ++++++++++++++++++++++++++++++++++++++++++++++++++
- nfs/libnfs-raw-nfs.h | 1456 +++++++++++++++++++++++++++++++++++
- 3 files changed, 3549 insertions(+), 3 deletions(-)
- create mode 100644 nfs/libnfs-raw-nfs.c
- create mode 100644 nfs/libnfs-raw-nfs.h
-
-diff --git a/nfs/Makefile.am b/nfs/Makefile.am
-index 5052369..9942e5c 100644
---- a/nfs/Makefile.am
-+++ b/nfs/Makefile.am
-@@ -13,8 +13,5 @@ libnfs_la_SOURCES = \
-
- $(nfs_GENERATED) : nfs-stamp
- nfs-stamp : nfs.x
-- rm -f $(nfs_GENERATED)
-- rpcgen -h @RPCGENFLAGS@ $< > libnfs-raw-nfs.h
-- rpcgen -c @RPCGENFLAGS@ $< | sed -e "s/#include \".*nfs.h\"/#include \"libnfs-raw-nfs.h\"/" > libnfs-raw-nfs.c
- touch nfs-stamp
-
-diff --git a/nfs/libnfs-raw-nfs.c b/nfs/libnfs-raw-nfs.c
-new file mode 100644
-index 0000000..f9cb039
---- /dev/null
-+++ b/nfs/libnfs-raw-nfs.c
-@@ -0,0 +1,2093 @@
-+/*
-+ * Please do not edit this file.
-+ * It was generated using rpcgen.
-+ */
-+
-+#include "libnfs-raw-nfs.h"
-+
-+bool_t
-+xdr_cookieverf3 (XDR *xdrs, cookieverf3 objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_opaque (xdrs, objp, NFS3_COOKIEVERFSIZE))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_uint64 (XDR *xdrs, uint64 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_u_quad_t (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_cookie3 (XDR *xdrs, cookie3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_uint64 (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_nfs_fh3 (XDR *xdrs, nfs_fh3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS3_FHSIZE))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_filename3 (XDR *xdrs, filename3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_string (xdrs, objp, ~0))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_diropargs3 (XDR *xdrs, diropargs3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->dir))
-+ return FALSE;
-+ if (!xdr_filename3 (xdrs, &objp->name))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_ftype3 (XDR *xdrs, ftype3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_enum (xdrs, (enum_t *) objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_mode3 (XDR *xdrs, mode3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_u_int (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_uid3 (XDR *xdrs, uid3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_u_int (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_gid3 (XDR *xdrs, gid3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_u_int (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_size3 (XDR *xdrs, size3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_uint64 (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_fileid3 (XDR *xdrs, fileid3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_uint64 (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_specdata3 (XDR *xdrs, specdata3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_u_int (xdrs, &objp->specdata1))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->specdata2))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_nfstime3 (XDR *xdrs, nfstime3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_u_int (xdrs, &objp->seconds))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->nseconds))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_fattr3 (XDR *xdrs, fattr3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_ftype3 (xdrs, &objp->type))
-+ return FALSE;
-+ if (!xdr_mode3 (xdrs, &objp->mode))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->nlink))
-+ return FALSE;
-+ if (!xdr_uid3 (xdrs, &objp->uid))
-+ return FALSE;
-+ if (!xdr_gid3 (xdrs, &objp->gid))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->size))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->used))
-+ return FALSE;
-+ if (!xdr_specdata3 (xdrs, &objp->rdev))
-+ return FALSE;
-+ if (!xdr_uint64 (xdrs, &objp->fsid))
-+ return FALSE;
-+ if (!xdr_fileid3 (xdrs, &objp->fileid))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->atime))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->mtime))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->ctime))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_post_op_attr (XDR *xdrs, post_op_attr *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->attributes_follow))
-+ return FALSE;
-+ switch (objp->attributes_follow) {
-+ case TRUE:
-+ if (!xdr_fattr3 (xdrs, &objp->post_op_attr_u.attributes))
-+ return FALSE;
-+ break;
-+ case FALSE:
-+ break;
-+ default:
-+ return FALSE;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_nfsstat3 (XDR *xdrs, nfsstat3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_enum (xdrs, (enum_t *) objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_stable_how (XDR *xdrs, stable_how *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_enum (xdrs, (enum_t *) objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_offset3 (XDR *xdrs, offset3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_uint64 (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_count3 (XDR *xdrs, count3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_u_int (xdrs, objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_wcc_attr (XDR *xdrs, wcc_attr *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_size3 (xdrs, &objp->size))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->mtime))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->ctime))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_pre_op_attr (XDR *xdrs, pre_op_attr *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->attributes_follow))
-+ return FALSE;
-+ switch (objp->attributes_follow) {
-+ case TRUE:
-+ if (!xdr_wcc_attr (xdrs, &objp->pre_op_attr_u.attributes))
-+ return FALSE;
-+ break;
-+ case FALSE:
-+ break;
-+ default:
-+ return FALSE;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_wcc_data (XDR *xdrs, wcc_data *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_pre_op_attr (xdrs, &objp->before))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->after))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_WRITE3args (XDR *xdrs, WRITE3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->file))
-+ return FALSE;
-+ if (!xdr_offset3 (xdrs, &objp->offset))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->count))
-+ return FALSE;
-+ if (!xdr_stable_how (xdrs, &objp->stable))
-+ return FALSE;
-+ if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_writeverf3 (XDR *xdrs, writeverf3 objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_opaque (xdrs, objp, NFS3_WRITEVERFSIZE))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_WRITE3resok (XDR *xdrs, WRITE3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->file_wcc))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->count))
-+ return FALSE;
-+ if (!xdr_stable_how (xdrs, &objp->committed))
-+ return FALSE;
-+ if (!xdr_writeverf3 (xdrs, objp->verf))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_WRITE3resfail (XDR *xdrs, WRITE3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->file_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_WRITE3res (XDR *xdrs, WRITE3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_WRITE3resok (xdrs, &objp->WRITE3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_WRITE3resfail (xdrs, &objp->WRITE3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LOOKUP3args (XDR *xdrs, LOOKUP3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->what))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LOOKUP3resok (XDR *xdrs, LOOKUP3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->object))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LOOKUP3resfail (XDR *xdrs, LOOKUP3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LOOKUP3res (XDR *xdrs, LOOKUP3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_LOOKUP3resok (xdrs, &objp->LOOKUP3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_LOOKUP3resfail (xdrs, &objp->LOOKUP3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_COMMIT3args (XDR *xdrs, COMMIT3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->file))
-+ return FALSE;
-+ if (!xdr_offset3 (xdrs, &objp->offset))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->count))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_COMMIT3resok (XDR *xdrs, COMMIT3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->file_wcc))
-+ return FALSE;
-+ if (!xdr_writeverf3 (xdrs, objp->verf))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_COMMIT3resfail (XDR *xdrs, COMMIT3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->file_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_COMMIT3res (XDR *xdrs, COMMIT3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_COMMIT3resok (xdrs, &objp->COMMIT3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_COMMIT3resfail (xdrs, &objp->COMMIT3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_ACCESS3args (XDR *xdrs, ACCESS3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->object))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->access))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_ACCESS3resok (XDR *xdrs, ACCESS3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->access))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_ACCESS3resfail (XDR *xdrs, ACCESS3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_ACCESS3res (XDR *xdrs, ACCESS3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_ACCESS3resok (xdrs, &objp->ACCESS3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_ACCESS3resfail (xdrs, &objp->ACCESS3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_GETATTR3args (XDR *xdrs, GETATTR3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->object))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_GETATTR3resok (XDR *xdrs, GETATTR3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_fattr3 (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_GETATTR3res (XDR *xdrs, GETATTR3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_GETATTR3resok (xdrs, &objp->GETATTR3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_time_how (XDR *xdrs, time_how *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_enum (xdrs, (enum_t *) objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_set_mode3 (XDR *xdrs, set_mode3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->set_it))
-+ return FALSE;
-+ switch (objp->set_it) {
-+ case TRUE:
-+ if (!xdr_mode3 (xdrs, &objp->set_mode3_u.mode))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_set_uid3 (XDR *xdrs, set_uid3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->set_it))
-+ return FALSE;
-+ switch (objp->set_it) {
-+ case TRUE:
-+ if (!xdr_uid3 (xdrs, &objp->set_uid3_u.uid))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_set_gid3 (XDR *xdrs, set_gid3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->set_it))
-+ return FALSE;
-+ switch (objp->set_it) {
-+ case TRUE:
-+ if (!xdr_gid3 (xdrs, &objp->set_gid3_u.gid))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_set_size3 (XDR *xdrs, set_size3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->set_it))
-+ return FALSE;
-+ switch (objp->set_it) {
-+ case TRUE:
-+ if (!xdr_size3 (xdrs, &objp->set_size3_u.size))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_set_atime (XDR *xdrs, set_atime *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_time_how (xdrs, &objp->set_it))
-+ return FALSE;
-+ switch (objp->set_it) {
-+ case SET_TO_CLIENT_TIME:
-+ if (!xdr_nfstime3 (xdrs, &objp->set_atime_u.atime))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_set_mtime (XDR *xdrs, set_mtime *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_time_how (xdrs, &objp->set_it))
-+ return FALSE;
-+ switch (objp->set_it) {
-+ case SET_TO_CLIENT_TIME:
-+ if (!xdr_nfstime3 (xdrs, &objp->set_mtime_u.mtime))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_sattr3 (XDR *xdrs, sattr3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_set_mode3 (xdrs, &objp->mode))
-+ return FALSE;
-+ if (!xdr_set_uid3 (xdrs, &objp->uid))
-+ return FALSE;
-+ if (!xdr_set_gid3 (xdrs, &objp->gid))
-+ return FALSE;
-+ if (!xdr_set_size3 (xdrs, &objp->size))
-+ return FALSE;
-+ if (!xdr_set_atime (xdrs, &objp->atime))
-+ return FALSE;
-+ if (!xdr_set_mtime (xdrs, &objp->mtime))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_createmode3 (XDR *xdrs, createmode3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_enum (xdrs, (enum_t *) objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_createverf3 (XDR *xdrs, createverf3 objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_opaque (xdrs, objp, NFS3_CREATEVERFSIZE))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_createhow3 (XDR *xdrs, createhow3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_createmode3 (xdrs, &objp->mode))
-+ return FALSE;
-+ switch (objp->mode) {
-+ case UNCHECKED:
-+ if (!xdr_sattr3 (xdrs, &objp->createhow3_u.obj_attributes))
-+ return FALSE;
-+ break;
-+ case GUARDED:
-+ if (!xdr_sattr3 (xdrs, &objp->createhow3_u.g_obj_attributes))
-+ return FALSE;
-+ break;
-+ case EXCLUSIVE:
-+ if (!xdr_createverf3 (xdrs, objp->createhow3_u.verf))
-+ return FALSE;
-+ break;
-+ default:
-+ return FALSE;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_CREATE3args (XDR *xdrs, CREATE3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->where))
-+ return FALSE;
-+ if (!xdr_createhow3 (xdrs, &objp->how))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_post_op_fh3 (XDR *xdrs, post_op_fh3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->handle_follows))
-+ return FALSE;
-+ switch (objp->handle_follows) {
-+ case TRUE:
-+ if (!xdr_nfs_fh3 (xdrs, &objp->post_op_fh3_u.handle))
-+ return FALSE;
-+ break;
-+ case FALSE:
-+ break;
-+ default:
-+ return FALSE;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_CREATE3resok (XDR *xdrs, CREATE3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_fh3 (xdrs, &objp->obj))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_CREATE3resfail (XDR *xdrs, CREATE3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_CREATE3res (XDR *xdrs, CREATE3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_CREATE3resok (xdrs, &objp->CREATE3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_CREATE3resfail (xdrs, &objp->CREATE3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_REMOVE3args (XDR *xdrs, REMOVE3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->object))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_REMOVE3resok (XDR *xdrs, REMOVE3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_REMOVE3resfail (XDR *xdrs, REMOVE3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_REMOVE3res (XDR *xdrs, REMOVE3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_REMOVE3resok (xdrs, &objp->REMOVE3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_REMOVE3resfail (xdrs, &objp->REMOVE3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READ3args (XDR *xdrs, READ3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->file))
-+ return FALSE;
-+ if (!xdr_offset3 (xdrs, &objp->offset))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->count))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READ3resok (XDR *xdrs, READ3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->file_attributes))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->count))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->eof))
-+ return FALSE;
-+ if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READ3resfail (XDR *xdrs, READ3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->file_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READ3res (XDR *xdrs, READ3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_READ3resok (xdrs, &objp->READ3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_READ3resfail (xdrs, &objp->READ3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSINFO3args (XDR *xdrs, FSINFO3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->fsroot))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSINFO3resok (XDR *xdrs, FSINFO3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+
-+ if (xdrs->x_op == XDR_ENCODE) {
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ buf = XDR_INLINE (xdrs, 7 * BYTES_PER_XDR_UNIT);
-+ if (buf == NULL) {
-+ if (!xdr_u_int (xdrs, &objp->rtmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->rtpref))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->rtmult))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtpref))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtmult))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->dtpref))
-+ return FALSE;
-+
-+ } else {
-+ IXDR_PUT_U_LONG(buf, objp->rtmax);
-+ IXDR_PUT_U_LONG(buf, objp->rtpref);
-+ IXDR_PUT_U_LONG(buf, objp->rtmult);
-+ IXDR_PUT_U_LONG(buf, objp->wtmax);
-+ IXDR_PUT_U_LONG(buf, objp->wtpref);
-+ IXDR_PUT_U_LONG(buf, objp->wtmult);
-+ IXDR_PUT_U_LONG(buf, objp->dtpref);
-+ }
-+ if (!xdr_size3 (xdrs, &objp->maxfilesize))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->time_delta))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->properties))
-+ return FALSE;
-+ return TRUE;
-+ } else if (xdrs->x_op == XDR_DECODE) {
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ buf = XDR_INLINE (xdrs, 7 * BYTES_PER_XDR_UNIT);
-+ if (buf == NULL) {
-+ if (!xdr_u_int (xdrs, &objp->rtmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->rtpref))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->rtmult))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtpref))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtmult))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->dtpref))
-+ return FALSE;
-+
-+ } else {
-+ objp->rtmax = IXDR_GET_U_LONG(buf);
-+ objp->rtpref = IXDR_GET_U_LONG(buf);
-+ objp->rtmult = IXDR_GET_U_LONG(buf);
-+ objp->wtmax = IXDR_GET_U_LONG(buf);
-+ objp->wtpref = IXDR_GET_U_LONG(buf);
-+ objp->wtmult = IXDR_GET_U_LONG(buf);
-+ objp->dtpref = IXDR_GET_U_LONG(buf);
-+ }
-+ if (!xdr_size3 (xdrs, &objp->maxfilesize))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->time_delta))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->properties))
-+ return FALSE;
-+ return TRUE;
-+ }
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->rtmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->rtpref))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->rtmult))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtpref))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->wtmult))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->dtpref))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->maxfilesize))
-+ return FALSE;
-+ if (!xdr_nfstime3 (xdrs, &objp->time_delta))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->properties))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSINFO3resfail (XDR *xdrs, FSINFO3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSINFO3res (XDR *xdrs, FSINFO3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_FSINFO3resok (xdrs, &objp->FSINFO3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_FSINFO3resfail (xdrs, &objp->FSINFO3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSSTAT3args (XDR *xdrs, FSSTAT3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->fsroot))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSSTAT3resok (XDR *xdrs, FSSTAT3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->tbytes))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->fbytes))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->abytes))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->tfiles))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->ffiles))
-+ return FALSE;
-+ if (!xdr_size3 (xdrs, &objp->afiles))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->invarsec))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSSTAT3resfail (XDR *xdrs, FSSTAT3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_FSSTAT3res (XDR *xdrs, FSSTAT3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_FSSTAT3resok (xdrs, &objp->FSSTAT3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_FSSTAT3resfail (xdrs, &objp->FSSTAT3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_PATHCONF3args (XDR *xdrs, PATHCONF3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->object))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_PATHCONF3resok (XDR *xdrs, PATHCONF3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+
-+ if (xdrs->x_op == XDR_ENCODE) {
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
-+ if (buf == NULL) {
-+ if (!xdr_u_int (xdrs, &objp->linkmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->name_max))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->no_trunc))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->chown_restricted))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->case_insensitive))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->case_preserving))
-+ return FALSE;
-+ } else {
-+ IXDR_PUT_U_LONG(buf, objp->linkmax);
-+ IXDR_PUT_U_LONG(buf, objp->name_max);
-+ IXDR_PUT_BOOL(buf, objp->no_trunc);
-+ IXDR_PUT_BOOL(buf, objp->chown_restricted);
-+ IXDR_PUT_BOOL(buf, objp->case_insensitive);
-+ IXDR_PUT_BOOL(buf, objp->case_preserving);
-+ }
-+ return TRUE;
-+ } else if (xdrs->x_op == XDR_DECODE) {
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
-+ if (buf == NULL) {
-+ if (!xdr_u_int (xdrs, &objp->linkmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->name_max))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->no_trunc))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->chown_restricted))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->case_insensitive))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->case_preserving))
-+ return FALSE;
-+ } else {
-+ objp->linkmax = IXDR_GET_U_LONG(buf);
-+ objp->name_max = IXDR_GET_U_LONG(buf);
-+ objp->no_trunc = IXDR_GET_BOOL(buf);
-+ objp->chown_restricted = IXDR_GET_BOOL(buf);
-+ objp->case_insensitive = IXDR_GET_BOOL(buf);
-+ objp->case_preserving = IXDR_GET_BOOL(buf);
-+ }
-+ return TRUE;
-+ }
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->linkmax))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->name_max))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->no_trunc))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->chown_restricted))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->case_insensitive))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->case_preserving))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_PATHCONF3resfail (XDR *xdrs, PATHCONF3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_PATHCONF3res (XDR *xdrs, PATHCONF3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_PATHCONF3resok (xdrs, &objp->PATHCONF3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_PATHCONF3resfail (xdrs, &objp->PATHCONF3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_nfspath3 (XDR *xdrs, nfspath3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_string (xdrs, objp, ~0))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_symlinkdata3 (XDR *xdrs, symlinkdata3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_sattr3 (xdrs, &objp->symlink_attributes))
-+ return FALSE;
-+ if (!xdr_nfspath3 (xdrs, &objp->symlink_data))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SYMLINK3args (XDR *xdrs, SYMLINK3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->where))
-+ return FALSE;
-+ if (!xdr_symlinkdata3 (xdrs, &objp->symlink))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SYMLINK3resok (XDR *xdrs, SYMLINK3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_fh3 (xdrs, &objp->obj))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SYMLINK3resfail (XDR *xdrs, SYMLINK3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SYMLINK3res (XDR *xdrs, SYMLINK3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_SYMLINK3resok (xdrs, &objp->SYMLINK3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_SYMLINK3resfail (xdrs, &objp->SYMLINK3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READLINK3args (XDR *xdrs, READLINK3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->symlink))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READLINK3resok (XDR *xdrs, READLINK3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->symlink_attributes))
-+ return FALSE;
-+ if (!xdr_nfspath3 (xdrs, &objp->data))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READLINK3resfail (XDR *xdrs, READLINK3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->symlink_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READLINK3res (XDR *xdrs, READLINK3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_READLINK3resok (xdrs, &objp->READLINK3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_READLINK3resfail (xdrs, &objp->READLINK3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_devicedata3 (XDR *xdrs, devicedata3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_sattr3 (xdrs, &objp->dev_attributes))
-+ return FALSE;
-+ if (!xdr_specdata3 (xdrs, &objp->spec))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_mknoddata3 (XDR *xdrs, mknoddata3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_ftype3 (xdrs, &objp->type))
-+ return FALSE;
-+ switch (objp->type) {
-+ case NF3CHR:
-+ if (!xdr_devicedata3 (xdrs, &objp->mknoddata3_u.chr_device))
-+ return FALSE;
-+ break;
-+ case NF3BLK:
-+ if (!xdr_devicedata3 (xdrs, &objp->mknoddata3_u.blk_device))
-+ return FALSE;
-+ break;
-+ case NF3SOCK:
-+ if (!xdr_sattr3 (xdrs, &objp->mknoddata3_u.sock_attributes))
-+ return FALSE;
-+ break;
-+ case NF3FIFO:
-+ if (!xdr_sattr3 (xdrs, &objp->mknoddata3_u.pipe_attributes))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKNOD3args (XDR *xdrs, MKNOD3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->where))
-+ return FALSE;
-+ if (!xdr_mknoddata3 (xdrs, &objp->what))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKNOD3resok (XDR *xdrs, MKNOD3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_fh3 (xdrs, &objp->obj))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKNOD3resfail (XDR *xdrs, MKNOD3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKNOD3res (XDR *xdrs, MKNOD3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_MKNOD3resok (xdrs, &objp->MKNOD3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_MKNOD3resfail (xdrs, &objp->MKNOD3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKDIR3args (XDR *xdrs, MKDIR3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->where))
-+ return FALSE;
-+ if (!xdr_sattr3 (xdrs, &objp->attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKDIR3resok (XDR *xdrs, MKDIR3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_fh3 (xdrs, &objp->obj))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->obj_attributes))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKDIR3resfail (XDR *xdrs, MKDIR3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_MKDIR3res (XDR *xdrs, MKDIR3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_MKDIR3resok (xdrs, &objp->MKDIR3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_MKDIR3resfail (xdrs, &objp->MKDIR3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RMDIR3args (XDR *xdrs, RMDIR3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->object))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RMDIR3resok (XDR *xdrs, RMDIR3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RMDIR3resfail (XDR *xdrs, RMDIR3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->dir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RMDIR3res (XDR *xdrs, RMDIR3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_RMDIR3resok (xdrs, &objp->RMDIR3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_RMDIR3resfail (xdrs, &objp->RMDIR3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RENAME3args (XDR *xdrs, RENAME3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_diropargs3 (xdrs, &objp->from))
-+ return FALSE;
-+ if (!xdr_diropargs3 (xdrs, &objp->to))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RENAME3resok (XDR *xdrs, RENAME3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->fromdir_wcc))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->todir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RENAME3resfail (XDR *xdrs, RENAME3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->fromdir_wcc))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->todir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_RENAME3res (XDR *xdrs, RENAME3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_RENAME3resok (xdrs, &objp->RENAME3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_RENAME3resfail (xdrs, &objp->RENAME3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIRPLUS3args (XDR *xdrs, READDIRPLUS3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->dir))
-+ return FALSE;
-+ if (!xdr_cookie3 (xdrs, &objp->cookie))
-+ return FALSE;
-+ if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->dircount))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->maxcount))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_entryplus3 (XDR *xdrs, entryplus3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_fileid3 (xdrs, &objp->fileid))
-+ return FALSE;
-+ if (!xdr_filename3 (xdrs, &objp->name))
-+ return FALSE;
-+ if (!xdr_cookie3 (xdrs, &objp->cookie))
-+ return FALSE;
-+ if (!xdr_post_op_attr (xdrs, &objp->name_attributes))
-+ return FALSE;
-+ if (!xdr_post_op_fh3 (xdrs, &objp->name_handle))
-+ return FALSE;
-+ if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_dirlistplus3 (XDR *xdrs, dirlistplus3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entryplus3), (xdrproc_t) xdr_entryplus3))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->eof))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIRPLUS3resok (XDR *xdrs, READDIRPLUS3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
-+ return FALSE;
-+ if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
-+ return FALSE;
-+ if (!xdr_dirlistplus3 (xdrs, &objp->reply))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIRPLUS3resfail (XDR *xdrs, READDIRPLUS3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIRPLUS3res (XDR *xdrs, READDIRPLUS3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_READDIRPLUS3resok (xdrs, &objp->READDIRPLUS3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_READDIRPLUS3resfail (xdrs, &objp->READDIRPLUS3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIR3args (XDR *xdrs, READDIR3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->dir))
-+ return FALSE;
-+ if (!xdr_cookie3 (xdrs, &objp->cookie))
-+ return FALSE;
-+ if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
-+ return FALSE;
-+ if (!xdr_count3 (xdrs, &objp->count))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_entry3 (XDR *xdrs, entry3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_fileid3 (xdrs, &objp->fileid))
-+ return FALSE;
-+ if (!xdr_filename3 (xdrs, &objp->name))
-+ return FALSE;
-+ if (!xdr_cookie3 (xdrs, &objp->cookie))
-+ return FALSE;
-+ if (!xdr_pointer (xdrs, (char **)&objp->nextentry, sizeof (entry3), (xdrproc_t) xdr_entry3))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_dirlist3 (XDR *xdrs, dirlist3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_pointer (xdrs, (char **)&objp->entries, sizeof (entry3), (xdrproc_t) xdr_entry3))
-+ return FALSE;
-+ if (!xdr_bool (xdrs, &objp->eof))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIR3resok (XDR *xdrs, READDIR3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
-+ return FALSE;
-+ if (!xdr_cookieverf3 (xdrs, objp->cookieverf))
-+ return FALSE;
-+ if (!xdr_dirlist3 (xdrs, &objp->reply))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIR3resfail (XDR *xdrs, READDIR3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->dir_attributes))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_READDIR3res (XDR *xdrs, READDIR3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_READDIR3resok (xdrs, &objp->READDIR3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_READDIR3resfail (xdrs, &objp->READDIR3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LINK3args (XDR *xdrs, LINK3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->file))
-+ return FALSE;
-+ if (!xdr_diropargs3 (xdrs, &objp->link))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LINK3resok (XDR *xdrs, LINK3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->file_attributes))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->linkdir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LINK3resfail (XDR *xdrs, LINK3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->file_attributes))
-+ return FALSE;
-+ if (!xdr_wcc_data (xdrs, &objp->linkdir_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_LINK3res (XDR *xdrs, LINK3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_LINK3resok (xdrs, &objp->LINK3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_LINK3resfail (xdrs, &objp->LINK3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_sattrguard3 (XDR *xdrs, sattrguard3 *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_bool (xdrs, &objp->check))
-+ return FALSE;
-+ switch (objp->check) {
-+ case TRUE:
-+ if (!xdr_nfstime3 (xdrs, &objp->sattrguard3_u.obj_ctime))
-+ return FALSE;
-+ break;
-+ case FALSE:
-+ break;
-+ default:
-+ return FALSE;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SETATTR3args (XDR *xdrs, SETATTR3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->object))
-+ return FALSE;
-+ if (!xdr_sattr3 (xdrs, &objp->new_attributes))
-+ return FALSE;
-+ if (!xdr_sattrguard3 (xdrs, &objp->guard))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SETATTR3resok (XDR *xdrs, SETATTR3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->obj_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SETATTR3resfail (XDR *xdrs, SETATTR3resfail *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_wcc_data (xdrs, &objp->obj_wcc))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SETATTR3res (XDR *xdrs, SETATTR3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_SETATTR3resok (xdrs, &objp->SETATTR3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ if (!xdr_SETATTR3resfail (xdrs, &objp->SETATTR3res_u.resfail))
-+ return FALSE;
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_nfsacl_type (XDR *xdrs, nfsacl_type *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_enum (xdrs, (enum_t *) objp))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_nfsacl_ace (XDR *xdrs, nfsacl_ace *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsacl_type (xdrs, &objp->type))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->id))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->perm))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_GETACL3args (XDR *xdrs, GETACL3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->dir))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->mask))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_GETACL3resok (XDR *xdrs, GETACL3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->attr))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->mask))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->ace_count))
-+ return FALSE;
-+ if (!xdr_array (xdrs, (char **)&objp->ace.ace_val, (u_int *) &objp->ace.ace_len, ~0,
-+ sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->default_ace_count))
-+ return FALSE;
-+ if (!xdr_array (xdrs, (char **)&objp->default_ace.default_ace_val, (u_int *) &objp->default_ace.default_ace_len, ~0,
-+ sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_GETACL3res (XDR *xdrs, GETACL3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_GETACL3resok (xdrs, &objp->GETACL3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SETACL3args (XDR *xdrs, SETACL3args *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfs_fh3 (xdrs, &objp->dir))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->mask))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->ace_count))
-+ return FALSE;
-+ if (!xdr_array (xdrs, (char **)&objp->ace.ace_val, (u_int *) &objp->ace.ace_len, ~0,
-+ sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace))
-+ return FALSE;
-+ if (!xdr_u_int (xdrs, &objp->default_ace_count))
-+ return FALSE;
-+ if (!xdr_array (xdrs, (char **)&objp->default_ace.default_ace_val, (u_int *) &objp->default_ace.default_ace_len, ~0,
-+ sizeof (nfsacl_ace), (xdrproc_t) xdr_nfsacl_ace))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SETACL3resok (XDR *xdrs, SETACL3resok *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_post_op_attr (xdrs, &objp->attr))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+bool_t
-+xdr_SETACL3res (XDR *xdrs, SETACL3res *objp)
-+{
-+ register int32_t *buf;
-+
-+ if (!xdr_nfsstat3 (xdrs, &objp->status))
-+ return FALSE;
-+ switch (objp->status) {
-+ case NFS3_OK:
-+ if (!xdr_SETACL3resok (xdrs, &objp->SETACL3res_u.resok))
-+ return FALSE;
-+ break;
-+ default:
-+ break;
-+ }
-+ return TRUE;
-+}
-+
-diff --git a/nfs/libnfs-raw-nfs.h b/nfs/libnfs-raw-nfs.h
-new file mode 100644
-index 0000000..9a125b5
---- /dev/null
-+++ b/nfs/libnfs-raw-nfs.h
-@@ -0,0 +1,1456 @@
-+/*
-+ * Please do not edit this file.
-+ * It was generated using rpcgen.
-+ */
-+
-+#ifndef _NFS_H_RPCGEN
-+#define _NFS_H_RPCGEN
-+
-+#include <rpc/rpc.h>
-+
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+#define NFS3_FHSIZE 64
-+#define NFS3_WRITEVERFSIZE 8
-+#define NFS3_CREATEVERFSIZE 8
-+#define NFS3_COOKIEVERFSIZE 8
-+
-+typedef char cookieverf3[NFS3_COOKIEVERFSIZE];
-+
-+typedef u_quad_t uint64;
-+
-+typedef uint64 cookie3;
-+
-+struct nfs_fh3 {
-+ struct {
-+ u_int data_len;
-+ char *data_val;
-+ } data;
-+};
-+typedef struct nfs_fh3 nfs_fh3;
-+
-+typedef char *filename3;
-+
-+struct diropargs3 {
-+ nfs_fh3 dir;
-+ filename3 name;
-+};
-+typedef struct diropargs3 diropargs3;
-+
-+enum ftype3 {
-+ NF3REG = 1,
-+ NF3DIR = 2,
-+ NF3BLK = 3,
-+ NF3CHR = 4,
-+ NF3LNK = 5,
-+ NF3SOCK = 6,
-+ NF3FIFO = 7,
-+};
-+typedef enum ftype3 ftype3;
-+
-+typedef u_int mode3;
-+
-+typedef u_int uid3;
-+
-+typedef u_int gid3;
-+
-+typedef uint64 size3;
-+
-+typedef uint64 fileid3;
-+
-+struct specdata3 {
-+ u_int specdata1;
-+ u_int specdata2;
-+};
-+typedef struct specdata3 specdata3;
-+
-+struct nfstime3 {
-+ u_int seconds;
-+ u_int nseconds;
-+};
-+typedef struct nfstime3 nfstime3;
-+
-+struct fattr3 {
-+ ftype3 type;
-+ mode3 mode;
-+ u_int nlink;
-+ uid3 uid;
-+ gid3 gid;
-+ size3 size;
-+ size3 used;
-+ specdata3 rdev;
-+ uint64 fsid;
-+ fileid3 fileid;
-+ nfstime3 atime;
-+ nfstime3 mtime;
-+ nfstime3 ctime;
-+};
-+typedef struct fattr3 fattr3;
-+
-+struct post_op_attr {
-+ bool_t attributes_follow;
-+ union {
-+ fattr3 attributes;
-+ } post_op_attr_u;
-+};
-+typedef struct post_op_attr post_op_attr;
-+
-+enum nfsstat3 {
-+ NFS3_OK = 0,
-+ NFS3ERR_PERM = 1,
-+ NFS3ERR_NOENT = 2,
-+ NFS3ERR_IO = 5,
-+ NFS3ERR_NXIO = 6,
-+ NFS3ERR_ACCES = 13,
-+ NFS3ERR_EXIST = 17,
-+ NFS3ERR_XDEV = 18,
-+ NFS3ERR_NODEV = 19,
-+ NFS3ERR_NOTDIR = 20,
-+ NFS3ERR_ISDIR = 21,
-+ NFS3ERR_INVAL = 22,
-+ NFS3ERR_FBIG = 27,
-+ NFS3ERR_NOSPC = 28,
-+ NFS3ERR_ROFS = 30,
-+ NFS3ERR_MLINK = 31,
-+ NFS3ERR_NAMETOOLONG = 63,
-+ NFS3ERR_NOTEMPTY = 66,
-+ NFS3ERR_DQUOT = 69,
-+ NFS3ERR_STALE = 70,
-+ NFS3ERR_REMOTE = 71,
-+ NFS3ERR_BADHANDLE = 10001,
-+ NFS3ERR_NOT_SYNC = 10002,
-+ NFS3ERR_BAD_COOKIE = 10003,
-+ NFS3ERR_NOTSUPP = 10004,
-+ NFS3ERR_TOOSMALL = 10005,
-+ NFS3ERR_SERVERFAULT = 10006,
-+ NFS3ERR_BADTYPE = 10007,
-+ NFS3ERR_JUKEBOX = 10008,
-+};
-+typedef enum nfsstat3 nfsstat3;
-+
-+enum stable_how {
-+ UNSTABLE = 0,
-+ DATA_SYNC = 1,
-+ FILE_SYNC = 2,
-+};
-+typedef enum stable_how stable_how;
-+
-+typedef uint64 offset3;
-+
-+typedef u_int count3;
-+
-+struct wcc_attr {
-+ size3 size;
-+ nfstime3 mtime;
-+ nfstime3 ctime;
-+};
-+typedef struct wcc_attr wcc_attr;
-+
-+struct pre_op_attr {
-+ bool_t attributes_follow;
-+ union {
-+ wcc_attr attributes;
-+ } pre_op_attr_u;
-+};
-+typedef struct pre_op_attr pre_op_attr;
-+
-+struct wcc_data {
-+ pre_op_attr before;
-+ post_op_attr after;
-+};
-+typedef struct wcc_data wcc_data;
-+
-+struct WRITE3args {
-+ nfs_fh3 file;
-+ offset3 offset;
-+ count3 count;
-+ stable_how stable;
-+ struct {
-+ u_int data_len;
-+ char *data_val;
-+ } data;
-+};
-+typedef struct WRITE3args WRITE3args;
-+
-+typedef char writeverf3[NFS3_WRITEVERFSIZE];
-+
-+struct WRITE3resok {
-+ wcc_data file_wcc;
-+ count3 count;
-+ stable_how committed;
-+ writeverf3 verf;
-+};
-+typedef struct WRITE3resok WRITE3resok;
-+
-+struct WRITE3resfail {
-+ wcc_data file_wcc;
-+};
-+typedef struct WRITE3resfail WRITE3resfail;
-+
-+struct WRITE3res {
-+ nfsstat3 status;
-+ union {
-+ WRITE3resok resok;
-+ WRITE3resfail resfail;
-+ } WRITE3res_u;
-+};
-+typedef struct WRITE3res WRITE3res;
-+
-+struct LOOKUP3args {
-+ diropargs3 what;
-+};
-+typedef struct LOOKUP3args LOOKUP3args;
-+
-+struct LOOKUP3resok {
-+ nfs_fh3 object;
-+ post_op_attr obj_attributes;
-+ post_op_attr dir_attributes;
-+};
-+typedef struct LOOKUP3resok LOOKUP3resok;
-+
-+struct LOOKUP3resfail {
-+ post_op_attr dir_attributes;
-+};
-+typedef struct LOOKUP3resfail LOOKUP3resfail;
-+
-+struct LOOKUP3res {
-+ nfsstat3 status;
-+ union {
-+ LOOKUP3resok resok;
-+ LOOKUP3resfail resfail;
-+ } LOOKUP3res_u;
-+};
-+typedef struct LOOKUP3res LOOKUP3res;
-+
-+struct COMMIT3args {
-+ nfs_fh3 file;
-+ offset3 offset;
-+ count3 count;
-+};
-+typedef struct COMMIT3args COMMIT3args;
-+
-+struct COMMIT3resok {
-+ wcc_data file_wcc;
-+ writeverf3 verf;
-+};
-+typedef struct COMMIT3resok COMMIT3resok;
-+
-+struct COMMIT3resfail {
-+ wcc_data file_wcc;
-+};
-+typedef struct COMMIT3resfail COMMIT3resfail;
-+
-+struct COMMIT3res {
-+ nfsstat3 status;
-+ union {
-+ COMMIT3resok resok;
-+ COMMIT3resfail resfail;
-+ } COMMIT3res_u;
-+};
-+typedef struct COMMIT3res COMMIT3res;
-+#define ACCESS3_READ 0x0001
-+#define ACCESS3_LOOKUP 0x0002
-+#define ACCESS3_MODIFY 0x0004
-+#define ACCESS3_EXTEND 0x0008
-+#define ACCESS3_DELETE 0x0010
-+#define ACCESS3_EXECUTE 0x0020
-+
-+struct ACCESS3args {
-+ nfs_fh3 object;
-+ u_int access;
-+};
-+typedef struct ACCESS3args ACCESS3args;
-+
-+struct ACCESS3resok {
-+ post_op_attr obj_attributes;
-+ u_int access;
-+};
-+typedef struct ACCESS3resok ACCESS3resok;
-+
-+struct ACCESS3resfail {
-+ post_op_attr obj_attributes;
-+};
-+typedef struct ACCESS3resfail ACCESS3resfail;
-+
-+struct ACCESS3res {
-+ nfsstat3 status;
-+ union {
-+ ACCESS3resok resok;
-+ ACCESS3resfail resfail;
-+ } ACCESS3res_u;
-+};
-+typedef struct ACCESS3res ACCESS3res;
-+
-+struct GETATTR3args {
-+ nfs_fh3 object;
-+};
-+typedef struct GETATTR3args GETATTR3args;
-+
-+struct GETATTR3resok {
-+ fattr3 obj_attributes;
-+};
-+typedef struct GETATTR3resok GETATTR3resok;
-+
-+struct GETATTR3res {
-+ nfsstat3 status;
-+ union {
-+ GETATTR3resok resok;
-+ } GETATTR3res_u;
-+};
-+typedef struct GETATTR3res GETATTR3res;
-+
-+enum time_how {
-+ DONT_CHANGE = 0,
-+ SET_TO_SERVER_TIME = 1,
-+ SET_TO_CLIENT_TIME = 2,
-+};
-+typedef enum time_how time_how;
-+
-+struct set_mode3 {
-+ bool_t set_it;
-+ union {
-+ mode3 mode;
-+ } set_mode3_u;
-+};
-+typedef struct set_mode3 set_mode3;
-+
-+struct set_uid3 {
-+ bool_t set_it;
-+ union {
-+ uid3 uid;
-+ } set_uid3_u;
-+};
-+typedef struct set_uid3 set_uid3;
-+
-+struct set_gid3 {
-+ bool_t set_it;
-+ union {
-+ gid3 gid;
-+ } set_gid3_u;
-+};
-+typedef struct set_gid3 set_gid3;
-+
-+struct set_size3 {
-+ bool_t set_it;
-+ union {
-+ size3 size;
-+ } set_size3_u;
-+};
-+typedef struct set_size3 set_size3;
-+
-+struct set_atime {
-+ time_how set_it;
-+ union {
-+ nfstime3 atime;
-+ } set_atime_u;
-+};
-+typedef struct set_atime set_atime;
-+
-+struct set_mtime {
-+ time_how set_it;
-+ union {
-+ nfstime3 mtime;
-+ } set_mtime_u;
-+};
-+typedef struct set_mtime set_mtime;
-+
-+struct sattr3 {
-+ set_mode3 mode;
-+ set_uid3 uid;
-+ set_gid3 gid;
-+ set_size3 size;
-+ set_atime atime;
-+ set_mtime mtime;
-+};
-+typedef struct sattr3 sattr3;
-+
-+enum createmode3 {
-+ UNCHECKED = 0,
-+ GUARDED = 1,
-+ EXCLUSIVE = 2,
-+};
-+typedef enum createmode3 createmode3;
-+
-+typedef char createverf3[NFS3_CREATEVERFSIZE];
-+
-+struct createhow3 {
-+ createmode3 mode;
-+ union {
-+ sattr3 obj_attributes;
-+ sattr3 g_obj_attributes;
-+ createverf3 verf;
-+ } createhow3_u;
-+};
-+typedef struct createhow3 createhow3;
-+
-+struct CREATE3args {
-+ diropargs3 where;
-+ createhow3 how;
-+};
-+typedef struct CREATE3args CREATE3args;
-+
-+struct post_op_fh3 {
-+ bool_t handle_follows;
-+ union {
-+ nfs_fh3 handle;
-+ } post_op_fh3_u;
-+};
-+typedef struct post_op_fh3 post_op_fh3;
-+
-+struct CREATE3resok {
-+ post_op_fh3 obj;
-+ post_op_attr obj_attributes;
-+ wcc_data dir_wcc;
-+};
-+typedef struct CREATE3resok CREATE3resok;
-+
-+struct CREATE3resfail {
-+ wcc_data dir_wcc;
-+};
-+typedef struct CREATE3resfail CREATE3resfail;
-+
-+struct CREATE3res {
-+ nfsstat3 status;
-+ union {
-+ CREATE3resok resok;
-+ CREATE3resfail resfail;
-+ } CREATE3res_u;
-+};
-+typedef struct CREATE3res CREATE3res;
-+
-+struct REMOVE3args {
-+ diropargs3 object;
-+};
-+typedef struct REMOVE3args REMOVE3args;
-+
-+struct REMOVE3resok {
-+ wcc_data dir_wcc;
-+};
-+typedef struct REMOVE3resok REMOVE3resok;
-+
-+struct REMOVE3resfail {
-+ wcc_data dir_wcc;
-+};
-+typedef struct REMOVE3resfail REMOVE3resfail;
-+
-+struct REMOVE3res {
-+ nfsstat3 status;
-+ union {
-+ REMOVE3resok resok;
-+ REMOVE3resfail resfail;
-+ } REMOVE3res_u;
-+};
-+typedef struct REMOVE3res REMOVE3res;
-+
-+struct READ3args {
-+ nfs_fh3 file;
-+ offset3 offset;
-+ count3 count;
-+};
-+typedef struct READ3args READ3args;
-+
-+struct READ3resok {
-+ post_op_attr file_attributes;
-+ count3 count;
-+ bool_t eof;
-+ struct {
-+ u_int data_len;
-+ char *data_val;
-+ } data;
-+};
-+typedef struct READ3resok READ3resok;
-+
-+struct READ3resfail {
-+ post_op_attr file_attributes;
-+};
-+typedef struct READ3resfail READ3resfail;
-+
-+struct READ3res {
-+ nfsstat3 status;
-+ union {
-+ READ3resok resok;
-+ READ3resfail resfail;
-+ } READ3res_u;
-+};
-+typedef struct READ3res READ3res;
-+#define FSF3_LINK 0x0001
-+#define FSF3_SYMLINK 0x0002
-+#define FSF3_HOMOGENEOUS 0x0008
-+#define FSF3_CANSETTIME 0x0010
-+
-+struct FSINFO3args {
-+ nfs_fh3 fsroot;
-+};
-+typedef struct FSINFO3args FSINFO3args;
-+
-+struct FSINFO3resok {
-+ post_op_attr obj_attributes;
-+ u_int rtmax;
-+ u_int rtpref;
-+ u_int rtmult;
-+ u_int wtmax;
-+ u_int wtpref;
-+ u_int wtmult;
-+ u_int dtpref;
-+ size3 maxfilesize;
-+ nfstime3 time_delta;
-+ u_int properties;
-+};
-+typedef struct FSINFO3resok FSINFO3resok;
-+
-+struct FSINFO3resfail {
-+ post_op_attr obj_attributes;
-+};
-+typedef struct FSINFO3resfail FSINFO3resfail;
-+
-+struct FSINFO3res {
-+ nfsstat3 status;
-+ union {
-+ FSINFO3resok resok;
-+ FSINFO3resfail resfail;
-+ } FSINFO3res_u;
-+};
-+typedef struct FSINFO3res FSINFO3res;
-+
-+struct FSSTAT3args {
-+ nfs_fh3 fsroot;
-+};
-+typedef struct FSSTAT3args FSSTAT3args;
-+
-+struct FSSTAT3resok {
-+ post_op_attr obj_attributes;
-+ size3 tbytes;
-+ size3 fbytes;
-+ size3 abytes;
-+ size3 tfiles;
-+ size3 ffiles;
-+ size3 afiles;
-+ u_int invarsec;
-+};
-+typedef struct FSSTAT3resok FSSTAT3resok;
-+
-+struct FSSTAT3resfail {
-+ post_op_attr obj_attributes;
-+};
-+typedef struct FSSTAT3resfail FSSTAT3resfail;
-+
-+struct FSSTAT3res {
-+ nfsstat3 status;
-+ union {
-+ FSSTAT3resok resok;
-+ FSSTAT3resfail resfail;
-+ } FSSTAT3res_u;
-+};
-+typedef struct FSSTAT3res FSSTAT3res;
-+
-+struct PATHCONF3args {
-+ nfs_fh3 object;
-+};
-+typedef struct PATHCONF3args PATHCONF3args;
-+
-+struct PATHCONF3resok {
-+ post_op_attr obj_attributes;
-+ u_int linkmax;
-+ u_int name_max;
-+ bool_t no_trunc;
-+ bool_t chown_restricted;
-+ bool_t case_insensitive;
-+ bool_t case_preserving;
-+};
-+typedef struct PATHCONF3resok PATHCONF3resok;
-+
-+struct PATHCONF3resfail {
-+ post_op_attr obj_attributes;
-+};
-+typedef struct PATHCONF3resfail PATHCONF3resfail;
-+
-+struct PATHCONF3res {
-+ nfsstat3 status;
-+ union {
-+ PATHCONF3resok resok;
-+ PATHCONF3resfail resfail;
-+ } PATHCONF3res_u;
-+};
-+typedef struct PATHCONF3res PATHCONF3res;
-+
-+typedef char *nfspath3;
-+
-+struct symlinkdata3 {
-+ sattr3 symlink_attributes;
-+ nfspath3 symlink_data;
-+};
-+typedef struct symlinkdata3 symlinkdata3;
-+
-+struct SYMLINK3args {
-+ diropargs3 where;
-+ symlinkdata3 symlink;
-+};
-+typedef struct SYMLINK3args SYMLINK3args;
-+
-+struct SYMLINK3resok {
-+ post_op_fh3 obj;
-+ post_op_attr obj_attributes;
-+ wcc_data dir_wcc;
-+};
-+typedef struct SYMLINK3resok SYMLINK3resok;
-+
-+struct SYMLINK3resfail {
-+ wcc_data dir_wcc;
-+};
-+typedef struct SYMLINK3resfail SYMLINK3resfail;
-+
-+struct SYMLINK3res {
-+ nfsstat3 status;
-+ union {
-+ SYMLINK3resok resok;
-+ SYMLINK3resfail resfail;
-+ } SYMLINK3res_u;
-+};
-+typedef struct SYMLINK3res SYMLINK3res;
-+
-+struct READLINK3args {
-+ nfs_fh3 symlink;
-+};
-+typedef struct READLINK3args READLINK3args;
-+
-+struct READLINK3resok {
-+ post_op_attr symlink_attributes;
-+ nfspath3 data;
-+};
-+typedef struct READLINK3resok READLINK3resok;
-+
-+struct READLINK3resfail {
-+ post_op_attr symlink_attributes;
-+};
-+typedef struct READLINK3resfail READLINK3resfail;
-+
-+struct READLINK3res {
-+ nfsstat3 status;
-+ union {
-+ READLINK3resok resok;
-+ READLINK3resfail resfail;
-+ } READLINK3res_u;
-+};
-+typedef struct READLINK3res READLINK3res;
-+
-+struct devicedata3 {
-+ sattr3 dev_attributes;
-+ specdata3 spec;
-+};
-+typedef struct devicedata3 devicedata3;
-+
-+struct mknoddata3 {
-+ ftype3 type;
-+ union {
-+ devicedata3 chr_device;
-+ devicedata3 blk_device;
-+ sattr3 sock_attributes;
-+ sattr3 pipe_attributes;
-+ } mknoddata3_u;
-+};
-+typedef struct mknoddata3 mknoddata3;
-+
-+struct MKNOD3args {
-+ diropargs3 where;
-+ mknoddata3 what;
-+};
-+typedef struct MKNOD3args MKNOD3args;
-+
-+struct MKNOD3resok {
-+ post_op_fh3 obj;
-+ post_op_attr obj_attributes;
-+ wcc_data dir_wcc;
-+};
-+typedef struct MKNOD3resok MKNOD3resok;
-+
-+struct MKNOD3resfail {
-+ wcc_data dir_wcc;
-+};
-+typedef struct MKNOD3resfail MKNOD3resfail;
-+
-+struct MKNOD3res {
-+ nfsstat3 status;
-+ union {
-+ MKNOD3resok resok;
-+ MKNOD3resfail resfail;
-+ } MKNOD3res_u;
-+};
-+typedef struct MKNOD3res MKNOD3res;
-+
-+struct MKDIR3args {
-+ diropargs3 where;
-+ sattr3 attributes;
-+};
-+typedef struct MKDIR3args MKDIR3args;
-+
-+struct MKDIR3resok {
-+ post_op_fh3 obj;
-+ post_op_attr obj_attributes;
-+ wcc_data dir_wcc;
-+};
-+typedef struct MKDIR3resok MKDIR3resok;
-+
-+struct MKDIR3resfail {
-+ wcc_data dir_wcc;
-+};
-+typedef struct MKDIR3resfail MKDIR3resfail;
-+
-+struct MKDIR3res {
-+ nfsstat3 status;
-+ union {
-+ MKDIR3resok resok;
-+ MKDIR3resfail resfail;
-+ } MKDIR3res_u;
-+};
-+typedef struct MKDIR3res MKDIR3res;
-+
-+struct RMDIR3args {
-+ diropargs3 object;
-+};
-+typedef struct RMDIR3args RMDIR3args;
-+
-+struct RMDIR3resok {
-+ wcc_data dir_wcc;
-+};
-+typedef struct RMDIR3resok RMDIR3resok;
-+
-+struct RMDIR3resfail {
-+ wcc_data dir_wcc;
-+};
-+typedef struct RMDIR3resfail RMDIR3resfail;
-+
-+struct RMDIR3res {
-+ nfsstat3 status;
-+ union {
-+ RMDIR3resok resok;
-+ RMDIR3resfail resfail;
-+ } RMDIR3res_u;
-+};
-+typedef struct RMDIR3res RMDIR3res;
-+
-+struct RENAME3args {
-+ diropargs3 from;
-+ diropargs3 to;
-+};
-+typedef struct RENAME3args RENAME3args;
-+
-+struct RENAME3resok {
-+ wcc_data fromdir_wcc;
-+ wcc_data todir_wcc;
-+};
-+typedef struct RENAME3resok RENAME3resok;
-+
-+struct RENAME3resfail {
-+ wcc_data fromdir_wcc;
-+ wcc_data todir_wcc;
-+};
-+typedef struct RENAME3resfail RENAME3resfail;
-+
-+struct RENAME3res {
-+ nfsstat3 status;
-+ union {
-+ RENAME3resok resok;
-+ RENAME3resfail resfail;
-+ } RENAME3res_u;
-+};
-+typedef struct RENAME3res RENAME3res;
-+
-+struct READDIRPLUS3args {
-+ nfs_fh3 dir;
-+ cookie3 cookie;
-+ cookieverf3 cookieverf;
-+ count3 dircount;
-+ count3 maxcount;
-+};
-+typedef struct READDIRPLUS3args READDIRPLUS3args;
-+
-+struct entryplus3 {
-+ fileid3 fileid;
-+ filename3 name;
-+ cookie3 cookie;
-+ post_op_attr name_attributes;
-+ post_op_fh3 name_handle;
-+ struct entryplus3 *nextentry;
-+};
-+typedef struct entryplus3 entryplus3;
-+
-+struct dirlistplus3 {
-+ entryplus3 *entries;
-+ bool_t eof;
-+};
-+typedef struct dirlistplus3 dirlistplus3;
-+
-+struct READDIRPLUS3resok {
-+ post_op_attr dir_attributes;
-+ cookieverf3 cookieverf;
-+ dirlistplus3 reply;
-+};
-+typedef struct READDIRPLUS3resok READDIRPLUS3resok;
-+
-+struct READDIRPLUS3resfail {
-+ post_op_attr dir_attributes;
-+};
-+typedef struct READDIRPLUS3resfail READDIRPLUS3resfail;
-+
-+struct READDIRPLUS3res {
-+ nfsstat3 status;
-+ union {
-+ READDIRPLUS3resok resok;
-+ READDIRPLUS3resfail resfail;
-+ } READDIRPLUS3res_u;
-+};
-+typedef struct READDIRPLUS3res READDIRPLUS3res;
-+
-+struct READDIR3args {
-+ nfs_fh3 dir;
-+ cookie3 cookie;
-+ cookieverf3 cookieverf;
-+ count3 count;
-+};
-+typedef struct READDIR3args READDIR3args;
-+
-+struct entry3 {
-+ fileid3 fileid;
-+ filename3 name;
-+ cookie3 cookie;
-+ struct entry3 *nextentry;
-+};
-+typedef struct entry3 entry3;
-+
-+struct dirlist3 {
-+ entry3 *entries;
-+ bool_t eof;
-+};
-+typedef struct dirlist3 dirlist3;
-+
-+struct READDIR3resok {
-+ post_op_attr dir_attributes;
-+ cookieverf3 cookieverf;
-+ dirlist3 reply;
-+};
-+typedef struct READDIR3resok READDIR3resok;
-+
-+struct READDIR3resfail {
-+ post_op_attr dir_attributes;
-+};
-+typedef struct READDIR3resfail READDIR3resfail;
-+
-+struct READDIR3res {
-+ nfsstat3 status;
-+ union {
-+ READDIR3resok resok;
-+ READDIR3resfail resfail;
-+ } READDIR3res_u;
-+};
-+typedef struct READDIR3res READDIR3res;
-+
-+struct LINK3args {
-+ nfs_fh3 file;
-+ diropargs3 link;
-+};
-+typedef struct LINK3args LINK3args;
-+
-+struct LINK3resok {
-+ post_op_attr file_attributes;
-+ wcc_data linkdir_wcc;
-+};
-+typedef struct LINK3resok LINK3resok;
-+
-+struct LINK3resfail {
-+ post_op_attr file_attributes;
-+ wcc_data linkdir_wcc;
-+};
-+typedef struct LINK3resfail LINK3resfail;
-+
-+struct LINK3res {
-+ nfsstat3 status;
-+ union {
-+ LINK3resok resok;
-+ LINK3resfail resfail;
-+ } LINK3res_u;
-+};
-+typedef struct LINK3res LINK3res;
-+
-+struct sattrguard3 {
-+ bool_t check;
-+ union {
-+ nfstime3 obj_ctime;
-+ } sattrguard3_u;
-+};
-+typedef struct sattrguard3 sattrguard3;
-+
-+struct SETATTR3args {
-+ nfs_fh3 object;
-+ sattr3 new_attributes;
-+ sattrguard3 guard;
-+};
-+typedef struct SETATTR3args SETATTR3args;
-+
-+struct SETATTR3resok {
-+ wcc_data obj_wcc;
-+};
-+typedef struct SETATTR3resok SETATTR3resok;
-+
-+struct SETATTR3resfail {
-+ wcc_data obj_wcc;
-+};
-+typedef struct SETATTR3resfail SETATTR3resfail;
-+
-+struct SETATTR3res {
-+ nfsstat3 status;
-+ union {
-+ SETATTR3resok resok;
-+ SETATTR3resfail resfail;
-+ } SETATTR3res_u;
-+};
-+typedef struct SETATTR3res SETATTR3res;
-+
-+enum nfsacl_type {
-+ NFSACL_TYPE_USER_OBJ = 0x0001,
-+ NFSACL_TYPE_USER = 0x0002,
-+ NFSACL_TYPE_GROUP_OBJ = 0x0004,
-+ NFSACL_TYPE_GROUP = 0x0008,
-+ NFSACL_TYPE_CLASS_OBJ = 0x0010,
-+ NFSACL_TYPE_CLASS = 0x0020,
-+ NFSACL_TYPE_DEFAULT = 0x1000,
-+ NFSACL_TYPE_DEFAULT_USER_OBJ = 0x1001,
-+ NFSACL_TYPE_DEFAULT_USER = 0x1002,
-+ NFSACL_TYPE_DEFAULT_GROUP_OBJ = 0x1004,
-+ NFSACL_TYPE_DEFAULT_GROUP = 0x1008,
-+ NFSACL_TYPE_DEFAULT_CLASS_OBJ = 0x1010,
-+ NFSACL_TYPE_DEFAULT_OTHER_OBJ = 0x1020,
-+};
-+typedef enum nfsacl_type nfsacl_type;
-+#define NFSACL_PERM_READ 0x04
-+#define NFSACL_PERM_WRITE 0x02
-+#define NFSACL_PERM_EXEC 0x01
-+
-+struct nfsacl_ace {
-+ enum nfsacl_type type;
-+ u_int id;
-+ u_int perm;
-+};
-+typedef struct nfsacl_ace nfsacl_ace;
-+#define NFSACL_MASK_ACL_ENTRY 0x0001
-+#define NFSACL_MASK_ACL_COUNT 0x0002
-+#define NFSACL_MASK_ACL_DEFAULT_ENTRY 0x0004
-+#define NFSACL_MASK_ACL_DEFAULT_COUNT 0x0008
-+
-+struct GETACL3args {
-+ nfs_fh3 dir;
-+ u_int mask;
-+};
-+typedef struct GETACL3args GETACL3args;
-+
-+struct GETACL3resok {
-+ post_op_attr attr;
-+ u_int mask;
-+ u_int ace_count;
-+ struct {
-+ u_int ace_len;
-+ struct nfsacl_ace *ace_val;
-+ } ace;
-+ u_int default_ace_count;
-+ struct {
-+ u_int default_ace_len;
-+ struct nfsacl_ace *default_ace_val;
-+ } default_ace;
-+};
-+typedef struct GETACL3resok GETACL3resok;
-+
-+struct GETACL3res {
-+ nfsstat3 status;
-+ union {
-+ GETACL3resok resok;
-+ } GETACL3res_u;
-+};
-+typedef struct GETACL3res GETACL3res;
-+
-+struct SETACL3args {
-+ nfs_fh3 dir;
-+ u_int mask;
-+ u_int ace_count;
-+ struct {
-+ u_int ace_len;
-+ struct nfsacl_ace *ace_val;
-+ } ace;
-+ u_int default_ace_count;
-+ struct {
-+ u_int default_ace_len;
-+ struct nfsacl_ace *default_ace_val;
-+ } default_ace;
-+};
-+typedef struct SETACL3args SETACL3args;
-+
-+struct SETACL3resok {
-+ post_op_attr attr;
-+};
-+typedef struct SETACL3resok SETACL3resok;
-+
-+struct SETACL3res {
-+ nfsstat3 status;
-+ union {
-+ SETACL3resok resok;
-+ } SETACL3res_u;
-+};
-+typedef struct SETACL3res SETACL3res;
-+
-+#define NFS_PROGRAM 100003
-+#define NFS_V3 3
-+
-+#if defined(__STDC__) || defined(__cplusplus)
-+#define NFS3_NULL 0
-+extern void * nfs3_null_3(void *, CLIENT *);
-+extern void * nfs3_null_3_svc(void *, struct svc_req *);
-+#define NFS3_GETATTR 1
-+extern GETATTR3res * nfs3_getattr_3(GETATTR3args *, CLIENT *);
-+extern GETATTR3res * nfs3_getattr_3_svc(GETATTR3args *, struct svc_req *);
-+#define NFS3_SETATTR 2
-+extern SETATTR3res * nfs3_setattr_3(SETATTR3args *, CLIENT *);
-+extern SETATTR3res * nfs3_setattr_3_svc(SETATTR3args *, struct svc_req *);
-+#define NFS3_LOOKUP 3
-+extern LOOKUP3res * nfs3_lookup_3(LOOKUP3args *, CLIENT *);
-+extern LOOKUP3res * nfs3_lookup_3_svc(LOOKUP3args *, struct svc_req *);
-+#define NFS3_ACCESS 4
-+extern ACCESS3res * nfs3_access_3(ACCESS3args *, CLIENT *);
-+extern ACCESS3res * nfs3_access_3_svc(ACCESS3args *, struct svc_req *);
-+#define NFS3_READLINK 5
-+extern READLINK3res * nfs3_readlink_3(READLINK3args *, CLIENT *);
-+extern READLINK3res * nfs3_readlink_3_svc(READLINK3args *, struct svc_req *);
-+#define NFS3_READ 6
-+extern READ3res * nfs3_read_3(READ3args *, CLIENT *);
-+extern READ3res * nfs3_read_3_svc(READ3args *, struct svc_req *);
-+#define NFS3_WRITE 7
-+extern WRITE3res * nfs3_write_3(WRITE3args *, CLIENT *);
-+extern WRITE3res * nfs3_write_3_svc(WRITE3args *, struct svc_req *);
-+#define NFS3_CREATE 8
-+extern CREATE3res * nfs3_create_3(CREATE3args *, CLIENT *);
-+extern CREATE3res * nfs3_create_3_svc(CREATE3args *, struct svc_req *);
-+#define NFS3_MKDIR 9
-+extern MKDIR3res * nfs3_mkdir_3(MKDIR3args *, CLIENT *);
-+extern MKDIR3res * nfs3_mkdir_3_svc(MKDIR3args *, struct svc_req *);
-+#define NFS3_SYMLINK 10
-+extern SYMLINK3res * nfs3_symlink_3(SYMLINK3args *, CLIENT *);
-+extern SYMLINK3res * nfs3_symlink_3_svc(SYMLINK3args *, struct svc_req *);
-+#define NFS3_MKNOD 11
-+extern MKNOD3res * nfs3_mknod_3(MKNOD3args *, CLIENT *);
-+extern MKNOD3res * nfs3_mknod_3_svc(MKNOD3args *, struct svc_req *);
-+#define NFS3_REMOVE 12
-+extern REMOVE3res * nfs3_remove_3(REMOVE3args *, CLIENT *);
-+extern REMOVE3res * nfs3_remove_3_svc(REMOVE3args *, struct svc_req *);
-+#define NFS3_RMDIR 13
-+extern RMDIR3res * nfs3_rmdir_3(RMDIR3args *, CLIENT *);
-+extern RMDIR3res * nfs3_rmdir_3_svc(RMDIR3args *, struct svc_req *);
-+#define NFS3_RENAME 14
-+extern RENAME3res * nfs3_rename_3(RENAME3args *, CLIENT *);
-+extern RENAME3res * nfs3_rename_3_svc(RENAME3args *, struct svc_req *);
-+#define NFS3_LINK 15
-+extern LINK3res * nfs3_link_3(LINK3args *, CLIENT *);
-+extern LINK3res * nfs3_link_3_svc(LINK3args *, struct svc_req *);
-+#define NFS3_READDIR 16
-+extern READDIR3res * nfs3_readdir_3(READDIR3args *, CLIENT *);
-+extern READDIR3res * nfs3_readdir_3_svc(READDIR3args *, struct svc_req *);
-+#define NFS3_READDIRPLUS 17
-+extern READDIRPLUS3res * nfs3_readdirplus_3(READDIRPLUS3args *, CLIENT *);
-+extern READDIRPLUS3res * nfs3_readdirplus_3_svc(READDIRPLUS3args *, struct svc_req *);
-+#define NFS3_FSSTAT 18
-+extern FSSTAT3res * nfs3_fsstat_3(FSSTAT3args *, CLIENT *);
-+extern FSSTAT3res * nfs3_fsstat_3_svc(FSSTAT3args *, struct svc_req *);
-+#define NFS3_FSINFO 19
-+extern FSINFO3res * nfs3_fsinfo_3(FSINFO3args *, CLIENT *);
-+extern FSINFO3res * nfs3_fsinfo_3_svc(FSINFO3args *, struct svc_req *);
-+#define NFS3_PATHCONF 20
-+extern PATHCONF3res * nfs3_pathconf_3(PATHCONF3args *, CLIENT *);
-+extern PATHCONF3res * nfs3_pathconf_3_svc(PATHCONF3args *, struct svc_req *);
-+#define NFS3_COMMIT 21
-+extern COMMIT3res * nfs3_commit_3(COMMIT3args *, CLIENT *);
-+extern COMMIT3res * nfs3_commit_3_svc(COMMIT3args *, struct svc_req *);
-+extern int nfs_program_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
-+
-+#else /* K&R C */
-+#define NFS3_NULL 0
-+extern void * nfs3_null_3();
-+extern void * nfs3_null_3_svc();
-+#define NFS3_GETATTR 1
-+extern GETATTR3res * nfs3_getattr_3();
-+extern GETATTR3res * nfs3_getattr_3_svc();
-+#define NFS3_SETATTR 2
-+extern SETATTR3res * nfs3_setattr_3();
-+extern SETATTR3res * nfs3_setattr_3_svc();
-+#define NFS3_LOOKUP 3
-+extern LOOKUP3res * nfs3_lookup_3();
-+extern LOOKUP3res * nfs3_lookup_3_svc();
-+#define NFS3_ACCESS 4
-+extern ACCESS3res * nfs3_access_3();
-+extern ACCESS3res * nfs3_access_3_svc();
-+#define NFS3_READLINK 5
-+extern READLINK3res * nfs3_readlink_3();
-+extern READLINK3res * nfs3_readlink_3_svc();
-+#define NFS3_READ 6
-+extern READ3res * nfs3_read_3();
-+extern READ3res * nfs3_read_3_svc();
-+#define NFS3_WRITE 7
-+extern WRITE3res * nfs3_write_3();
-+extern WRITE3res * nfs3_write_3_svc();
-+#define NFS3_CREATE 8
-+extern CREATE3res * nfs3_create_3();
-+extern CREATE3res * nfs3_create_3_svc();
-+#define NFS3_MKDIR 9
-+extern MKDIR3res * nfs3_mkdir_3();
-+extern MKDIR3res * nfs3_mkdir_3_svc();
-+#define NFS3_SYMLINK 10
-+extern SYMLINK3res * nfs3_symlink_3();
-+extern SYMLINK3res * nfs3_symlink_3_svc();
-+#define NFS3_MKNOD 11
-+extern MKNOD3res * nfs3_mknod_3();
-+extern MKNOD3res * nfs3_mknod_3_svc();
-+#define NFS3_REMOVE 12
-+extern REMOVE3res * nfs3_remove_3();
-+extern REMOVE3res * nfs3_remove_3_svc();
-+#define NFS3_RMDIR 13
-+extern RMDIR3res * nfs3_rmdir_3();
-+extern RMDIR3res * nfs3_rmdir_3_svc();
-+#define NFS3_RENAME 14
-+extern RENAME3res * nfs3_rename_3();
-+extern RENAME3res * nfs3_rename_3_svc();
-+#define NFS3_LINK 15
-+extern LINK3res * nfs3_link_3();
-+extern LINK3res * nfs3_link_3_svc();
-+#define NFS3_READDIR 16
-+extern READDIR3res * nfs3_readdir_3();
-+extern READDIR3res * nfs3_readdir_3_svc();
-+#define NFS3_READDIRPLUS 17
-+extern READDIRPLUS3res * nfs3_readdirplus_3();
-+extern READDIRPLUS3res * nfs3_readdirplus_3_svc();
-+#define NFS3_FSSTAT 18
-+extern FSSTAT3res * nfs3_fsstat_3();
-+extern FSSTAT3res * nfs3_fsstat_3_svc();
-+#define NFS3_FSINFO 19
-+extern FSINFO3res * nfs3_fsinfo_3();
-+extern FSINFO3res * nfs3_fsinfo_3_svc();
-+#define NFS3_PATHCONF 20
-+extern PATHCONF3res * nfs3_pathconf_3();
-+extern PATHCONF3res * nfs3_pathconf_3_svc();
-+#define NFS3_COMMIT 21
-+extern COMMIT3res * nfs3_commit_3();
-+extern COMMIT3res * nfs3_commit_3_svc();
-+extern int nfs_program_3_freeresult ();
-+#endif /* K&R C */
-+
-+#define NFSACL_PROGRAM 100227
-+#define NFSACL_V3 3
-+
-+#if defined(__STDC__) || defined(__cplusplus)
-+#define NFSACL3_NULL 0
-+extern void * nfsacl3_null_3(void *, CLIENT *);
-+extern void * nfsacl3_null_3_svc(void *, struct svc_req *);
-+#define NFSACL3_GETACL 1
-+extern GETACL3res * nfsacl3_getacl_3(GETACL3args *, CLIENT *);
-+extern GETACL3res * nfsacl3_getacl_3_svc(GETACL3args *, struct svc_req *);
-+#define NFSACL3_SETACL 2
-+extern SETACL3res * nfsacl3_setacl_3(SETACL3args *, CLIENT *);
-+extern SETACL3res * nfsacl3_setacl_3_svc(SETACL3args *, struct svc_req *);
-+extern int nfsacl_program_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
-+
-+#else /* K&R C */
-+#define NFSACL3_NULL 0
-+extern void * nfsacl3_null_3();
-+extern void * nfsacl3_null_3_svc();
-+#define NFSACL3_GETACL 1
-+extern GETACL3res * nfsacl3_getacl_3();
-+extern GETACL3res * nfsacl3_getacl_3_svc();
-+#define NFSACL3_SETACL 2
-+extern SETACL3res * nfsacl3_setacl_3();
-+extern SETACL3res * nfsacl3_setacl_3_svc();
-+extern int nfsacl_program_3_freeresult ();
-+#endif /* K&R C */
-+
-+/* the xdr functions */
-+
-+#if defined(__STDC__) || defined(__cplusplus)
-+extern bool_t xdr_cookieverf3 (XDR *, cookieverf3);
-+extern bool_t xdr_uint64 (XDR *, uint64*);
-+extern bool_t xdr_cookie3 (XDR *, cookie3*);
-+extern bool_t xdr_nfs_fh3 (XDR *, nfs_fh3*);
-+extern bool_t xdr_filename3 (XDR *, filename3*);
-+extern bool_t xdr_diropargs3 (XDR *, diropargs3*);
-+extern bool_t xdr_ftype3 (XDR *, ftype3*);
-+extern bool_t xdr_mode3 (XDR *, mode3*);
-+extern bool_t xdr_uid3 (XDR *, uid3*);
-+extern bool_t xdr_gid3 (XDR *, gid3*);
-+extern bool_t xdr_size3 (XDR *, size3*);
-+extern bool_t xdr_fileid3 (XDR *, fileid3*);
-+extern bool_t xdr_specdata3 (XDR *, specdata3*);
-+extern bool_t xdr_nfstime3 (XDR *, nfstime3*);
-+extern bool_t xdr_fattr3 (XDR *, fattr3*);
-+extern bool_t xdr_post_op_attr (XDR *, post_op_attr*);
-+extern bool_t xdr_nfsstat3 (XDR *, nfsstat3*);
-+extern bool_t xdr_stable_how (XDR *, stable_how*);
-+extern bool_t xdr_offset3 (XDR *, offset3*);
-+extern bool_t xdr_count3 (XDR *, count3*);
-+extern bool_t xdr_wcc_attr (XDR *, wcc_attr*);
-+extern bool_t xdr_pre_op_attr (XDR *, pre_op_attr*);
-+extern bool_t xdr_wcc_data (XDR *, wcc_data*);
-+extern bool_t xdr_WRITE3args (XDR *, WRITE3args*);
-+extern bool_t xdr_writeverf3 (XDR *, writeverf3);
-+extern bool_t xdr_WRITE3resok (XDR *, WRITE3resok*);
-+extern bool_t xdr_WRITE3resfail (XDR *, WRITE3resfail*);
-+extern bool_t xdr_WRITE3res (XDR *, WRITE3res*);
-+extern bool_t xdr_LOOKUP3args (XDR *, LOOKUP3args*);
-+extern bool_t xdr_LOOKUP3resok (XDR *, LOOKUP3resok*);
-+extern bool_t xdr_LOOKUP3resfail (XDR *, LOOKUP3resfail*);
-+extern bool_t xdr_LOOKUP3res (XDR *, LOOKUP3res*);
-+extern bool_t xdr_COMMIT3args (XDR *, COMMIT3args*);
-+extern bool_t xdr_COMMIT3resok (XDR *, COMMIT3resok*);
-+extern bool_t xdr_COMMIT3resfail (XDR *, COMMIT3resfail*);
-+extern bool_t xdr_COMMIT3res (XDR *, COMMIT3res*);
-+extern bool_t xdr_ACCESS3args (XDR *, ACCESS3args*);
-+extern bool_t xdr_ACCESS3resok (XDR *, ACCESS3resok*);
-+extern bool_t xdr_ACCESS3resfail (XDR *, ACCESS3resfail*);
-+extern bool_t xdr_ACCESS3res (XDR *, ACCESS3res*);
-+extern bool_t xdr_GETATTR3args (XDR *, GETATTR3args*);
-+extern bool_t xdr_GETATTR3resok (XDR *, GETATTR3resok*);
-+extern bool_t xdr_GETATTR3res (XDR *, GETATTR3res*);
-+extern bool_t xdr_time_how (XDR *, time_how*);
-+extern bool_t xdr_set_mode3 (XDR *, set_mode3*);
-+extern bool_t xdr_set_uid3 (XDR *, set_uid3*);
-+extern bool_t xdr_set_gid3 (XDR *, set_gid3*);
-+extern bool_t xdr_set_size3 (XDR *, set_size3*);
-+extern bool_t xdr_set_atime (XDR *, set_atime*);
-+extern bool_t xdr_set_mtime (XDR *, set_mtime*);
-+extern bool_t xdr_sattr3 (XDR *, sattr3*);
-+extern bool_t xdr_createmode3 (XDR *, createmode3*);
-+extern bool_t xdr_createverf3 (XDR *, createverf3);
-+extern bool_t xdr_createhow3 (XDR *, createhow3*);
-+extern bool_t xdr_CREATE3args (XDR *, CREATE3args*);
-+extern bool_t xdr_post_op_fh3 (XDR *, post_op_fh3*);
-+extern bool_t xdr_CREATE3resok (XDR *, CREATE3resok*);
-+extern bool_t xdr_CREATE3resfail (XDR *, CREATE3resfail*);
-+extern bool_t xdr_CREATE3res (XDR *, CREATE3res*);
-+extern bool_t xdr_REMOVE3args (XDR *, REMOVE3args*);
-+extern bool_t xdr_REMOVE3resok (XDR *, REMOVE3resok*);
-+extern bool_t xdr_REMOVE3resfail (XDR *, REMOVE3resfail*);
-+extern bool_t xdr_REMOVE3res (XDR *, REMOVE3res*);
-+extern bool_t xdr_READ3args (XDR *, READ3args*);
-+extern bool_t xdr_READ3resok (XDR *, READ3resok*);
-+extern bool_t xdr_READ3resfail (XDR *, READ3resfail*);
-+extern bool_t xdr_READ3res (XDR *, READ3res*);
-+extern bool_t xdr_FSINFO3args (XDR *, FSINFO3args*);
-+extern bool_t xdr_FSINFO3resok (XDR *, FSINFO3resok*);
-+extern bool_t xdr_FSINFO3resfail (XDR *, FSINFO3resfail*);
-+extern bool_t xdr_FSINFO3res (XDR *, FSINFO3res*);
-+extern bool_t xdr_FSSTAT3args (XDR *, FSSTAT3args*);
-+extern bool_t xdr_FSSTAT3resok (XDR *, FSSTAT3resok*);
-+extern bool_t xdr_FSSTAT3resfail (XDR *, FSSTAT3resfail*);
-+extern bool_t xdr_FSSTAT3res (XDR *, FSSTAT3res*);
-+extern bool_t xdr_PATHCONF3args (XDR *, PATHCONF3args*);
-+extern bool_t xdr_PATHCONF3resok (XDR *, PATHCONF3resok*);
-+extern bool_t xdr_PATHCONF3resfail (XDR *, PATHCONF3resfail*);
-+extern bool_t xdr_PATHCONF3res (XDR *, PATHCONF3res*);
-+extern bool_t xdr_nfspath3 (XDR *, nfspath3*);
-+extern bool_t xdr_symlinkdata3 (XDR *, symlinkdata3*);
-+extern bool_t xdr_SYMLINK3args (XDR *, SYMLINK3args*);
-+extern bool_t xdr_SYMLINK3resok (XDR *, SYMLINK3resok*);
-+extern bool_t xdr_SYMLINK3resfail (XDR *, SYMLINK3resfail*);
-+extern bool_t xdr_SYMLINK3res (XDR *, SYMLINK3res*);
-+extern bool_t xdr_READLINK3args (XDR *, READLINK3args*);
-+extern bool_t xdr_READLINK3resok (XDR *, READLINK3resok*);
-+extern bool_t xdr_READLINK3resfail (XDR *, READLINK3resfail*);
-+extern bool_t xdr_READLINK3res (XDR *, READLINK3res*);
-+extern bool_t xdr_devicedata3 (XDR *, devicedata3*);
-+extern bool_t xdr_mknoddata3 (XDR *, mknoddata3*);
-+extern bool_t xdr_MKNOD3args (XDR *, MKNOD3args*);
-+extern bool_t xdr_MKNOD3resok (XDR *, MKNOD3resok*);
-+extern bool_t xdr_MKNOD3resfail (XDR *, MKNOD3resfail*);
-+extern bool_t xdr_MKNOD3res (XDR *, MKNOD3res*);
-+extern bool_t xdr_MKDIR3args (XDR *, MKDIR3args*);
-+extern bool_t xdr_MKDIR3resok (XDR *, MKDIR3resok*);
-+extern bool_t xdr_MKDIR3resfail (XDR *, MKDIR3resfail*);
-+extern bool_t xdr_MKDIR3res (XDR *, MKDIR3res*);
-+extern bool_t xdr_RMDIR3args (XDR *, RMDIR3args*);
-+extern bool_t xdr_RMDIR3resok (XDR *, RMDIR3resok*);
-+extern bool_t xdr_RMDIR3resfail (XDR *, RMDIR3resfail*);
-+extern bool_t xdr_RMDIR3res (XDR *, RMDIR3res*);
-+extern bool_t xdr_RENAME3args (XDR *, RENAME3args*);
-+extern bool_t xdr_RENAME3resok (XDR *, RENAME3resok*);
-+extern bool_t xdr_RENAME3resfail (XDR *, RENAME3resfail*);
-+extern bool_t xdr_RENAME3res (XDR *, RENAME3res*);
-+extern bool_t xdr_READDIRPLUS3args (XDR *, READDIRPLUS3args*);
-+extern bool_t xdr_entryplus3 (XDR *, entryplus3*);
-+extern bool_t xdr_dirlistplus3 (XDR *, dirlistplus3*);
-+extern bool_t xdr_READDIRPLUS3resok (XDR *, READDIRPLUS3resok*);
-+extern bool_t xdr_READDIRPLUS3resfail (XDR *, READDIRPLUS3resfail*);
-+extern bool_t xdr_READDIRPLUS3res (XDR *, READDIRPLUS3res*);
-+extern bool_t xdr_READDIR3args (XDR *, READDIR3args*);
-+extern bool_t xdr_entry3 (XDR *, entry3*);
-+extern bool_t xdr_dirlist3 (XDR *, dirlist3*);
-+extern bool_t xdr_READDIR3resok (XDR *, READDIR3resok*);
-+extern bool_t xdr_READDIR3resfail (XDR *, READDIR3resfail*);
-+extern bool_t xdr_READDIR3res (XDR *, READDIR3res*);
-+extern bool_t xdr_LINK3args (XDR *, LINK3args*);
-+extern bool_t xdr_LINK3resok (XDR *, LINK3resok*);
-+extern bool_t xdr_LINK3resfail (XDR *, LINK3resfail*);
-+extern bool_t xdr_LINK3res (XDR *, LINK3res*);
-+extern bool_t xdr_sattrguard3 (XDR *, sattrguard3*);
-+extern bool_t xdr_SETATTR3args (XDR *, SETATTR3args*);
-+extern bool_t xdr_SETATTR3resok (XDR *, SETATTR3resok*);
-+extern bool_t xdr_SETATTR3resfail (XDR *, SETATTR3resfail*);
-+extern bool_t xdr_SETATTR3res (XDR *, SETATTR3res*);
-+extern bool_t xdr_nfsacl_type (XDR *, nfsacl_type*);
-+extern bool_t xdr_nfsacl_ace (XDR *, nfsacl_ace*);
-+extern bool_t xdr_GETACL3args (XDR *, GETACL3args*);
-+extern bool_t xdr_GETACL3resok (XDR *, GETACL3resok*);
-+extern bool_t xdr_GETACL3res (XDR *, GETACL3res*);
-+extern bool_t xdr_SETACL3args (XDR *, SETACL3args*);
-+extern bool_t xdr_SETACL3resok (XDR *, SETACL3resok*);
-+extern bool_t xdr_SETACL3res (XDR *, SETACL3res*);
-+
-+#else /* K&R C */
-+extern bool_t xdr_cookieverf3 ();
-+extern bool_t xdr_uint64 ();
-+extern bool_t xdr_cookie3 ();
-+extern bool_t xdr_nfs_fh3 ();
-+extern bool_t xdr_filename3 ();
-+extern bool_t xdr_diropargs3 ();
-+extern bool_t xdr_ftype3 ();
-+extern bool_t xdr_mode3 ();
-+extern bool_t xdr_uid3 ();
-+extern bool_t xdr_gid3 ();
-+extern bool_t xdr_size3 ();
-+extern bool_t xdr_fileid3 ();
-+extern bool_t xdr_specdata3 ();
-+extern bool_t xdr_nfstime3 ();
-+extern bool_t xdr_fattr3 ();
-+extern bool_t xdr_post_op_attr ();
-+extern bool_t xdr_nfsstat3 ();
-+extern bool_t xdr_stable_how ();
-+extern bool_t xdr_offset3 ();
-+extern bool_t xdr_count3 ();
-+extern bool_t xdr_wcc_attr ();
-+extern bool_t xdr_pre_op_attr ();
-+extern bool_t xdr_wcc_data ();
-+extern bool_t xdr_WRITE3args ();
-+extern bool_t xdr_writeverf3 ();
-+extern bool_t xdr_WRITE3resok ();
-+extern bool_t xdr_WRITE3resfail ();
-+extern bool_t xdr_WRITE3res ();
-+extern bool_t xdr_LOOKUP3args ();
-+extern bool_t xdr_LOOKUP3resok ();
-+extern bool_t xdr_LOOKUP3resfail ();
-+extern bool_t xdr_LOOKUP3res ();
-+extern bool_t xdr_COMMIT3args ();
-+extern bool_t xdr_COMMIT3resok ();
-+extern bool_t xdr_COMMIT3resfail ();
-+extern bool_t xdr_COMMIT3res ();
-+extern bool_t xdr_ACCESS3args ();
-+extern bool_t xdr_ACCESS3resok ();
-+extern bool_t xdr_ACCESS3resfail ();
-+extern bool_t xdr_ACCESS3res ();
-+extern bool_t xdr_GETATTR3args ();
-+extern bool_t xdr_GETATTR3resok ();
-+extern bool_t xdr_GETATTR3res ();
-+extern bool_t xdr_time_how ();
-+extern bool_t xdr_set_mode3 ();
-+extern bool_t xdr_set_uid3 ();
-+extern bool_t xdr_set_gid3 ();
-+extern bool_t xdr_set_size3 ();
-+extern bool_t xdr_set_atime ();
-+extern bool_t xdr_set_mtime ();
-+extern bool_t xdr_sattr3 ();
-+extern bool_t xdr_createmode3 ();
-+extern bool_t xdr_createverf3 ();
-+extern bool_t xdr_createhow3 ();
-+extern bool_t xdr_CREATE3args ();
-+extern bool_t xdr_post_op_fh3 ();
-+extern bool_t xdr_CREATE3resok ();
-+extern bool_t xdr_CREATE3resfail ();
-+extern bool_t xdr_CREATE3res ();
-+extern bool_t xdr_REMOVE3args ();
-+extern bool_t xdr_REMOVE3resok ();
-+extern bool_t xdr_REMOVE3resfail ();
-+extern bool_t xdr_REMOVE3res ();
-+extern bool_t xdr_READ3args ();
-+extern bool_t xdr_READ3resok ();
-+extern bool_t xdr_READ3resfail ();
-+extern bool_t xdr_READ3res ();
-+extern bool_t xdr_FSINFO3args ();
-+extern bool_t xdr_FSINFO3resok ();
-+extern bool_t xdr_FSINFO3resfail ();
-+extern bool_t xdr_FSINFO3res ();
-+extern bool_t xdr_FSSTAT3args ();
-+extern bool_t xdr_FSSTAT3resok ();
-+extern bool_t xdr_FSSTAT3resfail ();
-+extern bool_t xdr_FSSTAT3res ();
-+extern bool_t xdr_PATHCONF3args ();
-+extern bool_t xdr_PATHCONF3resok ();
-+extern bool_t xdr_PATHCONF3resfail ();
-+extern bool_t xdr_PATHCONF3res ();
-+extern bool_t xdr_nfspath3 ();
-+extern bool_t xdr_symlinkdata3 ();
-+extern bool_t xdr_SYMLINK3args ();
-+extern bool_t xdr_SYMLINK3resok ();
-+extern bool_t xdr_SYMLINK3resfail ();
-+extern bool_t xdr_SYMLINK3res ();
-+extern bool_t xdr_READLINK3args ();
-+extern bool_t xdr_READLINK3resok ();
-+extern bool_t xdr_READLINK3resfail ();
-+extern bool_t xdr_READLINK3res ();
-+extern bool_t xdr_devicedata3 ();
-+extern bool_t xdr_mknoddata3 ();
-+extern bool_t xdr_MKNOD3args ();
-+extern bool_t xdr_MKNOD3resok ();
-+extern bool_t xdr_MKNOD3resfail ();
-+extern bool_t xdr_MKNOD3res ();
-+extern bool_t xdr_MKDIR3args ();
-+extern bool_t xdr_MKDIR3resok ();
-+extern bool_t xdr_MKDIR3resfail ();
-+extern bool_t xdr_MKDIR3res ();
-+extern bool_t xdr_RMDIR3args ();
-+extern bool_t xdr_RMDIR3resok ();
-+extern bool_t xdr_RMDIR3resfail ();
-+extern bool_t xdr_RMDIR3res ();
-+extern bool_t xdr_RENAME3args ();
-+extern bool_t xdr_RENAME3resok ();
-+extern bool_t xdr_RENAME3resfail ();
-+extern bool_t xdr_RENAME3res ();
-+extern bool_t xdr_READDIRPLUS3args ();
-+extern bool_t xdr_entryplus3 ();
-+extern bool_t xdr_dirlistplus3 ();
-+extern bool_t xdr_READDIRPLUS3resok ();
-+extern bool_t xdr_READDIRPLUS3resfail ();
-+extern bool_t xdr_READDIRPLUS3res ();
-+extern bool_t xdr_READDIR3args ();
-+extern bool_t xdr_entry3 ();
-+extern bool_t xdr_dirlist3 ();
-+extern bool_t xdr_READDIR3resok ();
-+extern bool_t xdr_READDIR3resfail ();
-+extern bool_t xdr_READDIR3res ();
-+extern bool_t xdr_LINK3args ();
-+extern bool_t xdr_LINK3resok ();
-+extern bool_t xdr_LINK3resfail ();
-+extern bool_t xdr_LINK3res ();
-+extern bool_t xdr_sattrguard3 ();
-+extern bool_t xdr_SETATTR3args ();
-+extern bool_t xdr_SETATTR3resok ();
-+extern bool_t xdr_SETATTR3resfail ();
-+extern bool_t xdr_SETATTR3res ();
-+extern bool_t xdr_nfsacl_type ();
-+extern bool_t xdr_nfsacl_ace ();
-+extern bool_t xdr_GETACL3args ();
-+extern bool_t xdr_GETACL3resok ();
-+extern bool_t xdr_GETACL3res ();
-+extern bool_t xdr_SETACL3args ();
-+extern bool_t xdr_SETACL3resok ();
-+extern bool_t xdr_SETACL3res ();
-+
-+#endif /* K&R C */
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif /* !_NFS_H_RPCGEN */
-+
---
-1.8.0
-