/* * Please do not edit this file. * It was generated using rpcgen. */ #include "ypxfrd.h" #ifndef _KERNEL #include #endif /* !_KERNEL */ /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * Copyright 1989 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" /* * This is NOT source code! * DO NOT EDIT THIS FILE! */ bool_t xdr_answer(XDR *xdrs, answer *objp) { rpc_inline_t *buf; if (!xdr_enum(xdrs, (enum_t *)objp)) return (FALSE); return (TRUE); } bool_t xdr_pagblock(XDR *xdrs, pagblock objp) { rpc_inline_t *buf; if (!xdr_opaque(xdrs, objp, PBLEN)) return (FALSE); return (TRUE); } bool_t xdr_dirblock(XDR *xdrs, dirblock objp) { rpc_inline_t *buf; if (!xdr_opaque(xdrs, objp, DBLEN)) return (FALSE); return (TRUE); } bool_t xdr_pathname(XDR *xdrs, pathname *objp) { rpc_inline_t *buf; if (!xdr_string(xdrs, objp, 1024)) return (FALSE); return (TRUE); } bool_t xdr_hosereq(XDR *xdrs, hosereq *objp) { rpc_inline_t *buf; if (!xdr_pathname(xdrs, &objp->map)) return (FALSE); if (!xdr_pathname(xdrs, &objp->domain)) return (FALSE); return (TRUE); } bool_t xdr_pagdat(XDR *xdrs, pagdat *objp) { rpc_inline_t *buf; if (!xdr_int(xdrs, &objp->blkno)) return (FALSE); if (!xdr_pagblock(xdrs, objp->blkdat)) return (FALSE); return (TRUE); } bool_t xdr_dirdat(XDR *xdrs, dirdat *objp) { rpc_inline_t *buf; if (!xdr_int(xdrs, &objp->blkno)) return (FALSE); if (!xdr_dirblock(xdrs, objp->blkdat)) return (FALSE); return (TRUE); } bool_t xdr_pag(XDR *xdrs, pag *objp) { rpc_inline_t *buf; if (!xdr_answer(xdrs, &objp->status)) return (FALSE); switch (objp->status) { case OK: if (!xdr_pagdat(xdrs, &objp->pag_u.ok)) return (FALSE); break; } return (TRUE); } bool_t xdr_paglist(XDR *xdrs, paglist *objp) { rpc_inline_t *buf; paglist *tmp_paglist; bool_t more_data = TRUE; bool_t first_objp = TRUE; if (xdrs->x_op == XDR_DECODE) { while (more_data) { void bzero(); if (!xdr_pag(xdrs, &objp->d)) return (FALSE); if (!xdr_bool(xdrs, &more_data)) return (FALSE); if (!more_data) { objp->next = NULL; break; } if (objp->next == NULL) { objp->next = (paglist *) mem_alloc(sizeof (paglist)); if (objp->next == NULL) return (FALSE); bzero(objp->next, sizeof (paglist)); } objp = objp->next; } } else if (xdrs->x_op == XDR_ENCODE) { while (more_data) { if (!xdr_pag(xdrs, &objp->d)) return (FALSE); objp = objp->next; if (objp == NULL) more_data = FALSE; if (!xdr_bool(xdrs, &more_data)) return (FALSE); } } else { while (more_data) { if (!xdr_pag(xdrs, &objp->d)) return (FALSE); tmp_paglist = objp; objp = objp->next; if (objp == NULL) more_data = FALSE; if (!first_objp) mem_free(tmp_paglist, sizeof (paglist)); else first_objp = FALSE; } } return (TRUE); } bool_t xdr_dir(XDR *xdrs, dir *objp) { rpc_inline_t *buf; if (!xdr_answer(xdrs, &objp->status)) return (FALSE); switch (objp->status) { case OK: if (!xdr_dirdat(xdrs, &objp->dir_u.ok)) return (FALSE); break; } return (TRUE); } bool_t xdr_dirlist(XDR *xdrs, dirlist *objp) { rpc_inline_t *buf; dirlist *tmp_dirlist; bool_t more_data = TRUE; bool_t first_objp = TRUE; if (xdrs->x_op == XDR_DECODE) { while (more_data) { void bzero(); if (!xdr_dir(xdrs, &objp->d)) return (FALSE); if (!xdr_bool(xdrs, &more_data)) return (FALSE); if (!more_data) { objp->next = NULL; break; } if (objp->next == NULL) { objp->next = (dirlist *) mem_alloc(sizeof (dirlist)); if (objp->next == NULL) return (FALSE); bzero(objp->next, sizeof (dirlist)); } objp = objp->next; } } else if (xdrs->x_op == XDR_ENCODE) { while (more_data) { if (!xdr_dir(xdrs, &objp->d)) return (FALSE); objp = objp->next; if (objp == NULL) more_data = FALSE; if (!xdr_bool(xdrs, &more_data)) return (FALSE); } } else { while (more_data) { if (!xdr_dir(xdrs, &objp->d)) return (FALSE); tmp_dirlist = objp; objp = objp->next; if (objp == NULL) more_data = FALSE; if (!first_objp) mem_free(tmp_dirlist, sizeof (dirlist)); else first_objp = FALSE; } } return (TRUE); } bool_t xdr_du(XDR *xdrs, du *objp) { rpc_inline_t *buf; if (!xdr_paglist(xdrs, &objp->p)) return (FALSE); if (!xdr_dirlist(xdrs, &objp->d)) return (FALSE); return (TRUE); } bool_t xdr_dbmfyl(XDR *xdrs, dbmfyl *objp) { rpc_inline_t *buf; if (!xdr_answer(xdrs, &objp->status)) return (FALSE); switch (objp->status) { case OK: if (!xdr_du(xdrs, &objp->dbmfyl_u.ok)) return (FALSE); break; } return (TRUE); }