diff options
author | Carlo Landmeter <clandmeter@gmail.com> | 2012-12-05 10:32:55 +0100 |
---|---|---|
committer | Carlo Landmeter <clandmeter@gmail.com> | 2012-12-05 10:33:06 +0100 |
commit | 58c9ae525a1d2de4edfc273a4f0ae34448daf3c6 (patch) | |
tree | fbc6dd65d5505538c7edb139aaff7e7417a51df7 /testing/libnfs | |
parent | d67322bd53c811f4ce6b1ff2e1a188fb5f5bb927 (diff) | |
download | aports-58c9ae525a1d2de4edfc273a4f0ae34448daf3c6.tar.bz2 aports-58c9ae525a1d2de4edfc273a4f0ae34448daf3c6.tar.xz |
testing/libnfs: upgrade to 1.5.0
Diffstat (limited to 'testing/libnfs')
-rw-r--r-- | testing/libnfs/APKBUILD | 17 | ||||
-rw-r--r-- | testing/libnfs/remove-rpcgen.patch | 373 | ||||
-rw-r--r-- | testing/libnfs/rpcgen-issue.patch | 3591 |
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 - |