mount_xdr.c 2.8 KB
Newer Older
1 2 3 4 5 6 7 8
/*
 * Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 */
9 10 11 12 13 14 15 16 17 18 19 20 21
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#include "mount.h"
/* This file is copied from RFC1813
 * Copyright 1995 Sun Micrososystems (I assume)
 */

bool_t
xdr_fhandle3(register XDR *xdrs, fhandle3 *objp)
{
22
	if (!xdr_bytes(xdrs, (char **)&objp->fhandle3_val, (unsigned int *) &objp->fhandle3_len, FHSIZE3))
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_dirpath(register XDR *xdrs, dirpath *objp)
{
	if (!xdr_string(xdrs, objp, MNTPATHLEN))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_name(register XDR *xdrs, name *objp)
{
	if (!xdr_string(xdrs, objp, MNTNAMLEN))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_exports(register XDR *xdrs, exports *objp)
{
	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct exportnode), (xdrproc_t) xdr_exportnode))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_groups(register XDR *xdrs, groups *objp)
{
	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct groupnode), (xdrproc_t) xdr_groupnode))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_mountlist(register XDR *xdrs, mountlist *objp)
{
	if (!xdr_pointer(xdrs, (char **)objp, sizeof (struct mountbody), (xdrproc_t) xdr_mountbody))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_mountstat3(register XDR *xdrs, mountstat3 *objp)
{
	int enum_objp;

	enum_objp = *objp;

	if (!xdr_enum(xdrs, (enum_t *)&enum_objp))
	{
B
bernard 已提交
76
		*objp = (mountstat3)enum_objp;
77 78 79 80 81 82 83 84 85 86 87
		return (FALSE);
	}

	return (TRUE);
}

bool_t
xdr_mountres3_ok(register XDR *xdrs, mountres3_ok *objp)
{
	if (!xdr_fhandle3(xdrs, &objp->fhandle))
		return (FALSE);
88
	if (!xdr_array(xdrs, (char **)&objp->auth_flavors.auth_flavors_val, (unsigned int *) &objp->auth_flavors.auth_flavors_len, ~0,
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
		sizeof (int), (xdrproc_t) xdr_int))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_mountres3(register XDR *xdrs, mountres3 *objp)
{
	if (!xdr_mountstat3(xdrs, &objp->fhs_status))
		return (FALSE);
	switch (objp->fhs_status) {
	case MNT3_OK:
		if (!xdr_mountres3_ok(xdrs, &objp->mountres3_u.mountinfo))
			return (FALSE);
		break;
	}
	return (TRUE);
}

bool_t
xdr_mountbody(register XDR *xdrs, mountbody *objp)
{
	if (!xdr_name(xdrs, &objp->ml_hostname))
		return (FALSE);
	if (!xdr_dirpath(xdrs, &objp->ml_directory))
		return (FALSE);
	if (!xdr_mountlist(xdrs, &objp->ml_next))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_groupnode(register XDR *xdrs, groupnode *objp)
{
	if (!xdr_name(xdrs, &objp->gr_name))
		return (FALSE);
	if (!xdr_groups(xdrs, &objp->gr_next))
		return (FALSE);
	return (TRUE);
}

bool_t
xdr_exportnode(register XDR *xdrs, exportnode *objp)
{
	if (!xdr_dirpath(xdrs, &objp->ex_dir))
		return (FALSE);
	if (!xdr_groups(xdrs, &objp->ex_groups))
		return (FALSE);
	if (!xdr_exports(xdrs, &objp->ex_next))
		return (FALSE);
	return (TRUE);
}