/* * Please do not edit this file. * It was generated using rpcgen. */ #include "/home/git3/dehawe/titanic_53/usr/src/uts/intel/rdc/../../common/avs/ns/rdc/rdc_prot.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 (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 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Auto generated from rdc_prot.x */ /* * Network Replicator RPC spec */ /* * We don't define netbuf in RPCL, since it would contain structure member * names that would conflict with the definition of struct netbuf in * . Instead we merely declare the XDR routine xdr_netbuf() here, * and implement it ourselves in rpc/rpcb_prot.c. */ #ifdef __cplusplus extern "C" bool_t xdr_netbuf(XDR *, struct netbuf *); #elif __STDC__ extern bool_t xdr_netbuf(XDR *, struct netbuf *); #else /* K&R C */ bool_t xdr_netbuf(); #endif /* K&R C */ /* * Use this to limit the size of the net_pendvec_t array * to ~ 32k */ /* * Error status */ bool_t xdr_rdcstat(XDR *xdrs, rdcstat *objp) { if (!xdr_enum(xdrs, (enum_t *)objp)) return (FALSE); return (TRUE); } /* * Set state (V4) */ bool_t xdr_set_state4(XDR *xdrs, set_state4 *objp) { if (!xdr_opaque(xdrs, objp->netaddr, RDC_MAXADDR)) return (FALSE); if (!xdr_opaque(xdrs, objp->rnetaddr, RDC_MAXADDR)) return (FALSE); if (!xdr_int(xdrs, &objp->netaddrlen)) return (FALSE); if (!xdr_int(xdrs, &objp->rnetaddrlen)) return (FALSE); if (!xdr_u_int(xdrs, &objp->flag)) return (FALSE); if (!xdr_opaque(xdrs, objp->pfile, RDC_MAXNAMLEN)) return (FALSE); if (!xdr_opaque(xdrs, objp->sfile, RDC_MAXNAMLEN)) return (FALSE); return (TRUE); } bool_t xdr_set_state(XDR *xdrs, set_state *objp) { if (!xdr_netbuf(xdrs, &objp->netaddr)) return (FALSE); if (!xdr_netbuf(xdrs, &objp->rnetaddr)) return (FALSE); if (!xdr_int(xdrs, &objp->netaddrlen)) return (FALSE); if (!xdr_int(xdrs, &objp->rnetaddrlen)) return (FALSE); if (!xdr_u_int(xdrs, &objp->flag)) return (FALSE); if (!xdr_string(xdrs, &objp->pfile, RDC_XDR_MAXNAMLEN)) return (FALSE); if (!xdr_string(xdrs, &objp->sfile, RDC_XDR_MAXNAMLEN)) return (FALSE); return (TRUE); } /* * Get size of volume */ bool_t xdr_getsize(XDR *xdrs, getsize *objp) { if (!xdr_int(xdrs, &objp->cd)) return (FALSE); return (TRUE); } /* * Remote read (v5) */ bool_t xdr_rread(XDR *xdrs, rread *objp) { if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_int(xdrs, &objp->len)) return (FALSE); if (!xdr_int(xdrs, &objp->pos)) return (FALSE); if (!xdr_int(xdrs, &objp->idx)) return (FALSE); if (!xdr_int(xdrs, &objp->flag)) return (FALSE); return (TRUE); } /* * Remote read (v6) */ bool_t xdr_rread6(XDR *xdrs, rread6 *objp) { if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_int(xdrs, &objp->len)) return (FALSE); if (!xdr_u_longlong_t(xdrs, &objp->pos)) return (FALSE); if (!xdr_int(xdrs, &objp->idx)) return (FALSE); if (!xdr_int(xdrs, &objp->flag)) return (FALSE); return (TRUE); } /* * status OK from remote read */ bool_t xdr_readok(XDR *xdrs, readok *objp) { if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, RDC_MAXDATA)) return (FALSE); return (TRUE); } bool_t xdr_readres(XDR *xdrs, readres *objp) { if (!xdr_rdcstat(xdrs, &objp->status)) return (FALSE); switch (objp->status) { case RDC_OK: if (!xdr_readok(xdrs, &objp->readres_u.reply)) return (FALSE); break; } return (TRUE); } /* * Initiate bit map scoreboard transfer (v5) */ bool_t xdr_bmap(XDR *xdrs, bmap *objp) { if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_int(xdrs, &objp->dual)) return (FALSE); if (!xdr_int(xdrs, &objp->size)) return (FALSE); return (TRUE); } /* * Initiate bit map scoreboard transfer (v6) */ bool_t xdr_bmap6(XDR *xdrs, bmap6 *objp) { if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_int(xdrs, &objp->dual)) return (FALSE); if (!xdr_u_longlong_t(xdrs, &objp->size)) return (FALSE); return (TRUE); } /* * Scoreboard bitmap data (v5) */ bool_t xdr_net_bdata(XDR *xdrs, net_bdata *objp) { if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_int(xdrs, &objp->offset)) return (FALSE); if (!xdr_int(xdrs, &objp->size)) return (FALSE); if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, RDC_BMAPBLKSIZE)) return (FALSE); return (TRUE); } /* * Scoreboard bitmap data (v6) */ bool_t xdr_net_bdata6(XDR *xdrs, net_bdata6 *objp) { if (!xdr_u_longlong_t(xdrs, &objp->offset)) return (FALSE); if (!xdr_int(xdrs, &objp->size)) return (FALSE); if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_int(xdrs, &objp->endoblk)) return (FALSE); if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, RDC_BMAPBLKSIZE)) return (FALSE); return (TRUE); } /* * Data transfer and allocation (v5) */ bool_t xdr_net_data5(XDR *xdrs, net_data5 *objp) { if (!xdr_int(xdrs, &objp->local_cd)) return (FALSE); if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_int(xdrs, &objp->pos)) return (FALSE); if (!xdr_int(xdrs, &objp->len)) return (FALSE); if (!xdr_int(xdrs, &objp->flag)) return (FALSE); if (!xdr_int(xdrs, &objp->idx)) return (FALSE); if (!xdr_int(xdrs, &objp->seq)) return (FALSE); if (!xdr_int(xdrs, &objp->sfba)) return (FALSE); if (!xdr_int(xdrs, &objp->endoblk)) return (FALSE); if (!xdr_int(xdrs, &objp->nfba)) return (FALSE); if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, RDC_MAXDATA)) return (FALSE); return (TRUE); } /* * Data transfer and allocation (v6) */ bool_t xdr_net_data6(XDR *xdrs, net_data6 *objp) { if (!xdr_int(xdrs, &objp->local_cd)) return (FALSE); if (!xdr_int(xdrs, &objp->cd)) return (FALSE); if (!xdr_u_longlong_t(xdrs, &objp->pos)) return (FALSE); if (!xdr_u_longlong_t(xdrs, &objp->qpos)) return (FALSE); if (!xdr_u_longlong_t(xdrs, &objp->sfba)) return (FALSE); if (!xdr_int(xdrs, &objp->nfba)) return (FALSE); if (!xdr_int(xdrs, &objp->len)) return (FALSE); if (!xdr_int(xdrs, &objp->flag)) return (FALSE); if (!xdr_int(xdrs, &objp->idx)) return (FALSE); if (!xdr_u_int(xdrs, &objp->seq)) return (FALSE); if (!xdr_int(xdrs, &objp->endoblk)) return (FALSE); if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, RDC_MAXDATA)) return (FALSE); return (TRUE); } bool_t xdr_net_pendvec(XDR *xdrs, net_pendvec *objp) { if (!xdr_u_longlong_t(xdrs, &objp->apos)) return (FALSE); if (!xdr_u_longlong_t(xdrs, &objp->qpos)) return (FALSE); if (!xdr_int(xdrs, &objp->alen)) return (FALSE); if (!xdr_u_int(xdrs, &objp->seq)) return (FALSE); if (!xdr_int(xdrs, &objp->pindex)) return (FALSE); return (TRUE); } bool_t xdr_net_pendvec_t(XDR *xdrs, net_pendvec_t *objp) { if (!xdr_net_pendvec(xdrs, objp)) return (FALSE); return (TRUE); } /* * results returned from a netwrite request. (v6) * index = index number of request assigned by server when * requests is broken down into smaller chunks. * result = 0 request ok. * result = 1 request is pending. * result < 0 failure, set with -errno. * If the vecdata array is not empty, then it contains * a list of apos and alen * pairs of previously pending requests that have been written. */ bool_t xdr_netwriteres(XDR *xdrs, netwriteres *objp) { if (!xdr_int(xdrs, &objp->index)) return (FALSE); if (!xdr_int(xdrs, &objp->result)) return (FALSE); if (!xdr_u_int(xdrs, &objp->seq)) return (FALSE); if (!xdr_array(xdrs, (char **)&objp->vecdata.vecdata_val, (u_int *) &objp->vecdata.vecdata_len, RDC_PENDQLIM, sizeof (net_pendvec_t), (xdrproc_t)xdr_net_pendvec_t)) return (FALSE); return (TRUE); } /* * Ping */ bool_t xdr_rdc_ping6(XDR *xdrs, rdc_ping6 *objp) { if (!xdr_opaque(xdrs, objp->p_ifaddr, RDC_MAXADDR)) return (FALSE); if (!xdr_opaque(xdrs, objp->s_ifaddr, RDC_MAXADDR)) return (FALSE); return (TRUE); } bool_t xdr_rdc_ping(XDR *xdrs, rdc_ping *objp) { if (!xdr_netbuf(xdrs, &objp->p_ifaddr)) return (FALSE); if (!xdr_netbuf(xdrs, &objp->s_ifaddr)) return (FALSE); return (TRUE); }