2N/A/*
2N/A * CDDL HEADER START
2N/A *
2N/A * The contents of this file are subject to the terms of the
2N/A * Common Development and Distribution License (the "License").
2N/A * You may not use this file except in compliance with the License.
2N/A *
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * or http://www.opensolaris.org/os/licensing.
2N/A * See the License for the specific language governing permissions
2N/A * and limitations under the License.
2N/A *
2N/A * When distributing Covered Code, include this CDDL HEADER in each
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A * If applicable, add the following below this CDDL HEADER, with the
2N/A * fields enclosed by brackets "[]" replaced with your own identifying
2N/A * information: Portions Copyright [yyyy] [name of copyright owner]
2N/A *
2N/A * CDDL HEADER END
2N/A */
2N/A
2N/A/*
2N/A * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
2N/A * Use is subject to license terms.
2N/A */
2N/A
2N/A/*
2N/A * Originally generated using rpcgen.
2N/A */
2N/A
2N/A#include "mt.h"
2N/A#include <rpc/rpc.h>
2N/A#include <rpcsvc/nis.h>
2N/A
2N/Abool_t
2N/Axdr_nis_attr(XDR *xdrs, nis_attr *objp)
2N/A{
2N/A if (!xdr_string(xdrs, &objp->zattr_ndx, ~0))
2N/A return (FALSE);
2N/A return (xdr_bytes(xdrs, (char **)&objp->zattr_val.zattr_val_val,
2N/A (uint_t *)&objp->zattr_val.zattr_val_len, ~0));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_nis_name(XDR *xdrs, nis_name *objp)
2N/A{
2N/A return (xdr_string(xdrs, objp, ~0));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_zotypes(XDR *xdrs, zotypes *objp)
2N/A{
2N/A return (xdr_enum(xdrs, (enum_t *)objp));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_nstype(XDR *xdrs, nstype *objp)
2N/A{
2N/A return (xdr_enum(xdrs, (enum_t *)objp));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_oar_mask(XDR *xdrs, oar_mask *objp)
2N/A{
2N/A if (!xdr_u_int(xdrs, &objp->oa_rights))
2N/A return (FALSE);
2N/A return (xdr_zotypes(xdrs, &objp->oa_otype));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_endpoint(XDR *xdrs, endpoint *objp)
2N/A{
2N/A if (!xdr_string(xdrs, &objp->uaddr, ~0))
2N/A return (FALSE);
2N/A if (!xdr_string(xdrs, &objp->family, ~0))
2N/A return (FALSE);
2N/A return (xdr_string(xdrs, &objp->proto, ~0));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_nis_server(XDR *xdrs, nis_server *objp)
2N/A{
2N/A if (!xdr_nis_name(xdrs, &objp->name))
2N/A return (FALSE);
2N/A if (!xdr_array(xdrs, (char **)&objp->ep.ep_val,
2N/A (uint_t *)&objp->ep.ep_len, ~0,
2N/A sizeof (endpoint), (xdrproc_t)xdr_endpoint))
2N/A return (FALSE);
2N/A if (!xdr_u_int(xdrs, &objp->key_type))
2N/A return (FALSE);
2N/A return (xdr_netobj(xdrs, &objp->pkey));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_directory_obj(XDR *xdrs, directory_obj *objp)
2N/A{
2N/A if (!xdr_nis_name(xdrs, &objp->do_name))
2N/A return (FALSE);
2N/A if (!xdr_nstype(xdrs, &objp->do_type))
2N/A return (FALSE);
2N/A if (!xdr_array(xdrs, (char **)&objp->do_servers.do_servers_val,
2N/A (uint_t *)&objp->do_servers.do_servers_len, ~0,
2N/A sizeof (nis_server), (xdrproc_t)xdr_nis_server))
2N/A return (FALSE);
2N/A if (!xdr_uint32_t(xdrs, &objp->do_ttl))
2N/A return (FALSE);
2N/A return (xdr_array(xdrs, (char **)&objp->do_armask.do_armask_val,
2N/A (uint_t *)&objp->do_armask.do_armask_len, ~0,
2N/A sizeof (oar_mask), (xdrproc_t)xdr_oar_mask));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_entry_col(XDR *xdrs, entry_col *objp)
2N/A{
2N/A if (!xdr_u_int(xdrs, &objp->ec_flags))
2N/A return (FALSE);
2N/A return (xdr_bytes(xdrs, (char **)&objp->ec_value.ec_value_val,
2N/A (uint_t *)&objp->ec_value.ec_value_len, ~0));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_entry_obj(XDR *xdrs, entry_obj *objp)
2N/A{
2N/A if (!xdr_string(xdrs, &objp->en_type, ~0))
2N/A return (FALSE);
2N/A return (xdr_array(xdrs, (char **)&objp->en_cols.en_cols_val,
2N/A (uint_t *)&objp->en_cols.en_cols_len, ~0,
2N/A sizeof (entry_col), (xdrproc_t)xdr_entry_col));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_group_obj(XDR *xdrs, group_obj *objp)
2N/A{
2N/A if (!xdr_u_int(xdrs, &objp->gr_flags))
2N/A return (FALSE);
2N/A return (xdr_array(xdrs, (char **)&objp->gr_members.gr_members_val,
2N/A (uint_t *)&objp->gr_members.gr_members_len, ~0,
2N/A sizeof (nis_name), (xdrproc_t)xdr_nis_name));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_link_obj(XDR *xdrs, link_obj *objp)
2N/A{
2N/A if (!xdr_zotypes(xdrs, &objp->li_rtype))
2N/A return (FALSE);
2N/A if (!xdr_array(xdrs, (char **)&objp->li_attrs.li_attrs_val,
2N/A (uint_t *)&objp->li_attrs.li_attrs_len, ~0,
2N/A sizeof (nis_attr), (xdrproc_t)xdr_nis_attr))
2N/A return (FALSE);
2N/A return (xdr_nis_name(xdrs, &objp->li_name));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_table_col(XDR *xdrs, table_col *objp)
2N/A{
2N/A if (!xdr_string(xdrs, &objp->tc_name, 64))
2N/A return (FALSE);
2N/A if (!xdr_u_int(xdrs, &objp->tc_flags))
2N/A return (FALSE);
2N/A return (xdr_u_int(xdrs, &objp->tc_rights));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_table_obj(XDR *xdrs, table_obj *objp)
2N/A{
2N/A if (!xdr_string(xdrs, &objp->ta_type, 64))
2N/A return (FALSE);
2N/A if (!xdr_int(xdrs, &objp->ta_maxcol))
2N/A return (FALSE);
2N/A if (!xdr_u_char(xdrs, &objp->ta_sep))
2N/A return (FALSE);
2N/A if (!xdr_array(xdrs, (char **)&objp->ta_cols.ta_cols_val,
2N/A (uint_t *)&objp->ta_cols.ta_cols_len, ~0,
2N/A sizeof (table_col), (xdrproc_t)xdr_table_col))
2N/A return (FALSE);
2N/A return (xdr_string(xdrs, &objp->ta_path, ~0));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_objdata(XDR *xdrs, objdata *objp)
2N/A{
2N/A if (!xdr_zotypes(xdrs, &objp->zo_type))
2N/A return (FALSE);
2N/A
2N/A switch (objp->zo_type) {
2N/A case NIS_DIRECTORY_OBJ:
2N/A return (xdr_directory_obj(xdrs, &objp->objdata_u.di_data));
2N/A case NIS_GROUP_OBJ:
2N/A return (xdr_group_obj(xdrs, &objp->objdata_u.gr_data));
2N/A case NIS_TABLE_OBJ:
2N/A return (xdr_table_obj(xdrs, &objp->objdata_u.ta_data));
2N/A case NIS_ENTRY_OBJ:
2N/A return (xdr_entry_obj(xdrs, &objp->objdata_u.en_data));
2N/A case NIS_LINK_OBJ:
2N/A return (xdr_link_obj(xdrs, &objp->objdata_u.li_data));
2N/A case NIS_PRIVATE_OBJ:
2N/A return (xdr_bytes(xdrs,
2N/A (char **)&objp->objdata_u.po_data.po_data_val,
2N/A (uint_t *)&objp->objdata_u.po_data.po_data_len, ~0));
2N/A case NIS_NO_OBJ:
2N/A return (TRUE);
2N/A case NIS_BOGUS_OBJ:
2N/A return (TRUE);
2N/A }
2N/A return (TRUE);
2N/A}
2N/A
2N/Abool_t
2N/Axdr_nis_oid(XDR *xdrs, nis_oid *objp)
2N/A{
2N/A if (!xdr_uint32_t(xdrs, &objp->ctime))
2N/A return (FALSE);
2N/A return (xdr_uint32_t(xdrs, &objp->mtime));
2N/A}
2N/A
2N/Abool_t
2N/Axdr_nis_object(XDR *xdrs, nis_object *objp)
2N/A{
2N/A if (!xdr_nis_oid(xdrs, &objp->zo_oid))
2N/A return (FALSE);
2N/A if (!xdr_nis_name(xdrs, &objp->zo_name))
2N/A return (FALSE);
2N/A if (!xdr_nis_name(xdrs, &objp->zo_owner))
2N/A return (FALSE);
2N/A if (!xdr_nis_name(xdrs, &objp->zo_group))
2N/A return (FALSE);
2N/A if (!xdr_nis_name(xdrs, &objp->zo_domain))
2N/A return (FALSE);
2N/A if (!xdr_u_int(xdrs, &objp->zo_access))
2N/A return (FALSE);
2N/A if (!xdr_uint32_t(xdrs, &objp->zo_ttl))
2N/A return (FALSE);
2N/A return (xdr_objdata(xdrs, &objp->zo_data));
2N/A}