/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#include "webnfs.h"

#ifndef _KERNEL
#include <stdlib.h>
#endif /* !_KERNEL */


bool_t
xdr_wnl_stat(XDR *xdrs, wnl_stat *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_enum(xdrs, (enum_t *)objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_ftype(XDR *xdrs, wnl_ftype *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_enum(xdrs, (enum_t *)objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_fh(XDR *xdrs, wnl_fh *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_opaque(xdrs, objp->data, WNL_FHSIZE))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_time(XDR *xdrs, wnl_time *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_u_int(xdrs, &objp->seconds))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->useconds))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_fattr(XDR *xdrs, wnl_fattr *objp)
{

	rpc_inline_t *buf __unused;


	if (xdrs->x_op == XDR_ENCODE) {
		if (!xdr_wnl_ftype(xdrs, &objp->type))
			return (FALSE);
		buf = XDR_INLINE(xdrs, 10 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_int(xdrs, &objp->mode))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->nlink))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->uid))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->gid))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->size))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->blocksize))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->rdev))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->blocks))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->fsid))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->fileid))
				return (FALSE);
		} else {
#if defined(_LP64) || defined(_KERNEL)
			IXDR_PUT_U_INT32(buf, objp->mode);
			IXDR_PUT_U_INT32(buf, objp->nlink);
			IXDR_PUT_U_INT32(buf, objp->uid);
			IXDR_PUT_U_INT32(buf, objp->gid);
			IXDR_PUT_U_INT32(buf, objp->size);
			IXDR_PUT_U_INT32(buf, objp->blocksize);
			IXDR_PUT_U_INT32(buf, objp->rdev);
			IXDR_PUT_U_INT32(buf, objp->blocks);
			IXDR_PUT_U_INT32(buf, objp->fsid);
			IXDR_PUT_U_INT32(buf, objp->fileid);
#else
			IXDR_PUT_U_LONG(buf, objp->mode);
			IXDR_PUT_U_LONG(buf, objp->nlink);
			IXDR_PUT_U_LONG(buf, objp->uid);
			IXDR_PUT_U_LONG(buf, objp->gid);
			IXDR_PUT_U_LONG(buf, objp->size);
			IXDR_PUT_U_LONG(buf, objp->blocksize);
			IXDR_PUT_U_LONG(buf, objp->rdev);
			IXDR_PUT_U_LONG(buf, objp->blocks);
			IXDR_PUT_U_LONG(buf, objp->fsid);
			IXDR_PUT_U_LONG(buf, objp->fileid);
#endif
		}
		if (!xdr_wnl_time(xdrs, &objp->atime))
			return (FALSE);
		if (!xdr_wnl_time(xdrs, &objp->mtime))
			return (FALSE);
		if (!xdr_wnl_time(xdrs, &objp->ctime))
			return (FALSE);
		return (TRUE);
	} else if (xdrs->x_op == XDR_DECODE) {
		if (!xdr_wnl_ftype(xdrs, &objp->type))
			return (FALSE);
		buf = XDR_INLINE(xdrs, 10 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_int(xdrs, &objp->mode))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->nlink))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->uid))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->gid))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->size))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->blocksize))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->rdev))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->blocks))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->fsid))
				return (FALSE);
			if (!xdr_u_int(xdrs, &objp->fileid))
				return (FALSE);
		} else {
#if defined(_LP64) || defined(_KERNEL)
			objp->mode = IXDR_GET_U_INT32(buf);
			objp->nlink = IXDR_GET_U_INT32(buf);
			objp->uid = IXDR_GET_U_INT32(buf);
			objp->gid = IXDR_GET_U_INT32(buf);
			objp->size = IXDR_GET_U_INT32(buf);
			objp->blocksize = IXDR_GET_U_INT32(buf);
			objp->rdev = IXDR_GET_U_INT32(buf);
			objp->blocks = IXDR_GET_U_INT32(buf);
			objp->fsid = IXDR_GET_U_INT32(buf);
			objp->fileid = IXDR_GET_U_INT32(buf);
#else
			objp->mode = IXDR_GET_U_LONG(buf);
			objp->nlink = IXDR_GET_U_LONG(buf);
			objp->uid = IXDR_GET_U_LONG(buf);
			objp->gid = IXDR_GET_U_LONG(buf);
			objp->size = IXDR_GET_U_LONG(buf);
			objp->blocksize = IXDR_GET_U_LONG(buf);
			objp->rdev = IXDR_GET_U_LONG(buf);
			objp->blocks = IXDR_GET_U_LONG(buf);
			objp->fsid = IXDR_GET_U_LONG(buf);
			objp->fileid = IXDR_GET_U_LONG(buf);
#endif
		}
		if (!xdr_wnl_time(xdrs, &objp->atime))
			return (FALSE);
		if (!xdr_wnl_time(xdrs, &objp->mtime))
			return (FALSE);
		if (!xdr_wnl_time(xdrs, &objp->ctime))
			return (FALSE);
		return (TRUE);
	}

	if (!xdr_wnl_ftype(xdrs, &objp->type))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->mode))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->nlink))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->uid))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->gid))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->size))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->blocksize))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->rdev))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->blocks))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->fsid))
		return (FALSE);
	if (!xdr_u_int(xdrs, &objp->fileid))
		return (FALSE);
	if (!xdr_wnl_time(xdrs, &objp->atime))
		return (FALSE);
	if (!xdr_wnl_time(xdrs, &objp->mtime))
		return (FALSE);
	if (!xdr_wnl_time(xdrs, &objp->ctime))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_filename(XDR *xdrs, wnl_filename *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_string(xdrs, objp, WNL_MAXNAMLEN))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_diropargs(XDR *xdrs, wnl_diropargs *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_fh(xdrs, &objp->dir))
		return (FALSE);
	if (!xdr_wnl_filename(xdrs, &objp->name))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_diropokres(XDR *xdrs, wnl_diropokres *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_fh(xdrs, &objp->file))
		return (FALSE);
	if (!xdr_wnl_fattr(xdrs, &objp->attributes))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_diropres(XDR *xdrs, wnl_diropres *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_stat(xdrs, &objp->status))
		return (FALSE);
	switch (objp->status) {
	case WNL_OK:
		if (!xdr_wnl_diropokres(xdrs, &objp->wnl_diropres_u.wnl_diropres))
			return (FALSE);
		break;
	default:
		break;
	}
	return (TRUE);
}

bool_t
xdr_wnl_uint64(XDR *xdrs, wnl_uint64 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_u_longlong_t(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_int64(XDR *xdrs, wnl_int64 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_longlong_t(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_uint32(XDR *xdrs, wnl_uint32 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_u_int(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_filename3(XDR *xdrs, wnl_filename3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_string(xdrs, objp, ~0))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_fileid3(XDR *xdrs, wnl_fileid3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_uint64(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_uid3(XDR *xdrs, wnl_uid3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_uint32(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_gid3(XDR *xdrs, wnl_gid3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_uint32(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_size3(XDR *xdrs, wnl_size3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_uint64(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_mode3(XDR *xdrs, wnl_mode3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_uint32(xdrs, objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_stat3(XDR *xdrs, wnl_stat3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_enum(xdrs, (enum_t *)objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_ftype3(XDR *xdrs, wnl_ftype3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_enum(xdrs, (enum_t *)objp))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_specdata3(XDR *xdrs, wnl_specdata3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_uint32(xdrs, &objp->specdata1))
		return (FALSE);
	if (!xdr_wnl_uint32(xdrs, &objp->specdata2))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_fh3(XDR *xdrs, wnl_fh3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, WNL3_FHSIZE))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_time3(XDR *xdrs, wnl_time3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_uint32(xdrs, &objp->seconds))
		return (FALSE);
	if (!xdr_wnl_uint32(xdrs, &objp->nseconds))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_fattr3(XDR *xdrs, wnl_fattr3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_ftype3(xdrs, &objp->type))
		return (FALSE);
	if (!xdr_wnl_mode3(xdrs, &objp->mode))
		return (FALSE);
	if (!xdr_wnl_uint32(xdrs, &objp->nlink))
		return (FALSE);
	if (!xdr_wnl_uid3(xdrs, &objp->uid))
		return (FALSE);
	if (!xdr_wnl_gid3(xdrs, &objp->gid))
		return (FALSE);
	if (!xdr_wnl_size3(xdrs, &objp->size))
		return (FALSE);
	if (!xdr_wnl_size3(xdrs, &objp->used))
		return (FALSE);
	if (!xdr_wnl_specdata3(xdrs, &objp->rdev))
		return (FALSE);
	if (!xdr_wnl_uint64(xdrs, &objp->fsid))
		return (FALSE);
	if (!xdr_wnl_fileid3(xdrs, &objp->fileid))
		return (FALSE);
	if (!xdr_wnl_time3(xdrs, &objp->atime))
		return (FALSE);
	if (!xdr_wnl_time3(xdrs, &objp->mtime))
		return (FALSE);
	if (!xdr_wnl_time3(xdrs, &objp->ctime))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_wnl_post_op_attr(XDR *xdrs, wnl_post_op_attr *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_bool(xdrs, &objp->attributes_follow))
		return (FALSE);
	switch (objp->attributes_follow) {
	case TRUE:
		if (!xdr_wnl_fattr3(xdrs, &objp->wnl_post_op_attr_u.attributes))
			return (FALSE);
		break;
	case FALSE:
		break;
	default:
		return (FALSE);
	}
	return (TRUE);
}

bool_t
xdr_wln_post_op_fh3(XDR *xdrs, wln_post_op_fh3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_bool(xdrs, &objp->handle_follows))
		return (FALSE);
	switch (objp->handle_follows) {
	case TRUE:
		if (!xdr_wnl_fh3(xdrs, &objp->wln_post_op_fh3_u.handle))
			return (FALSE);
		break;
	case FALSE:
		break;
	default:
		return (FALSE);
	}
	return (TRUE);
}

bool_t
xdr_wnl_diropargs3(XDR *xdrs, wnl_diropargs3 *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_fh3(xdrs, &objp->dir))
		return (FALSE);
	if (!xdr_wnl_filename3(xdrs, &objp->name))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_WNL_LOOKUP3args(XDR *xdrs, WNL_LOOKUP3args *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_diropargs3(xdrs, &objp->what))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_WNL_LOOKUP3resok(XDR *xdrs, WNL_LOOKUP3resok *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_fh3(xdrs, &objp->object))
		return (FALSE);
	if (!xdr_wnl_post_op_attr(xdrs, &objp->obj_attributes))
		return (FALSE);
	if (!xdr_wnl_post_op_attr(xdrs, &objp->dir_attributes))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_WNL_LOOKUP3resfail(XDR *xdrs, WNL_LOOKUP3resfail *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_post_op_attr(xdrs, &objp->dir_attributes))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_WNL_LOOKUP3res(XDR *xdrs, WNL_LOOKUP3res *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_wnl_stat3(xdrs, &objp->status))
		return (FALSE);
	switch (objp->status) {
	case WNL3_OK:
		if (!xdr_WNL_LOOKUP3resok(xdrs, &objp->WNL_LOOKUP3res_u.res_ok))
			return (FALSE);
		break;
	default:
		if (!xdr_WNL_LOOKUP3resfail(xdrs, &objp->WNL_LOOKUP3res_u.res_fail))
			return (FALSE);
		break;
	}
	return (TRUE);
}

bool_t
xdr_snego_t(XDR *xdrs, snego_t *objp)
{

	rpc_inline_t *buf __unused;

	int i;

	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE(xdrs, (1 + (MAX_FLAVORS)) * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_int(xdrs, &objp->cnt))
				return (FALSE);
			if (!xdr_vector(xdrs, (char *)objp->array, MAX_FLAVORS,
				sizeof (int), (xdrproc_t)xdr_int))
				return (FALSE);
		} else {
#if defined(_LP64) || defined(_KERNEL)
			IXDR_PUT_INT32(buf, objp->cnt);
			{
				int *genp;

				for (i = 0, genp = objp->array;
					i < MAX_FLAVORS; i++) {
					IXDR_PUT_INT32(buf, *genp++);
				}
			}
#else
			IXDR_PUT_LONG(buf, objp->cnt);
			{
				int *genp;

				for (i = 0, genp = objp->array;
					i < MAX_FLAVORS; i++) {
					IXDR_PUT_LONG(buf, *genp++);
				}
			}
#endif
		}
		return (TRUE);
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE(xdrs, (1 + (MAX_FLAVORS)) * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_int(xdrs, &objp->cnt))
				return (FALSE);
			if (!xdr_vector(xdrs, (char *)objp->array, MAX_FLAVORS,
				sizeof (int), (xdrproc_t)xdr_int))
				return (FALSE);
		} else {
#if defined(_LP64) || defined(_KERNEL)
			objp->cnt = IXDR_GET_INT32(buf);
			{
				int *genp;

				for (i = 0, genp = objp->array;
					i < MAX_FLAVORS; i++) {
					*genp++ = IXDR_GET_INT32(buf);
				}
			}
#else
			objp->cnt = IXDR_GET_LONG(buf);
			{
				int *genp;

				for (i = 0, genp = objp->array;
					i < MAX_FLAVORS; i++) {
					*genp++ = IXDR_GET_LONG(buf);
				}
			}
#endif
		}
		return (TRUE);
	}

	if (!xdr_int(xdrs, &objp->cnt))
		return (FALSE);
	if (!xdr_vector(xdrs, (char *)objp->array, MAX_FLAVORS,
		sizeof (int), (xdrproc_t)xdr_int))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_snego_stat(XDR *xdrs, snego_stat *objp)
{

	rpc_inline_t *buf __unused;

	if (!xdr_enum(xdrs, (enum_t *)objp))
		return (FALSE);
	return (TRUE);
}
