4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
28 * Originally generated using rpcgen.
33 #include <rpcsvc/nis.h>
36 xdr_nis_attr(XDR
*xdrs
, nis_attr
*objp
)
38 if (!xdr_string(xdrs
, &objp
->zattr_ndx
, ~0))
40 return (xdr_bytes(xdrs
, (char **)&objp
->zattr_val
.zattr_val_val
,
41 (uint_t
*)&objp
->zattr_val
.zattr_val_len
, ~0));
45 xdr_nis_name(XDR
*xdrs
, nis_name
*objp
)
47 return (xdr_string(xdrs
, objp
, ~0));
51 xdr_zotypes(XDR
*xdrs
, zotypes
*objp
)
53 return (xdr_enum(xdrs
, (enum_t
*)objp
));
57 xdr_nstype(XDR
*xdrs
, nstype
*objp
)
59 return (xdr_enum(xdrs
, (enum_t
*)objp
));
63 xdr_oar_mask(XDR
*xdrs
, oar_mask
*objp
)
65 if (!xdr_u_int(xdrs
, &objp
->oa_rights
))
67 return (xdr_zotypes(xdrs
, &objp
->oa_otype
));
71 xdr_endpoint(XDR
*xdrs
, endpoint
*objp
)
73 if (!xdr_string(xdrs
, &objp
->uaddr
, ~0))
75 if (!xdr_string(xdrs
, &objp
->family
, ~0))
77 return (xdr_string(xdrs
, &objp
->proto
, ~0));
81 xdr_nis_server(XDR
*xdrs
, nis_server
*objp
)
83 if (!xdr_nis_name(xdrs
, &objp
->name
))
85 if (!xdr_array(xdrs
, (char **)&objp
->ep
.ep_val
,
86 (uint_t
*)&objp
->ep
.ep_len
, ~0,
87 sizeof (endpoint
), (xdrproc_t
)xdr_endpoint
))
89 if (!xdr_u_int(xdrs
, &objp
->key_type
))
91 return (xdr_netobj(xdrs
, &objp
->pkey
));
95 xdr_directory_obj(XDR
*xdrs
, directory_obj
*objp
)
97 if (!xdr_nis_name(xdrs
, &objp
->do_name
))
99 if (!xdr_nstype(xdrs
, &objp
->do_type
))
101 if (!xdr_array(xdrs
, (char **)&objp
->do_servers
.do_servers_val
,
102 (uint_t
*)&objp
->do_servers
.do_servers_len
, ~0,
103 sizeof (nis_server
), (xdrproc_t
)xdr_nis_server
))
105 if (!xdr_uint32_t(xdrs
, &objp
->do_ttl
))
107 return (xdr_array(xdrs
, (char **)&objp
->do_armask
.do_armask_val
,
108 (uint_t
*)&objp
->do_armask
.do_armask_len
, ~0,
109 sizeof (oar_mask
), (xdrproc_t
)xdr_oar_mask
));
113 xdr_entry_col(XDR
*xdrs
, entry_col
*objp
)
115 if (!xdr_u_int(xdrs
, &objp
->ec_flags
))
117 return (xdr_bytes(xdrs
, (char **)&objp
->ec_value
.ec_value_val
,
118 (uint_t
*)&objp
->ec_value
.ec_value_len
, ~0));
122 xdr_entry_obj(XDR
*xdrs
, entry_obj
*objp
)
124 if (!xdr_string(xdrs
, &objp
->en_type
, ~0))
126 return (xdr_array(xdrs
, (char **)&objp
->en_cols
.en_cols_val
,
127 (uint_t
*)&objp
->en_cols
.en_cols_len
, ~0,
128 sizeof (entry_col
), (xdrproc_t
)xdr_entry_col
));
132 xdr_group_obj(XDR
*xdrs
, group_obj
*objp
)
134 if (!xdr_u_int(xdrs
, &objp
->gr_flags
))
136 return (xdr_array(xdrs
, (char **)&objp
->gr_members
.gr_members_val
,
137 (uint_t
*)&objp
->gr_members
.gr_members_len
, ~0,
138 sizeof (nis_name
), (xdrproc_t
)xdr_nis_name
));
142 xdr_link_obj(XDR
*xdrs
, link_obj
*objp
)
144 if (!xdr_zotypes(xdrs
, &objp
->li_rtype
))
146 if (!xdr_array(xdrs
, (char **)&objp
->li_attrs
.li_attrs_val
,
147 (uint_t
*)&objp
->li_attrs
.li_attrs_len
, ~0,
148 sizeof (nis_attr
), (xdrproc_t
)xdr_nis_attr
))
150 return (xdr_nis_name(xdrs
, &objp
->li_name
));
154 xdr_table_col(XDR
*xdrs
, table_col
*objp
)
156 if (!xdr_string(xdrs
, &objp
->tc_name
, 64))
158 if (!xdr_u_int(xdrs
, &objp
->tc_flags
))
160 return (xdr_u_int(xdrs
, &objp
->tc_rights
));
164 xdr_table_obj(XDR
*xdrs
, table_obj
*objp
)
166 if (!xdr_string(xdrs
, &objp
->ta_type
, 64))
168 if (!xdr_int(xdrs
, &objp
->ta_maxcol
))
170 if (!xdr_u_char(xdrs
, &objp
->ta_sep
))
172 if (!xdr_array(xdrs
, (char **)&objp
->ta_cols
.ta_cols_val
,
173 (uint_t
*)&objp
->ta_cols
.ta_cols_len
, ~0,
174 sizeof (table_col
), (xdrproc_t
)xdr_table_col
))
176 return (xdr_string(xdrs
, &objp
->ta_path
, ~0));
180 xdr_objdata(XDR
*xdrs
, objdata
*objp
)
182 if (!xdr_zotypes(xdrs
, &objp
->zo_type
))
185 switch (objp
->zo_type
) {
186 case NIS_DIRECTORY_OBJ
:
187 return (xdr_directory_obj(xdrs
, &objp
->objdata_u
.di_data
));
189 return (xdr_group_obj(xdrs
, &objp
->objdata_u
.gr_data
));
191 return (xdr_table_obj(xdrs
, &objp
->objdata_u
.ta_data
));
193 return (xdr_entry_obj(xdrs
, &objp
->objdata_u
.en_data
));
195 return (xdr_link_obj(xdrs
, &objp
->objdata_u
.li_data
));
196 case NIS_PRIVATE_OBJ
:
197 return (xdr_bytes(xdrs
,
198 (char **)&objp
->objdata_u
.po_data
.po_data_val
,
199 (uint_t
*)&objp
->objdata_u
.po_data
.po_data_len
, ~0));
209 xdr_nis_oid(XDR
*xdrs
, nis_oid
*objp
)
211 if (!xdr_uint32_t(xdrs
, &objp
->ctime
))
213 return (xdr_uint32_t(xdrs
, &objp
->mtime
));
217 xdr_nis_object(XDR
*xdrs
, nis_object
*objp
)
219 if (!xdr_nis_oid(xdrs
, &objp
->zo_oid
))
221 if (!xdr_nis_name(xdrs
, &objp
->zo_name
))
223 if (!xdr_nis_name(xdrs
, &objp
->zo_owner
))
225 if (!xdr_nis_name(xdrs
, &objp
->zo_group
))
227 if (!xdr_nis_name(xdrs
, &objp
->zo_domain
))
229 if (!xdr_u_int(xdrs
, &objp
->zo_access
))
231 if (!xdr_uint32_t(xdrs
, &objp
->zo_ttl
))
233 return (xdr_objdata(xdrs
, &objp
->zo_data
));