コード例 #1
0
ファイル: nfsproto_xdr.c プロジェクト: garye/VCFS
bool_t
xdr_writeargs (XDR *xdrs, writeargs *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		 if (!xdr_nfs_fh (xdrs, &objp->file))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->beginoffset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->offset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->totalcount))
				 return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->beginoffset);
		IXDR_PUT_U_LONG(buf, objp->offset);
		IXDR_PUT_U_LONG(buf, objp->totalcount);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS_MAXDATA))
			 return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		 if (!xdr_nfs_fh (xdrs, &objp->file))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->beginoffset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->offset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->totalcount))
				 return FALSE;

		} else {
		objp->beginoffset = IXDR_GET_U_LONG(buf);
		objp->offset = IXDR_GET_U_LONG(buf);
		objp->totalcount = IXDR_GET_U_LONG(buf);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS_MAXDATA))
			 return FALSE;
	 return TRUE;
	}

	 if (!xdr_nfs_fh (xdrs, &objp->file))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->beginoffset))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->offset))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->totalcount))
		 return FALSE;
	 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS_MAXDATA))
		 return FALSE;
	return TRUE;
}
コード例 #2
0
ファイル: nfs_xdr.c プロジェクト: BillTheBest/k42
bool_t
xdr_writeargs (XDR *xdrs, writeargs *objp)
{
	 register long *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		 if (!xdr_nfsfhandle (xdrs, objp->file))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->beginoffset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->offset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->totalcount))
				 return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->beginoffset);
		IXDR_PUT_U_LONG(buf, objp->offset);
		IXDR_PUT_U_LONG(buf, objp->totalcount);
		}
		 if (!xdr_nfsdata (xdrs, &objp->data))
			 return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		 if (!xdr_nfsfhandle (xdrs, objp->file))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->beginoffset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->offset))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->totalcount))
				 return FALSE;

		} else {
		objp->beginoffset = IXDR_GET_U_LONG(buf);
		objp->offset = IXDR_GET_U_LONG(buf);
		objp->totalcount = IXDR_GET_U_LONG(buf);
		}
		 if (!xdr_nfsdata (xdrs, &objp->data))
			 return FALSE;
	 return TRUE;
	}

	 if (!xdr_nfsfhandle (xdrs, objp->file))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->beginoffset))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->offset))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->totalcount))
		 return FALSE;
	 if (!xdr_nfsdata (xdrs, &objp->data))
		 return FALSE;
	return TRUE;
}
コード例 #3
0
ファイル: ndmp3_xdr.c プロジェクト: TonyChiang/amanda
bool_t
xdr_ndmp3_execute_cdb_request (XDR *xdrs, ndmp3_execute_cdb_request *objp)
{
	register int32_t *buf;

	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_long (xdrs, &objp->flags))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->timeout))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->datain_len))
				return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->flags);
		IXDR_PUT_U_LONG(buf, objp->timeout);
		IXDR_PUT_U_LONG(buf, objp->datain_len);
		}
		if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
			return FALSE;
		if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
			return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_long (xdrs, &objp->flags))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->timeout))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->datain_len))
				return FALSE;

		} else {
		objp->flags = IXDR_GET_U_LONG(buf);
		objp->timeout = IXDR_GET_U_LONG(buf);
		objp->datain_len = IXDR_GET_U_LONG(buf);
		}
		if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
			return FALSE;
		if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
			return FALSE;
		return TRUE;
	}

	if (!xdr_u_long (xdrs, &objp->flags))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->timeout))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->datain_len))
		return FALSE;
	if (!xdr_bytes (xdrs, (char **)&objp->cdb.cdb_val, (u_int *) &objp->cdb.cdb_len, ~0))
		return FALSE;
	if (!xdr_bytes (xdrs, (char **)&objp->dataout.dataout_val, (u_int *) &objp->dataout.dataout_len, ~0))
		return FALSE;
	return TRUE;
}
コード例 #4
0
ファイル: xklm_prot.c プロジェクト: ArmstrongJ/MiNTLib
bool_t
xdr_klm_holder (XDR *xdrs, klm_holder *objp)
{
    register int32_t *buf;


    if (xdrs->x_op == XDR_ENCODE) {
        buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
        if (buf == NULL) {
            if (!xdr_bool (xdrs, &objp->exclusive))
                return FALSE;
            if (!xdr_int (xdrs, &objp->svid))
                return FALSE;
            if (!xdr_u_int (xdrs, &objp->l_offset))
                return FALSE;
            if (!xdr_u_int (xdrs, &objp->l_len))
                return FALSE;
        } else {
            IXDR_PUT_BOOL(buf, objp->exclusive);
            IXDR_PUT_LONG(buf, objp->svid);
            IXDR_PUT_U_LONG(buf, objp->l_offset);
            IXDR_PUT_U_LONG(buf, objp->l_len);
        }
        return TRUE;
    } else if (xdrs->x_op == XDR_DECODE) {
        buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
        if (buf == NULL) {
            if (!xdr_bool (xdrs, &objp->exclusive))
                return FALSE;
            if (!xdr_int (xdrs, &objp->svid))
                return FALSE;
            if (!xdr_u_int (xdrs, &objp->l_offset))
                return FALSE;
            if (!xdr_u_int (xdrs, &objp->l_len))
                return FALSE;
        } else {
            objp->exclusive = IXDR_GET_BOOL(buf);
            objp->svid = IXDR_GET_LONG(buf);
            objp->l_offset = IXDR_GET_U_LONG(buf);
            objp->l_len = IXDR_GET_U_LONG(buf);
        }
        return TRUE;
    }

    if (!xdr_bool (xdrs, &objp->exclusive))
        return FALSE;
    if (!xdr_int (xdrs, &objp->svid))
        return FALSE;
    if (!xdr_u_int (xdrs, &objp->l_offset))
        return FALSE;
    if (!xdr_u_int (xdrs, &objp->l_len))
        return FALSE;
    return TRUE;
}
コード例 #5
0
bool_t
xdr_call_args (XDR *xdrs, call_args *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->prog))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->vers))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->proc))
				 return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->prog);
		IXDR_PUT_U_LONG(buf, objp->vers);
		IXDR_PUT_U_LONG(buf, objp->proc);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->args.args_val, (u_int *) &objp->args.args_len, ~0))
			 return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->prog))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->vers))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->proc))
				 return FALSE;

		} else {
		objp->prog = IXDR_GET_U_LONG(buf);
		objp->vers = IXDR_GET_U_LONG(buf);
		objp->proc = IXDR_GET_U_LONG(buf);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->args.args_val, (u_int *) &objp->args.args_len, ~0))
			 return FALSE;
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->prog))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->vers))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->proc))
		 return FALSE;
	 if (!xdr_bytes (xdrs, (char **)&objp->args.args_val, (u_int *) &objp->args.args_len, ~0))
		 return FALSE;
	return TRUE;
}
コード例 #6
0
bool_t
xdr_mapping (XDR *xdrs, mapping *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->prog))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->vers))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->prot))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->port))
				 return FALSE;
		} else {
			IXDR_PUT_U_LONG(buf, objp->prog);
			IXDR_PUT_U_LONG(buf, objp->vers);
			IXDR_PUT_U_LONG(buf, objp->prot);
			IXDR_PUT_U_LONG(buf, objp->port);
		}
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->prog))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->vers))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->prot))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->port))
				 return FALSE;
		} else {
			objp->prog = IXDR_GET_U_LONG(buf);
			objp->vers = IXDR_GET_U_LONG(buf);
			objp->prot = IXDR_GET_U_LONG(buf);
			objp->port = IXDR_GET_U_LONG(buf);
		}
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->prog))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->vers))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->prot))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->port))
		 return FALSE;
	return TRUE;
}
コード例 #7
0
bool_t
xdr___env_cachesize_msg (XDR *xdrs, __env_cachesize_msg *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE(xdrs,4 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->dbenvcl_id))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->gbytes))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->bytes))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->ncache))
				 return FALSE;
		} else {
			IXDR_PUT_U_LONG(buf, objp->dbenvcl_id);
			IXDR_PUT_U_LONG(buf, objp->gbytes);
			IXDR_PUT_U_LONG(buf, objp->bytes);
			IXDR_PUT_U_LONG(buf, objp->ncache);
		}
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE(xdrs,4 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->dbenvcl_id))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->gbytes))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->bytes))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->ncache))
				 return FALSE;
		} else {
			objp->dbenvcl_id = IXDR_GET_U_LONG(buf);
			objp->gbytes = IXDR_GET_U_LONG(buf);
			objp->bytes = IXDR_GET_U_LONG(buf);
			objp->ncache = IXDR_GET_U_LONG(buf);
		}
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->dbenvcl_id))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->gbytes))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->bytes))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->ncache))
		 return FALSE;
	return TRUE;
}
コード例 #8
0
ファイル: daf_protocol_xdr.c プロジェクト: DaveSinclair/DAF
bool_t
xdr_remote_client_query_tag_outcome (XDR *xdrs, remote_client_query_tag_outcome *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_bool (xdrs, &objp->valid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->state))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->cmd_exit_code))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->cmd_exit_signal))
				 return FALSE;
		} else {
			IXDR_PUT_BOOL(buf, objp->valid);
			IXDR_PUT_U_LONG(buf, objp->state);
			IXDR_PUT_LONG(buf, objp->cmd_exit_code);
			IXDR_PUT_LONG(buf, objp->cmd_exit_signal);
		}
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_bool (xdrs, &objp->valid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->state))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->cmd_exit_code))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->cmd_exit_signal))
				 return FALSE;
		} else {
			objp->valid = IXDR_GET_BOOL(buf);
			objp->state = IXDR_GET_U_LONG(buf);
			objp->cmd_exit_code = IXDR_GET_LONG(buf);
			objp->cmd_exit_signal = IXDR_GET_LONG(buf);
		}
	 return TRUE;
	}

	 if (!xdr_bool (xdrs, &objp->valid))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->state))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->cmd_exit_code))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->cmd_exit_signal))
		 return FALSE;
	return TRUE;
}
コード例 #9
0
bool_t
xdr_sq_dqblk (XDR *xdrs, sq_dqblk *objp)
{
	register int32_t *buf ATTR_UNUSED;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 8 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->rq_bhardlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_bsoftlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_curblocks))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_fhardlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_fsoftlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_curfiles))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_btimeleft))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_ftimeleft))
				 return FALSE;
		} else {
			(void)IXDR_PUT_U_LONG(buf, objp->rq_bhardlimit);
			(void)IXDR_PUT_U_LONG(buf, objp->rq_bsoftlimit);
			(void)IXDR_PUT_U_LONG(buf, objp->rq_curblocks);
			(void)IXDR_PUT_U_LONG(buf, objp->rq_fhardlimit);
			(void)IXDR_PUT_U_LONG(buf, objp->rq_fsoftlimit);
			(void)IXDR_PUT_U_LONG(buf, objp->rq_curfiles);
			(void)IXDR_PUT_U_LONG(buf, objp->rq_btimeleft);
			(void)IXDR_PUT_U_LONG(buf, objp->rq_ftimeleft);
		}
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 8 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->rq_bhardlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_bsoftlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_curblocks))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_fhardlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_fsoftlimit))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_curfiles))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_btimeleft))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->rq_ftimeleft))
				 return FALSE;
		} else {
			objp->rq_bhardlimit = IXDR_GET_U_LONG(buf);
			objp->rq_bsoftlimit = IXDR_GET_U_LONG(buf);
			objp->rq_curblocks = IXDR_GET_U_LONG(buf);
			objp->rq_fhardlimit = IXDR_GET_U_LONG(buf);
			objp->rq_fsoftlimit = IXDR_GET_U_LONG(buf);
			objp->rq_curfiles = IXDR_GET_U_LONG(buf);
			objp->rq_btimeleft = IXDR_GET_U_LONG(buf);
			objp->rq_ftimeleft = IXDR_GET_U_LONG(buf);
		}
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->rq_bhardlimit))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->rq_bsoftlimit))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->rq_curblocks))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->rq_fhardlimit))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->rq_fsoftlimit))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->rq_curfiles))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->rq_btimeleft))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->rq_ftimeleft))
		 return FALSE;
	return TRUE;
}
コード例 #10
0
bool_t
xdr_fattr(XDR *xdrs, fattr *objp)
{

	 register long *buf;


	 if (xdrs->x_op == XDR_ENCODE) {
	 if (!xdr_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 {
		 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);
	  }
	 if (!xdr_nfstime(xdrs, &objp->atime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->mtime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->ctime)) {
		 return (FALSE);
	 }

 	 return (TRUE);
	} else if (xdrs->x_op == XDR_DECODE) {
	 if (!xdr_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 {
		 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);
	  }
	 if (!xdr_nfstime(xdrs, &objp->atime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->mtime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->ctime)) {
		 return (FALSE);
	 }
	 return(TRUE);
	}

	 if (!xdr_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_nfstime(xdrs, &objp->atime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->mtime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->ctime)) {
		 return (FALSE);
	 }
	return (TRUE);
}
コード例 #11
0
bool_t
xdr_statfsokres(XDR *xdrs, statfsokres *objp)
{

	 register long *buf;


	 if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE(xdrs,5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
		 if (!xdr_u_int(xdrs, &objp->tsize)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->bsize)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->blocks)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->bfree)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->bavail)) {
			 return (FALSE);
		 }

	  }
	  else {
		 IXDR_PUT_U_LONG(buf,objp->tsize);
		 IXDR_PUT_U_LONG(buf,objp->bsize);
		 IXDR_PUT_U_LONG(buf,objp->blocks);
		 IXDR_PUT_U_LONG(buf,objp->bfree);
		 IXDR_PUT_U_LONG(buf,objp->bavail);
	  }

 	 return (TRUE);
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE(xdrs,5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
		 if (!xdr_u_int(xdrs, &objp->tsize)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->bsize)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->blocks)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->bfree)) {
			 return (FALSE);
		 }
		 if (!xdr_u_int(xdrs, &objp->bavail)) {
			 return (FALSE);
		 }

	  }
	  else {
		 objp->tsize = IXDR_GET_U_LONG(buf);
		 objp->bsize = IXDR_GET_U_LONG(buf);
		 objp->blocks = IXDR_GET_U_LONG(buf);
		 objp->bfree = IXDR_GET_U_LONG(buf);
		 objp->bavail = IXDR_GET_U_LONG(buf);
	  }
	 return(TRUE);
	}

	 if (!xdr_u_int(xdrs, &objp->tsize)) {
		 return (FALSE);
	 }
	 if (!xdr_u_int(xdrs, &objp->bsize)) {
		 return (FALSE);
	 }
	 if (!xdr_u_int(xdrs, &objp->blocks)) {
		 return (FALSE);
	 }
	 if (!xdr_u_int(xdrs, &objp->bfree)) {
		 return (FALSE);
	 }
	 if (!xdr_u_int(xdrs, &objp->bavail)) {
		 return (FALSE);
	 }
	return (TRUE);
}
コード例 #12
0
bool_t
xdr_sattr(XDR *xdrs, sattr *objp)
{

	 register long *buf;


	 if (xdrs->x_op == XDR_ENCODE) {
	 buf = XDR_INLINE(xdrs,4 * BYTES_PER_XDR_UNIT);
	   if (buf == NULL) {
		 if (!xdr_u_int(xdrs, &objp->mode)) {
			 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);
		 }

	  }
	  else {
		 IXDR_PUT_U_LONG(buf,objp->mode);
		 IXDR_PUT_U_LONG(buf,objp->uid);
		 IXDR_PUT_U_LONG(buf,objp->gid);
		 IXDR_PUT_U_LONG(buf,objp->size);
	  }
	 if (!xdr_nfstime(xdrs, &objp->atime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->mtime)) {
		 return (FALSE);
	 }

 	 return (TRUE);
	} else if (xdrs->x_op == XDR_DECODE) {
	 buf = XDR_INLINE(xdrs,4 * BYTES_PER_XDR_UNIT);
	   if (buf == NULL) {
		 if (!xdr_u_int(xdrs, &objp->mode)) {
			 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);
		 }

	  }
	  else {
		 objp->mode = 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);
	  }
	 if (!xdr_nfstime(xdrs, &objp->atime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->mtime)) {
		 return (FALSE);
	 }
	 return(TRUE);
	}

	 if (!xdr_u_int(xdrs, &objp->mode)) {
		 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_nfstime(xdrs, &objp->atime)) {
		 return (FALSE);
	 }
	 if (!xdr_nfstime(xdrs, &objp->mtime)) {
		 return (FALSE);
	 }
	return (TRUE);
}
コード例 #13
0
ファイル: ndmp3_xdr.c プロジェクト: TonyChiang/amanda
bool_t
xdr_ndmp3_tape_get_state_reply (XDR *xdrs, ndmp3_tape_get_state_reply *objp)
{
	register int32_t *buf;

	if (xdrs->x_op == XDR_ENCODE) {
		if (!xdr_u_long (xdrs, &objp->invalid))
			return FALSE;
		if (!xdr_ndmp3_error (xdrs, &objp->error))
			return FALSE;
		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_long (xdrs, &objp->flags))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->file_num))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->soft_errors))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->block_size))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->blockno))
				return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->flags);
		IXDR_PUT_U_LONG(buf, objp->file_num);
		IXDR_PUT_U_LONG(buf, objp->soft_errors);
		IXDR_PUT_U_LONG(buf, objp->block_size);
		IXDR_PUT_U_LONG(buf, objp->blockno);
		}
		if (!xdr_ndmp3_u_quad (xdrs, &objp->total_space))
			return FALSE;
		if (!xdr_ndmp3_u_quad (xdrs, &objp->space_remain))
			return FALSE;
		if (!xdr_u_long (xdrs, &objp->partition))
			return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		if (!xdr_u_long (xdrs, &objp->invalid))
			return FALSE;
		if (!xdr_ndmp3_error (xdrs, &objp->error))
			return FALSE;
		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_long (xdrs, &objp->flags))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->file_num))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->soft_errors))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->block_size))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->blockno))
				return FALSE;

		} else {
		objp->flags = IXDR_GET_U_LONG(buf);
		objp->file_num = IXDR_GET_U_LONG(buf);
		objp->soft_errors = IXDR_GET_U_LONG(buf);
		objp->block_size = IXDR_GET_U_LONG(buf);
		objp->blockno = IXDR_GET_U_LONG(buf);
		}
		if (!xdr_ndmp3_u_quad (xdrs, &objp->total_space))
			return FALSE;
		if (!xdr_ndmp3_u_quad (xdrs, &objp->space_remain))
			return FALSE;
		if (!xdr_u_long (xdrs, &objp->partition))
			return FALSE;
		return TRUE;
	}

	if (!xdr_u_long (xdrs, &objp->invalid))
		return FALSE;
	if (!xdr_ndmp3_error (xdrs, &objp->error))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->flags))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->file_num))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->soft_errors))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->block_size))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->blockno))
		return FALSE;
	if (!xdr_ndmp3_u_quad (xdrs, &objp->total_space))
		return FALSE;
	if (!xdr_ndmp3_u_quad (xdrs, &objp->space_remain))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->partition))
		return FALSE;
	return TRUE;
}
コード例 #14
0
bool_t
xdr___db_put_msg (XDR *xdrs, __db_put_msg *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->dbpcl_id))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->txnpcl_id))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->keydlen))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->keydoff))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->keyflags))
				 return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->dbpcl_id);
		IXDR_PUT_U_LONG(buf, objp->txnpcl_id);
		IXDR_PUT_U_LONG(buf, objp->keydlen);
		IXDR_PUT_U_LONG(buf, objp->keydoff);
		IXDR_PUT_U_LONG(buf, objp->keyflags);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->keydata.keydata_val, (u_int *) &objp->keydata.keydata_len, ~0))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->datadlen))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->datadoff))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->dataflags))
				 return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->datadlen);
		IXDR_PUT_U_LONG(buf, objp->datadoff);
		IXDR_PUT_U_LONG(buf, objp->dataflags);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->datadata.datadata_val, (u_int *) &objp->datadata.datadata_len, ~0))
			 return FALSE;
		 if (!xdr_u_int (xdrs, &objp->flags))
			 return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->dbpcl_id))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->txnpcl_id))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->keydlen))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->keydoff))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->keyflags))
				 return FALSE;

		} else {
		objp->dbpcl_id = IXDR_GET_U_LONG(buf);
		objp->txnpcl_id = IXDR_GET_U_LONG(buf);
		objp->keydlen = IXDR_GET_U_LONG(buf);
		objp->keydoff = IXDR_GET_U_LONG(buf);
		objp->keyflags = IXDR_GET_U_LONG(buf);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->keydata.keydata_val, (u_int *) &objp->keydata.keydata_len, ~0))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->datadlen))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->datadoff))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->dataflags))
				 return FALSE;

		} else {
		objp->datadlen = IXDR_GET_U_LONG(buf);
		objp->datadoff = IXDR_GET_U_LONG(buf);
		objp->dataflags = IXDR_GET_U_LONG(buf);
		}
		 if (!xdr_bytes (xdrs, (char **)&objp->datadata.datadata_val, (u_int *) &objp->datadata.datadata_len, ~0))
			 return FALSE;
		 if (!xdr_u_int (xdrs, &objp->flags))
			 return FALSE;
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->dbpcl_id))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->txnpcl_id))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->keydlen))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->keydoff))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->keyflags))
		 return FALSE;
	 if (!xdr_bytes (xdrs, (char **)&objp->keydata.keydata_val, (u_int *) &objp->keydata.keydata_len, ~0))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->datadlen))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->datadoff))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->dataflags))
		 return FALSE;
	 if (!xdr_bytes (xdrs, (char **)&objp->datadata.datadata_val, (u_int *) &objp->datadata.datadata_len, ~0))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->flags))
		 return FALSE;
	return TRUE;
}
コード例 #15
0
ファイル: xrstat.c プロジェクト: leeymcj/RDMA_paging
bool_t
xdr_stats (XDR *xdrs, stats *objp)
{
	register int32_t *buf;

	int i;

	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, (10 +  CPUSTATES  + DK_NDRIVE )* BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_vector (xdrs, (char *)objp->cp_time, CPUSTATES,
				sizeof (int), (xdrproc_t) xdr_int))
				 return FALSE;
			 if (!xdr_vector (xdrs, (char *)objp->dk_xfer, DK_NDRIVE,
				sizeof (int), (xdrproc_t) xdr_int))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pgpgin))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pgpgout))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pswpin))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pswpout))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_intr))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_ipackets))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_ierrors))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_oerrors))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_collisions))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_opackets))
				 return FALSE;
		} else {
			{
				register int *genp;

				for (i = 0, genp = objp->cp_time;
					i < CPUSTATES; ++i) {
					IXDR_PUT_LONG(buf, *genp++);
				}
			}
			{
				register int *genp;

				for (i = 0, genp = objp->dk_xfer;
					i < DK_NDRIVE; ++i) {
					IXDR_PUT_LONG(buf, *genp++);
				}
			}
			IXDR_PUT_U_LONG(buf, objp->v_pgpgin);
			IXDR_PUT_U_LONG(buf, objp->v_pgpgout);
			IXDR_PUT_U_LONG(buf, objp->v_pswpin);
			IXDR_PUT_U_LONG(buf, objp->v_pswpout);
			IXDR_PUT_U_LONG(buf, objp->v_intr);
			IXDR_PUT_LONG(buf, objp->if_ipackets);
			IXDR_PUT_LONG(buf, objp->if_ierrors);
			IXDR_PUT_LONG(buf, objp->if_oerrors);
			IXDR_PUT_LONG(buf, objp->if_collisions);
			IXDR_PUT_LONG(buf, objp->if_opackets);
		}
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, (10 +  CPUSTATES  + DK_NDRIVE )* BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_vector (xdrs, (char *)objp->cp_time, CPUSTATES,
				sizeof (int), (xdrproc_t) xdr_int))
				 return FALSE;
			 if (!xdr_vector (xdrs, (char *)objp->dk_xfer, DK_NDRIVE,
				sizeof (int), (xdrproc_t) xdr_int))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pgpgin))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pgpgout))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pswpin))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_pswpout))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->v_intr))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_ipackets))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_ierrors))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_oerrors))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_collisions))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->if_opackets))
				 return FALSE;
		} else {
			{
				register int *genp;

				for (i = 0, genp = objp->cp_time;
					i < CPUSTATES; ++i) {
					*genp++ = IXDR_GET_LONG(buf);
				}
			}
			{
				register int *genp;

				for (i = 0, genp = objp->dk_xfer;
					i < DK_NDRIVE; ++i) {
					*genp++ = IXDR_GET_LONG(buf);
				}
			}
			objp->v_pgpgin = IXDR_GET_U_LONG(buf);
			objp->v_pgpgout = IXDR_GET_U_LONG(buf);
			objp->v_pswpin = IXDR_GET_U_LONG(buf);
			objp->v_pswpout = IXDR_GET_U_LONG(buf);
			objp->v_intr = IXDR_GET_U_LONG(buf);
			objp->if_ipackets = IXDR_GET_LONG(buf);
			objp->if_ierrors = IXDR_GET_LONG(buf);
			objp->if_oerrors = IXDR_GET_LONG(buf);
			objp->if_collisions = IXDR_GET_LONG(buf);
			objp->if_opackets = IXDR_GET_LONG(buf);
		}
	 return TRUE;
	}

	 if (!xdr_vector (xdrs, (char *)objp->cp_time, CPUSTATES,
		sizeof (int), (xdrproc_t) xdr_int))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->dk_xfer, DK_NDRIVE,
		sizeof (int), (xdrproc_t) xdr_int))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->v_pgpgin))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->v_pgpgout))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->v_pswpin))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->v_pswpout))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->v_intr))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->if_ipackets))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->if_ierrors))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->if_oerrors))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->if_collisions))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->if_opackets))
		 return FALSE;
	return TRUE;
}
コード例 #16
0
bool_t
xdr_auth_glusterfs_parms_v2 (XDR *xdrs, auth_glusterfs_parms_v2 *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_int (xdrs, &objp->pid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->uid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->gid))
				 return FALSE;

		} else {
		IXDR_PUT_LONG(buf, objp->pid);
		IXDR_PUT_U_LONG(buf, objp->uid);
		IXDR_PUT_U_LONG(buf, objp->gid);
		}
		 if (!xdr_array (xdrs, (char **)&objp->groups.groups_val, (u_int *) &objp->groups.groups_len, ~0,
			sizeof (u_int), (xdrproc_t) xdr_u_int))
			 return FALSE;
		 if (!xdr_bytes (xdrs, (char **)&objp->lk_owner.lk_owner_val, (u_int *) &objp->lk_owner.lk_owner_len, ~0))
			 return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_int (xdrs, &objp->pid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->uid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->gid))
				 return FALSE;

		} else {
		objp->pid = IXDR_GET_LONG(buf);
		objp->uid = IXDR_GET_U_LONG(buf);
		objp->gid = IXDR_GET_U_LONG(buf);
		}
		 if (!xdr_array (xdrs, (char **)&objp->groups.groups_val, (u_int *) &objp->groups.groups_len, ~0,
			sizeof (u_int), (xdrproc_t) xdr_u_int))
			 return FALSE;
		 if (!xdr_bytes (xdrs, (char **)&objp->lk_owner.lk_owner_val, (u_int *) &objp->lk_owner.lk_owner_len, ~0))
			 return FALSE;
	 return TRUE;
	}

	 if (!xdr_int (xdrs, &objp->pid))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->uid))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->gid))
		 return FALSE;
	 if (!xdr_array (xdrs, (char **)&objp->groups.groups_val, (u_int *) &objp->groups.groups_len, ~0,
		sizeof (u_int), (xdrproc_t) xdr_u_int))
		 return FALSE;
	 if (!xdr_bytes (xdrs, (char **)&objp->lk_owner.lk_owner_val, (u_int *) &objp->lk_owner.lk_owner_len, ~0))
		 return FALSE;
	return TRUE;
}
コード例 #17
0
ファイル: daf_protocol_xdr.c プロジェクト: DaveSinclair/DAF
bool_t
xdr_cmd_log_entry (XDR *xdrs, cmd_log_entry *objp)
{
	register int32_t *buf;

	int i;

	if (xdrs->x_op == XDR_ENCODE) {
		 if (!xdr_u_int (xdrs, &objp->tag))
			 return FALSE;
		 if (!xdr_u_int (xdrs, &objp->pid))
			 return FALSE;
		 if (!xdr_Iu32 (xdrs, &objp->workqueueID))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->state))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->status))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->start_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->end_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->timeout_at_time))
				 return FALSE;
			 if (!xdr_bool (xdrs, &objp->fail_on_timeout))
				 return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->state);
		IXDR_PUT_LONG(buf, objp->status);
		IXDR_PUT_U_LONG(buf, objp->start_time);
		IXDR_PUT_U_LONG(buf, objp->end_time);
		IXDR_PUT_U_LONG(buf, objp->timeout_at_time);
		IXDR_PUT_BOOL(buf, objp->fail_on_timeout);
		}
		 if (!xdr_vector (xdrs, (char *)objp->cmdstring, MAX_CMD_LEN,
			sizeof (char), (xdrproc_t) xdr_char))
			 return FALSE;
		 if (!xdr_vector (xdrs, (char *)objp->identstring, MAX_IDENT_LEN,
			sizeof (char), (xdrproc_t) xdr_char))
			 return FALSE;
		 if (!xdr_vector (xdrs, (char *)objp->agent_log_pathname, MAX_PATHNAME_LEN,
			sizeof (char), (xdrproc_t) xdr_char))
			 return FALSE;
		 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (cmd_log_entry), (xdrproc_t) xdr_cmd_log_entry))
			 return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		 if (!xdr_u_int (xdrs, &objp->tag))
			 return FALSE;
		 if (!xdr_u_int (xdrs, &objp->pid))
			 return FALSE;
		 if (!xdr_Iu32 (xdrs, &objp->workqueueID))
			 return FALSE;
		buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->state))
				 return FALSE;
			 if (!xdr_int (xdrs, &objp->status))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->start_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->end_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->timeout_at_time))
				 return FALSE;
			 if (!xdr_bool (xdrs, &objp->fail_on_timeout))
				 return FALSE;

		} else {
		objp->state = IXDR_GET_U_LONG(buf);
		objp->status = IXDR_GET_LONG(buf);
		objp->start_time = IXDR_GET_U_LONG(buf);
		objp->end_time = IXDR_GET_U_LONG(buf);
		objp->timeout_at_time = IXDR_GET_U_LONG(buf);
		objp->fail_on_timeout = IXDR_GET_BOOL(buf);
		}
		 if (!xdr_vector (xdrs, (char *)objp->cmdstring, MAX_CMD_LEN,
			sizeof (char), (xdrproc_t) xdr_char))
			 return FALSE;
		 if (!xdr_vector (xdrs, (char *)objp->identstring, MAX_IDENT_LEN,
			sizeof (char), (xdrproc_t) xdr_char))
			 return FALSE;
		 if (!xdr_vector (xdrs, (char *)objp->agent_log_pathname, MAX_PATHNAME_LEN,
			sizeof (char), (xdrproc_t) xdr_char))
			 return FALSE;
		 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (cmd_log_entry), (xdrproc_t) xdr_cmd_log_entry))
			 return FALSE;
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->tag))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->pid))
		 return FALSE;
	 if (!xdr_Iu32 (xdrs, &objp->workqueueID))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->state))
		 return FALSE;
	 if (!xdr_int (xdrs, &objp->status))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->start_time))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->end_time))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->timeout_at_time))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->fail_on_timeout))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->cmdstring, MAX_CMD_LEN,
		sizeof (char), (xdrproc_t) xdr_char))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->identstring, MAX_IDENT_LEN,
		sizeof (char), (xdrproc_t) xdr_char))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->agent_log_pathname, MAX_PATHNAME_LEN,
		sizeof (char), (xdrproc_t) xdr_char))
		 return FALSE;
	 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (cmd_log_entry), (xdrproc_t) xdr_cmd_log_entry))
		 return FALSE;
	return TRUE;
}
コード例 #18
0
ファイル: daf_protocol_xdr.c プロジェクト: DaveSinclair/DAF
bool_t
xdr_remote_client_query_cmds_outcome (XDR *xdrs, remote_client_query_cmds_outcome *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->num_CMD_INITIALISED_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_RUNNING_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_good_status_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_bad_status_commands))
				 return FALSE;
		} else {
			IXDR_PUT_U_LONG(buf, objp->num_CMD_INITIALISED_commands);
			IXDR_PUT_U_LONG(buf, objp->num_CMD_RUNNING_commands);
			IXDR_PUT_U_LONG(buf, objp->num_CMD_COMPLETED_commands);
			IXDR_PUT_U_LONG(buf, objp->num_CMD_COMPLETED_good_status_commands);
			IXDR_PUT_U_LONG(buf, objp->num_CMD_COMPLETED_bad_status_commands);
		}
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->num_CMD_INITIALISED_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_RUNNING_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_good_status_commands))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_bad_status_commands))
				 return FALSE;
		} else {
			objp->num_CMD_INITIALISED_commands = IXDR_GET_U_LONG(buf);
			objp->num_CMD_RUNNING_commands = IXDR_GET_U_LONG(buf);
			objp->num_CMD_COMPLETED_commands = IXDR_GET_U_LONG(buf);
			objp->num_CMD_COMPLETED_good_status_commands = IXDR_GET_U_LONG(buf);
			objp->num_CMD_COMPLETED_bad_status_commands = IXDR_GET_U_LONG(buf);
		}
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->num_CMD_INITIALISED_commands))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->num_CMD_RUNNING_commands))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_commands))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_good_status_commands))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->num_CMD_COMPLETED_bad_status_commands))
		 return FALSE;
	return TRUE;
}
コード例 #19
0
ファイル: daf_protocol_xdr.c プロジェクト: DaveSinclair/DAF
bool_t
xdr_remote_client_query_cmdlog_outcome (XDR *xdrs, remote_client_query_cmdlog_outcome *objp)
{
	register int32_t *buf;


	if (xdrs->x_op == XDR_ENCODE) {
		buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->tag))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->pid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->state))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->status))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->start_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->end_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->timeout_at_time))
				 return FALSE;
			 if (!xdr_bool (xdrs, &objp->fail_on_timeout))
				 return FALSE;
			 if (!xdr_bool (xdrs, &objp->last))
				 return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->tag);
		IXDR_PUT_U_LONG(buf, objp->pid);
		IXDR_PUT_U_LONG(buf, objp->state);
		IXDR_PUT_U_LONG(buf, objp->status);
		IXDR_PUT_U_LONG(buf, objp->start_time);
		IXDR_PUT_U_LONG(buf, objp->end_time);
		IXDR_PUT_U_LONG(buf, objp->timeout_at_time);
		IXDR_PUT_BOOL(buf, objp->fail_on_timeout);
		IXDR_PUT_BOOL(buf, objp->last);
		}
		 if (!xdr_string (xdrs, &objp->cmdstring, MAX_CMD_LEN))
			 return FALSE;
		 if (!xdr_string (xdrs, &objp->identstring, MAX_IDENT_LEN))
			 return FALSE;
		 if (!xdr_u_int (xdrs, &objp->workqueueID))
			 return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->tag))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->pid))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->state))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->status))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->start_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->end_time))
				 return FALSE;
			 if (!xdr_u_int (xdrs, &objp->timeout_at_time))
				 return FALSE;
			 if (!xdr_bool (xdrs, &objp->fail_on_timeout))
				 return FALSE;
			 if (!xdr_bool (xdrs, &objp->last))
				 return FALSE;

		} else {
		objp->tag = IXDR_GET_U_LONG(buf);
		objp->pid = IXDR_GET_U_LONG(buf);
		objp->state = IXDR_GET_U_LONG(buf);
		objp->status = IXDR_GET_U_LONG(buf);
		objp->start_time = IXDR_GET_U_LONG(buf);
		objp->end_time = IXDR_GET_U_LONG(buf);
		objp->timeout_at_time = IXDR_GET_U_LONG(buf);
		objp->fail_on_timeout = IXDR_GET_BOOL(buf);
		objp->last = IXDR_GET_BOOL(buf);
		}
		 if (!xdr_string (xdrs, &objp->cmdstring, MAX_CMD_LEN))
			 return FALSE;
		 if (!xdr_string (xdrs, &objp->identstring, MAX_IDENT_LEN))
			 return FALSE;
		 if (!xdr_u_int (xdrs, &objp->workqueueID))
			 return FALSE;
	 return TRUE;
	}

	 if (!xdr_u_int (xdrs, &objp->tag))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->pid))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->state))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->status))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->start_time))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->end_time))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->timeout_at_time))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->fail_on_timeout))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->last))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->cmdstring, MAX_CMD_LEN))
		 return FALSE;
	 if (!xdr_string (xdrs, &objp->identstring, MAX_IDENT_LEN))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->workqueueID))
		 return FALSE;
	return TRUE;
}
コード例 #20
0
bool_t
xdr_auth_glusterfs_parms (XDR *xdrs, auth_glusterfs_parms *objp)
{
	register int32_t *buf;

	int i;

	if (xdrs->x_op == XDR_ENCODE) {
		 if (!xdr_u_quad_t (xdrs, &objp->lk_owner))
			 return FALSE;
		buf = XDR_INLINE (xdrs, (4 +  16 )* BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->pid))
				 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->ngrps))
				 return FALSE;
			 if (!xdr_vector (xdrs, (char *)objp->groups, 16,
				sizeof (u_int), (xdrproc_t) xdr_u_int))
				 return FALSE;
		} else {
			IXDR_PUT_U_LONG(buf, objp->pid);
			IXDR_PUT_U_LONG(buf, objp->uid);
			IXDR_PUT_U_LONG(buf, objp->gid);
			IXDR_PUT_U_LONG(buf, objp->ngrps);
			{
				register u_int *genp;

				for (i = 0, genp = objp->groups;
					i < 16; ++i) {
					IXDR_PUT_U_LONG(buf, *genp++);
				}
			}
		}
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		 if (!xdr_u_quad_t (xdrs, &objp->lk_owner))
			 return FALSE;
		buf = XDR_INLINE (xdrs, (4 +  16 )* BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			 if (!xdr_u_int (xdrs, &objp->pid))
				 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->ngrps))
				 return FALSE;
			 if (!xdr_vector (xdrs, (char *)objp->groups, 16,
				sizeof (u_int), (xdrproc_t) xdr_u_int))
				 return FALSE;
		} else {
			objp->pid = IXDR_GET_U_LONG(buf);
			objp->uid = IXDR_GET_U_LONG(buf);
			objp->gid = IXDR_GET_U_LONG(buf);
			objp->ngrps = IXDR_GET_U_LONG(buf);
			{
				register u_int *genp;

				for (i = 0, genp = objp->groups;
					i < 16; ++i) {
					*genp++ = IXDR_GET_U_LONG(buf);
				}
			}
		}
	 return TRUE;
	}

	 if (!xdr_u_quad_t (xdrs, &objp->lk_owner))
		 return FALSE;
	 if (!xdr_u_int (xdrs, &objp->pid))
		 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->ngrps))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->groups, 16,
		sizeof (u_int), (xdrproc_t) xdr_u_int))
		 return FALSE;
	return TRUE;
}
コード例 #21
0
ファイル: ndmp3_xdr.c プロジェクト: TonyChiang/amanda
bool_t
xdr_ndmp3_file_stat (XDR *xdrs, ndmp3_file_stat *objp)
{
	register int32_t *buf;

	if (xdrs->x_op == XDR_ENCODE) {
		if (!xdr_u_long (xdrs, &objp->invalid))
			return FALSE;
		if (!xdr_ndmp3_fs_type (xdrs, &objp->fs_type))
			return FALSE;
		if (!xdr_ndmp3_file_type (xdrs, &objp->ftype))
			return FALSE;
		buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_long (xdrs, &objp->mtime))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->atime))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->ctime))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->owner))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->group))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->fattr))
				return FALSE;

		} else {
		IXDR_PUT_U_LONG(buf, objp->mtime);
		IXDR_PUT_U_LONG(buf, objp->atime);
		IXDR_PUT_U_LONG(buf, objp->ctime);
		IXDR_PUT_U_LONG(buf, objp->owner);
		IXDR_PUT_U_LONG(buf, objp->group);
		IXDR_PUT_U_LONG(buf, objp->fattr);
		}
		if (!xdr_ndmp3_u_quad (xdrs, &objp->size))
			return FALSE;
		if (!xdr_u_long (xdrs, &objp->links))
			return FALSE;
		return TRUE;
	} else if (xdrs->x_op == XDR_DECODE) {
		if (!xdr_u_long (xdrs, &objp->invalid))
			return FALSE;
		if (!xdr_ndmp3_fs_type (xdrs, &objp->fs_type))
			return FALSE;
		if (!xdr_ndmp3_file_type (xdrs, &objp->ftype))
			return FALSE;
		buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
		if (buf == NULL) {
			if (!xdr_u_long (xdrs, &objp->mtime))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->atime))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->ctime))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->owner))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->group))
				return FALSE;
			if (!xdr_u_long (xdrs, &objp->fattr))
				return FALSE;

		} else {
		objp->mtime = IXDR_GET_U_LONG(buf);
		objp->atime = IXDR_GET_U_LONG(buf);
		objp->ctime = IXDR_GET_U_LONG(buf);
		objp->owner = IXDR_GET_U_LONG(buf);
		objp->group = IXDR_GET_U_LONG(buf);
		objp->fattr = IXDR_GET_U_LONG(buf);
		}
		if (!xdr_ndmp3_u_quad (xdrs, &objp->size))
			return FALSE;
		if (!xdr_u_long (xdrs, &objp->links))
			return FALSE;
		return TRUE;
	}

	if (!xdr_u_long (xdrs, &objp->invalid))
		return FALSE;
	if (!xdr_ndmp3_fs_type (xdrs, &objp->fs_type))
		return FALSE;
	if (!xdr_ndmp3_file_type (xdrs, &objp->ftype))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->mtime))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->atime))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->ctime))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->owner))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->group))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->fattr))
		return FALSE;
	if (!xdr_ndmp3_u_quad (xdrs, &objp->size))
		return FALSE;
	if (!xdr_u_long (xdrs, &objp->links))
		return FALSE;
	return TRUE;
}