Blame nis/nis_xdr.c

Packit Service 82fcde
/* Copyright (c) 1997-2018 Free Software Foundation, Inc.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
   Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library; if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
#include <stdint.h>
Packit Service 82fcde
#include <rpcsvc/nis.h>
Packit Service 82fcde
#include <rpcsvc/nis_callback.h> /* for "official" Solaris xdr functions */
Packit Service 82fcde
#include <shlib-compat.h>
Packit Service 82fcde
Packit Service 82fcde
/* This functions do exist without beginning "_" under Solaris 2.x, but
Packit Service 82fcde
   we have no prototypes for them. To avoid the same problems as with the
Packit Service 82fcde
   YP xdr functions, we don't make them public. */
Packit Service 82fcde
#include "nis_xdr.h"
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_nis_attr (XDR *xdrs, nis_attr *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_string (xdrs, &objp->zattr_ndx, ~0);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_bytes (xdrs, (char **) &objp->zattr_val.zattr_val_val,
Packit Service 82fcde
		     &objp->zattr_val.zattr_val_len, ~0);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static __always_inline bool_t
Packit Service 82fcde
xdr_nis_name (XDR *xdrs, nis_name *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_string (xdrs, objp, ~0);
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_nis_name (XDR *xdrs, nis_name *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_nis_name (xdrs, objp);
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static __always_inline bool_t
Packit Service 82fcde
xdr_zotypes (XDR *xdrs, zotypes *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_enum (xdrs, (enum_t *) objp);
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static __always_inline bool_t
Packit Service 82fcde
xdr_nstype (XDR *xdrs, nstype *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_enum (xdrs, (enum_t *) objp);
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_oar_mask (XDR *xdrs, oar_mask *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_u_int (xdrs, &objp->oa_rights);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_zotypes (xdrs, &objp->oa_otype);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_endpoint (XDR *xdrs, endpoint *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res =  xdr_string (xdrs, &objp->uaddr, ~0);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_string (xdrs, &objp->family, ~0);
Packit Service 82fcde
      if (__glibc_likely (res))
Packit Service 82fcde
	res = xdr_string (xdrs, &objp->proto, ~0);
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_nis_server (XDR *xdrs, nis_server *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_name (xdrs, &objp->name);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_array (xdrs, (void *) &objp->ep.ep_val, &objp->ep.ep_len,
Packit Service 82fcde
		       ~0, sizeof (endpoint), (xdrproc_t) xdr_endpoint);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	{
Packit Service 82fcde
	  res = xdr_u_int (xdrs, &objp->key_type);
Packit Service 82fcde
	  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	    res = xdr_netobj (xdrs, &objp->pkey);
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_directory_obj (XDR *xdrs, directory_obj *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_name (xdrs, &objp->do_name);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_nstype (xdrs, &objp->do_type);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	{
Packit Service 82fcde
	  res = xdr_array (xdrs, (void *) &objp->do_servers.do_servers_val,
Packit Service 82fcde
			   &objp->do_servers.do_servers_len, ~0,
Packit Service 82fcde
			   sizeof (nis_server), (xdrproc_t) _xdr_nis_server);
Packit Service 82fcde
	  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	    {
Packit Service 82fcde
	      res = xdr_uint32_t (xdrs, &objp->do_ttl);
Packit Service 82fcde
	      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		res = xdr_array (xdrs,
Packit Service 82fcde
				 (void *) &objp->do_armask.do_armask_val,
Packit Service 82fcde
				 &objp->do_armask.do_armask_len, ~0,
Packit Service 82fcde
				 sizeof (oar_mask), (xdrproc_t) xdr_oar_mask);
Packit Service 82fcde
	    }
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_entry_col (XDR *xdrs, entry_col *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_u_int (xdrs, &objp->ec_flags);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_bytes (xdrs, (char **) &objp->ec_value.ec_value_val,
Packit Service 82fcde
		     &objp->ec_value.ec_value_len, ~0);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_entry_obj (XDR *xdrs, entry_obj *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_string (xdrs, &objp->en_type, ~0);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_array (xdrs, (void *) &objp->en_cols.en_cols_val,
Packit Service 82fcde
		     &objp->en_cols.en_cols_len, ~0,
Packit Service 82fcde
		     sizeof (entry_col), (xdrproc_t) xdr_entry_col);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_group_obj (XDR *xdrs, group_obj *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_u_int (xdrs, &objp->gr_flags);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_array (xdrs, (void *) &objp->gr_members.gr_members_val,
Packit Service 82fcde
		     &objp->gr_members.gr_members_len, ~0,
Packit Service 82fcde
		     sizeof (nis_name), (xdrproc_t) _xdr_nis_name);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_link_obj (XDR *xdrs, link_obj *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_zotypes (xdrs, &objp->li_rtype);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_array (xdrs, (void *) &objp->li_attrs.li_attrs_val,
Packit Service 82fcde
		       &objp->li_attrs.li_attrs_len, ~0,
Packit Service 82fcde
		       sizeof (nis_attr), (xdrproc_t) xdr_nis_attr);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	res = xdr_nis_name (xdrs, &objp->li_name);
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_table_col (XDR *xdrs, table_col *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_string (xdrs, &objp->tc_name, 64);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_u_int (xdrs, &objp->tc_flags);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	res = xdr_u_int (xdrs, &objp->tc_rights);
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_table_obj (XDR *xdrs, table_obj *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_string (xdrs, &objp->ta_type, 64);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_int (xdrs, &objp->ta_maxcol);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	{
Packit Service 82fcde
	  res = xdr_u_char (xdrs, &objp->ta_sep);
Packit Service 82fcde
	  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	    {
Packit Service 82fcde
	      res = xdr_array (xdrs, (void *) &objp->ta_cols.ta_cols_val,
Packit Service 82fcde
			       &objp->ta_cols.ta_cols_len, ~0,
Packit Service 82fcde
			       sizeof (table_col), (xdrproc_t) xdr_table_col);
Packit Service 82fcde
	      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		res = xdr_string (xdrs, &objp->ta_path, ~0);
Packit Service 82fcde
	    }
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_objdata (XDR *xdrs, objdata *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_zotypes (xdrs, &objp->zo_type);
Packit Service 82fcde
  if (!__builtin_expect (res, TRUE))
Packit Service 82fcde
    return res;
Packit Service 82fcde
  switch (objp->zo_type)
Packit Service 82fcde
    {
Packit Service 82fcde
    case NIS_DIRECTORY_OBJ:
Packit Service 82fcde
      return _xdr_directory_obj (xdrs, &objp->objdata_u.di_data);
Packit Service 82fcde
    case NIS_GROUP_OBJ:
Packit Service 82fcde
      return xdr_group_obj (xdrs, &objp->objdata_u.gr_data);
Packit Service 82fcde
    case NIS_TABLE_OBJ:
Packit Service 82fcde
      return xdr_table_obj (xdrs, &objp->objdata_u.ta_data);
Packit Service 82fcde
    case NIS_ENTRY_OBJ:
Packit Service 82fcde
      return xdr_entry_obj (xdrs, &objp->objdata_u.en_data);
Packit Service 82fcde
    case NIS_LINK_OBJ:
Packit Service 82fcde
      return xdr_link_obj (xdrs, &objp->objdata_u.li_data);
Packit Service 82fcde
    case NIS_PRIVATE_OBJ:
Packit Service 82fcde
      return xdr_bytes (xdrs, &objp->objdata_u.po_data.po_data_val,
Packit Service 82fcde
			&objp->objdata_u.po_data.po_data_len, ~0);
Packit Service 82fcde
    case NIS_NO_OBJ:
Packit Service 82fcde
    case NIS_BOGUS_OBJ:
Packit Service 82fcde
    default:
Packit Service 82fcde
      return TRUE;
Packit Service 82fcde
    }
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static bool_t
Packit Service 82fcde
xdr_nis_oid (XDR *xdrs, nis_oid *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_uint32_t (xdrs, &objp->ctime);
Packit Service 82fcde
  if  (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_uint32_t (xdrs, &objp->mtime);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_nis_object (XDR *xdrs, nis_object *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_oid (xdrs, &objp->zo_oid);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_nis_name (xdrs, &objp->zo_name);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	{
Packit Service 82fcde
	  res = xdr_nis_name (xdrs, &objp->zo_owner);
Packit Service 82fcde
	  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	    {
Packit Service 82fcde
	      res = xdr_nis_name (xdrs, &objp->zo_group);
Packit Service 82fcde
	      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		{
Packit Service 82fcde
		  res = xdr_nis_name (xdrs, &objp->zo_domain);
Packit Service 82fcde
		  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		    {
Packit Service 82fcde
		      res = xdr_u_int (xdrs, &objp->zo_access);
Packit Service 82fcde
		      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
			{
Packit Service 82fcde
			  res = xdr_uint32_t (xdrs, &objp->zo_ttl);
Packit Service 82fcde
			  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
			    res = xdr_objdata (xdrs, &objp->zo_data);
Packit Service 82fcde
			}
Packit Service 82fcde
		    }
Packit Service 82fcde
		}
Packit Service 82fcde
	    }
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
static __always_inline bool_t
Packit Service 82fcde
xdr_nis_error (XDR *xdrs, nis_error *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_enum (xdrs, (enum_t *) objp);
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_nis_error (XDR *xdrs, nis_error *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_nis_error (xdrs, objp);
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_nis_result (XDR *xdrs, nis_result *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_error (xdrs, &objp->status);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_array (xdrs, (void *) &objp->objects.objects_val,
Packit Service 82fcde
		       &objp->objects.objects_len, ~0,
Packit Service 82fcde
		       sizeof (nis_object), (xdrproc_t) _xdr_nis_object);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	{
Packit Service 82fcde
	  res = xdr_netobj (xdrs, &objp->cookie);
Packit Service 82fcde
	  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	    {
Packit Service 82fcde
	      res = xdr_uint32_t (xdrs, &objp->zticks);
Packit Service 82fcde
	      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		{
Packit Service 82fcde
		  res = xdr_uint32_t (xdrs, &objp->dticks);
Packit Service 82fcde
		  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		    {
Packit Service 82fcde
		      res = xdr_uint32_t (xdrs, &objp->aticks);
Packit Service 82fcde
		      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
			res = xdr_uint32_t (xdrs, &objp->cticks);
Packit Service 82fcde
		    }
Packit Service 82fcde
		}
Packit Service 82fcde
	    }
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
libnsl_hidden_nolink_def (_xdr_nis_result, GLIBC_PRIVATE)
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_ns_request (XDR *xdrs, ns_request *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_name (xdrs, &objp->ns_name);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_array (xdrs, (void *) &objp->ns_object.ns_object_val,
Packit Service 82fcde
		     &objp->ns_object.ns_object_len, 1,
Packit Service 82fcde
		     sizeof (nis_object), (xdrproc_t) _xdr_nis_object);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_ib_request (XDR *xdrs, ib_request *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_name (xdrs, &objp->ibr_name);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_array (xdrs, (void *) &objp->ibr_srch.ibr_srch_val,
Packit Service 82fcde
		       &objp->ibr_srch.ibr_srch_len, ~0,
Packit Service 82fcde
		       sizeof (nis_attr), (xdrproc_t) xdr_nis_attr);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	{
Packit Service 82fcde
	  res = xdr_u_int (xdrs, &objp->ibr_flags);
Packit Service 82fcde
	  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	    {
Packit Service 82fcde
	      res = xdr_array (xdrs, (void *) &objp->ibr_obj.ibr_obj_val,
Packit Service 82fcde
			       &objp->ibr_obj.ibr_obj_len, 1,
Packit Service 82fcde
			       sizeof (nis_object),
Packit Service 82fcde
			       (xdrproc_t) _xdr_nis_object);
Packit Service 82fcde
	      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		{
Packit Service 82fcde
		  res = xdr_array (xdrs,
Packit Service 82fcde
				   (void *) &objp->ibr_cbhost.ibr_cbhost_val,
Packit Service 82fcde
				   &objp->ibr_cbhost.ibr_cbhost_len, 1,
Packit Service 82fcde
				   sizeof (nis_server),
Packit Service 82fcde
				   (xdrproc_t) _xdr_nis_server);
Packit Service 82fcde
		  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
		    {
Packit Service 82fcde
		      res = xdr_u_int (xdrs, &objp->ibr_bufsize);
Packit Service 82fcde
		      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
			res =  xdr_netobj (xdrs, &objp->ibr_cookie);
Packit Service 82fcde
		    }
Packit Service 82fcde
		}
Packit Service 82fcde
	    }
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
libnsl_hidden_nolink_def (_xdr_ib_request, GLIBC_PRIVATE)
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_ping_args (XDR *xdrs, ping_args *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_name (xdrs, &objp->dir);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_uint32_t (xdrs, &objp->stamp);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_cp_result (XDR *xdrs, cp_result *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_error (xdrs, &objp->cp_status);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_uint32_t (xdrs, &objp->cp_zticks);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	res = xdr_uint32_t (xdrs, &objp->cp_dticks);
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_nis_tag (XDR *xdrs, nis_tag *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_u_int (xdrs, &objp->tag_type);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_string (xdrs, &objp->tag_val, ~0);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_nis_taglist (XDR *xdrs, nis_taglist *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_array (xdrs, (void *) &objp->tags.tags_val,
Packit Service 82fcde
		    &objp->tags.tags_len, ~0, sizeof (nis_tag),
Packit Service 82fcde
		    (xdrproc_t) _xdr_nis_tag);
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_fd_args (XDR *xdrs, fd_args *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_name (xdrs, &objp->dir_name);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    res = xdr_nis_name (xdrs, &objp->requester);
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
_xdr_fd_result (XDR *xdrs, fd_result *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  bool_t res = xdr_nis_error (xdrs, &objp->status);
Packit Service 82fcde
  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
    {
Packit Service 82fcde
      res = xdr_nis_name (xdrs, &objp->source);
Packit Service 82fcde
      if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	{
Packit Service 82fcde
	  res = xdr_bytes (xdrs, (char **) &objp->dir_data.dir_data_val,
Packit Service 82fcde
			   &objp->dir_data.dir_data_len, ~0);
Packit Service 82fcde
	  if (__builtin_expect (res, TRUE))
Packit Service 82fcde
	    res = xdr_bytes (xdrs, (char **) &objp->signature.signature_val,
Packit Service 82fcde
			     &objp->signature.signature_len, ~0);
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  return res;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
/* The following functions have prototypes in nis_callback.h.  So
Packit Service 82fcde
   we make them public */
Packit Service 82fcde
bool_t
Packit Service 82fcde
xdr_obj_p (XDR *xdrs, obj_p *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_pointer (xdrs, (char **)objp, sizeof (nis_object),
Packit Service 82fcde
		      (xdrproc_t)_xdr_nis_object);
Packit Service 82fcde
}
Packit Service 82fcde
libnsl_hidden_nolink_def (xdr_obj_p, GLIBC_2_1)
Packit Service 82fcde
Packit Service 82fcde
bool_t
Packit Service 82fcde
xdr_cback_data (XDR *xdrs, cback_data *objp)
Packit Service 82fcde
{
Packit Service 82fcde
  return xdr_array (xdrs, (void *) &objp->entries.entries_val,
Packit Service 82fcde
		    &objp->entries.entries_len, ~0,
Packit Service 82fcde
		    sizeof (obj_p), (xdrproc_t) xdr_obj_p);
Packit Service 82fcde
}
Packit Service 82fcde
libnsl_hidden_nolink_def (xdr_cback_data, GLIBC_2_1)