]>
Commit | Line | Data |
---|---|---|
bd0dcd28 | 1 | /* Copyright (c) 1997, 1998, 2005, 2006, 2007 Free Software Foundation, Inc. |
e61abf83 UD |
2 | This file is part of the GNU C Library. |
3 | Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. | |
4 | ||
5 | The GNU C Library is free software; you can redistribute it and/or | |
41bdb6e2 AJ |
6 | modify it under the terms of the GNU Lesser General Public |
7 | License as published by the Free Software Foundation; either | |
8 | version 2.1 of the License, or (at your option) any later version. | |
e61abf83 UD |
9 | |
10 | The GNU C Library is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
41bdb6e2 | 13 | Lesser General Public License for more details. |
e61abf83 | 14 | |
41bdb6e2 AJ |
15 | You should have received a copy of the GNU Lesser General Public |
16 | License along with the GNU C Library; if not, write to the Free | |
17 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
18 | 02111-1307 USA. */ | |
e61abf83 UD |
19 | |
20 | #include <rpcsvc/nis.h> | |
91eee4dd | 21 | #include <rpcsvc/nis_callback.h> /* for "official" Solaris xdr functions */ |
e61abf83 | 22 | |
91eee4dd UD |
23 | /* This functions do exist without beginning "_" under Solaris 2.x, but |
24 | we have no prototypes for them. To avoid the same problems as with the | |
25 | YP xdr functions, we don't make them public. */ | |
26 | #include "nis_xdr.h" | |
27 | ||
28 | static bool_t | |
e61abf83 UD |
29 | xdr_nis_attr (XDR *xdrs, nis_attr *objp) |
30 | { | |
c3c45d9c UD |
31 | bool_t res = xdr_string (xdrs, &objp->zattr_ndx, ~0); |
32 | if (__builtin_expect (res, TRUE)) | |
33 | res = xdr_bytes (xdrs, (char **) &objp->zattr_val.zattr_val_val, | |
34 | &objp->zattr_val.zattr_val_len, ~0); | |
35 | return res; | |
e61abf83 UD |
36 | } |
37 | ||
d0ccde25 UD |
38 | static __always_inline bool_t |
39 | xdr_nis_name (XDR *xdrs, nis_name *objp) | |
40 | { | |
41 | return xdr_string (xdrs, objp, ~0); | |
42 | } | |
43 | ||
e61abf83 | 44 | bool_t |
91eee4dd | 45 | _xdr_nis_name (XDR *xdrs, nis_name *objp) |
e61abf83 | 46 | { |
d0ccde25 | 47 | return xdr_nis_name (xdrs, objp); |
e61abf83 UD |
48 | } |
49 | ||
1cd4f3c7 | 50 | static __always_inline bool_t |
e61abf83 UD |
51 | xdr_zotypes (XDR *xdrs, zotypes *objp) |
52 | { | |
c3c45d9c | 53 | return xdr_enum (xdrs, (enum_t *) objp); |
e61abf83 UD |
54 | } |
55 | ||
1cd4f3c7 | 56 | static __always_inline bool_t |
e61abf83 UD |
57 | xdr_nstype (XDR *xdrs, nstype *objp) |
58 | { | |
c3c45d9c | 59 | return xdr_enum (xdrs, (enum_t *) objp); |
e61abf83 UD |
60 | } |
61 | ||
91eee4dd | 62 | static bool_t |
e61abf83 UD |
63 | xdr_oar_mask (XDR *xdrs, oar_mask *objp) |
64 | { | |
c3c45d9c UD |
65 | bool_t res = xdr_u_int (xdrs, &objp->oa_rights); |
66 | if (__builtin_expect (res, TRUE)) | |
67 | res = xdr_zotypes (xdrs, &objp->oa_otype); | |
68 | return res; | |
e61abf83 UD |
69 | } |
70 | ||
91eee4dd | 71 | static bool_t |
e61abf83 UD |
72 | xdr_endpoint (XDR *xdrs, endpoint *objp) |
73 | { | |
c3c45d9c UD |
74 | bool_t res = xdr_string (xdrs, &objp->uaddr, ~0); |
75 | if (__builtin_expect (res, TRUE)) | |
76 | { | |
77 | res = xdr_string (xdrs, &objp->family, ~0); | |
78 | if (__builtin_expect (res, 1)) | |
79 | res = xdr_string (xdrs, &objp->proto, ~0); | |
80 | } | |
81 | return res; | |
e61abf83 UD |
82 | } |
83 | ||
84 | bool_t | |
91eee4dd | 85 | _xdr_nis_server (XDR *xdrs, nis_server *objp) |
e61abf83 | 86 | { |
d0ccde25 | 87 | bool_t res = xdr_nis_name (xdrs, &objp->name); |
c3c45d9c UD |
88 | if (__builtin_expect (res, TRUE)) |
89 | { | |
bd0dcd28 | 90 | res = xdr_array (xdrs, (void *) &objp->ep.ep_val, &objp->ep.ep_len, |
c3c45d9c UD |
91 | ~0, sizeof (endpoint), (xdrproc_t) xdr_endpoint); |
92 | if (__builtin_expect (res, TRUE)) | |
93 | { | |
94 | res = xdr_u_int (xdrs, &objp->key_type); | |
95 | if (__builtin_expect (res, TRUE)) | |
96 | res = xdr_netobj (xdrs, &objp->pkey); | |
97 | } | |
98 | } | |
99 | return res; | |
e61abf83 UD |
100 | } |
101 | ||
102 | bool_t | |
91eee4dd | 103 | _xdr_directory_obj (XDR *xdrs, directory_obj *objp) |
e61abf83 | 104 | { |
d0ccde25 | 105 | bool_t res = xdr_nis_name (xdrs, &objp->do_name); |
c3c45d9c UD |
106 | if (__builtin_expect (res, TRUE)) |
107 | { | |
108 | res = xdr_nstype (xdrs, &objp->do_type); | |
109 | if (__builtin_expect (res, TRUE)) | |
110 | { | |
bd0dcd28 | 111 | res = xdr_array (xdrs, (void *) &objp->do_servers.do_servers_val, |
c3c45d9c UD |
112 | &objp->do_servers.do_servers_len, ~0, |
113 | sizeof (nis_server), (xdrproc_t) _xdr_nis_server); | |
114 | if (__builtin_expect (res, TRUE)) | |
115 | { | |
116 | res = xdr_uint32_t (xdrs, &objp->do_ttl); | |
117 | if (__builtin_expect (res, TRUE)) | |
118 | res = xdr_array (xdrs, | |
bd0dcd28 | 119 | (void *) &objp->do_armask.do_armask_val, |
c3c45d9c UD |
120 | &objp->do_armask.do_armask_len, ~0, |
121 | sizeof (oar_mask), (xdrproc_t) xdr_oar_mask); | |
122 | } | |
123 | } | |
124 | } | |
125 | return res; | |
e61abf83 UD |
126 | } |
127 | ||
91eee4dd | 128 | static bool_t |
e61abf83 UD |
129 | xdr_entry_col (XDR *xdrs, entry_col *objp) |
130 | { | |
c3c45d9c UD |
131 | bool_t res = xdr_u_int (xdrs, &objp->ec_flags); |
132 | if (__builtin_expect (res, TRUE)) | |
133 | res = xdr_bytes (xdrs, (char **) &objp->ec_value.ec_value_val, | |
134 | &objp->ec_value.ec_value_len, ~0); | |
135 | return res; | |
e61abf83 UD |
136 | } |
137 | ||
91eee4dd | 138 | static bool_t |
e61abf83 UD |
139 | xdr_entry_obj (XDR *xdrs, entry_obj *objp) |
140 | { | |
c3c45d9c UD |
141 | bool_t res = xdr_string (xdrs, &objp->en_type, ~0); |
142 | if (__builtin_expect (res, TRUE)) | |
bd0dcd28 | 143 | res = xdr_array (xdrs, (void *) &objp->en_cols.en_cols_val, |
c3c45d9c UD |
144 | &objp->en_cols.en_cols_len, ~0, |
145 | sizeof (entry_col), (xdrproc_t) xdr_entry_col); | |
146 | return res; | |
e61abf83 UD |
147 | } |
148 | ||
91eee4dd | 149 | static bool_t |
e61abf83 UD |
150 | xdr_group_obj (XDR *xdrs, group_obj *objp) |
151 | { | |
c3c45d9c UD |
152 | bool_t res = xdr_u_int (xdrs, &objp->gr_flags); |
153 | if (__builtin_expect (res, TRUE)) | |
bd0dcd28 | 154 | res = xdr_array (xdrs, (void *) &objp->gr_members.gr_members_val, |
c3c45d9c UD |
155 | &objp->gr_members.gr_members_len, ~0, |
156 | sizeof (nis_name), (xdrproc_t) _xdr_nis_name); | |
157 | return res; | |
e61abf83 UD |
158 | } |
159 | ||
91eee4dd | 160 | static bool_t |
e61abf83 UD |
161 | xdr_link_obj (XDR *xdrs, link_obj *objp) |
162 | { | |
c3c45d9c UD |
163 | bool_t res = xdr_zotypes (xdrs, &objp->li_rtype); |
164 | if (__builtin_expect (res, TRUE)) | |
165 | { | |
bd0dcd28 | 166 | res = xdr_array (xdrs, (void *) &objp->li_attrs.li_attrs_val, |
c3c45d9c UD |
167 | &objp->li_attrs.li_attrs_len, ~0, |
168 | sizeof (nis_attr), (xdrproc_t) xdr_nis_attr); | |
169 | if (__builtin_expect (res, TRUE)) | |
d0ccde25 | 170 | res = xdr_nis_name (xdrs, &objp->li_name); |
c3c45d9c UD |
171 | } |
172 | return res; | |
e61abf83 UD |
173 | } |
174 | ||
91eee4dd | 175 | static bool_t |
e61abf83 UD |
176 | xdr_table_col (XDR *xdrs, table_col *objp) |
177 | { | |
c3c45d9c UD |
178 | bool_t res = xdr_string (xdrs, &objp->tc_name, 64); |
179 | if (__builtin_expect (res, TRUE)) | |
180 | { | |
181 | res = xdr_u_int (xdrs, &objp->tc_flags); | |
182 | if (__builtin_expect (res, TRUE)) | |
183 | res = xdr_u_int (xdrs, &objp->tc_rights); | |
184 | } | |
185 | return res; | |
e61abf83 UD |
186 | } |
187 | ||
91eee4dd | 188 | static bool_t |
e61abf83 UD |
189 | xdr_table_obj (XDR *xdrs, table_obj *objp) |
190 | { | |
c3c45d9c UD |
191 | bool_t res = xdr_string (xdrs, &objp->ta_type, 64); |
192 | if (__builtin_expect (res, TRUE)) | |
193 | { | |
194 | res = xdr_int (xdrs, &objp->ta_maxcol); | |
195 | if (__builtin_expect (res, TRUE)) | |
196 | { | |
197 | res = xdr_u_char (xdrs, &objp->ta_sep); | |
198 | if (__builtin_expect (res, TRUE)) | |
199 | { | |
bd0dcd28 | 200 | res = xdr_array (xdrs, (void *) &objp->ta_cols.ta_cols_val, |
c3c45d9c UD |
201 | &objp->ta_cols.ta_cols_len, ~0, |
202 | sizeof (table_col), (xdrproc_t) xdr_table_col); | |
203 | if (__builtin_expect (res, TRUE)) | |
204 | res = xdr_string (xdrs, &objp->ta_path, ~0); | |
205 | } | |
206 | } | |
207 | } | |
208 | return res; | |
e61abf83 UD |
209 | } |
210 | ||
91eee4dd | 211 | static bool_t |
e61abf83 UD |
212 | xdr_objdata (XDR *xdrs, objdata *objp) |
213 | { | |
c3c45d9c UD |
214 | bool_t res = xdr_zotypes (xdrs, &objp->zo_type); |
215 | if (!__builtin_expect (res, TRUE)) | |
216 | return res; | |
e61abf83 UD |
217 | switch (objp->zo_type) |
218 | { | |
dfd2257a | 219 | case NIS_DIRECTORY_OBJ: |
c3c45d9c | 220 | return _xdr_directory_obj (xdrs, &objp->objdata_u.di_data); |
dfd2257a | 221 | case NIS_GROUP_OBJ: |
c3c45d9c | 222 | return xdr_group_obj (xdrs, &objp->objdata_u.gr_data); |
dfd2257a | 223 | case NIS_TABLE_OBJ: |
c3c45d9c | 224 | return xdr_table_obj (xdrs, &objp->objdata_u.ta_data); |
dfd2257a | 225 | case NIS_ENTRY_OBJ: |
c3c45d9c | 226 | return xdr_entry_obj (xdrs, &objp->objdata_u.en_data); |
dfd2257a | 227 | case NIS_LINK_OBJ: |
c3c45d9c | 228 | return xdr_link_obj (xdrs, &objp->objdata_u.li_data); |
dfd2257a | 229 | case NIS_PRIVATE_OBJ: |
c3c45d9c UD |
230 | return xdr_bytes (xdrs, &objp->objdata_u.po_data.po_data_val, |
231 | &objp->objdata_u.po_data.po_data_len, ~0); | |
dfd2257a | 232 | case NIS_NO_OBJ: |
dfd2257a | 233 | case NIS_BOGUS_OBJ: |
e61abf83 | 234 | default: |
c3c45d9c | 235 | return TRUE; |
e61abf83 | 236 | } |
e61abf83 UD |
237 | } |
238 | ||
91eee4dd | 239 | static bool_t |
e61abf83 UD |
240 | xdr_nis_oid (XDR *xdrs, nis_oid *objp) |
241 | { | |
c3c45d9c UD |
242 | bool_t res = xdr_uint32_t (xdrs, &objp->ctime); |
243 | if (__builtin_expect (res, TRUE)) | |
244 | res = xdr_uint32_t (xdrs, &objp->mtime); | |
245 | return res; | |
e61abf83 UD |
246 | } |
247 | ||
248 | bool_t | |
91eee4dd | 249 | _xdr_nis_object (XDR *xdrs, nis_object *objp) |
e61abf83 | 250 | { |
c3c45d9c UD |
251 | bool_t res = xdr_nis_oid (xdrs, &objp->zo_oid); |
252 | if (__builtin_expect (res, TRUE)) | |
253 | { | |
d0ccde25 | 254 | res = xdr_nis_name (xdrs, &objp->zo_name); |
c3c45d9c UD |
255 | if (__builtin_expect (res, TRUE)) |
256 | { | |
d0ccde25 | 257 | res = xdr_nis_name (xdrs, &objp->zo_owner); |
c3c45d9c UD |
258 | if (__builtin_expect (res, TRUE)) |
259 | { | |
d0ccde25 | 260 | res = xdr_nis_name (xdrs, &objp->zo_group); |
c3c45d9c UD |
261 | if (__builtin_expect (res, TRUE)) |
262 | { | |
d0ccde25 | 263 | res = xdr_nis_name (xdrs, &objp->zo_domain); |
c3c45d9c UD |
264 | if (__builtin_expect (res, TRUE)) |
265 | { | |
266 | res = xdr_u_int (xdrs, &objp->zo_access); | |
267 | if (__builtin_expect (res, TRUE)) | |
268 | { | |
269 | res = xdr_uint32_t (xdrs, &objp->zo_ttl); | |
270 | if (__builtin_expect (res, TRUE)) | |
271 | res = xdr_objdata (xdrs, &objp->zo_data); | |
272 | } | |
273 | } | |
274 | } | |
275 | } | |
276 | } | |
277 | } | |
278 | return res; | |
e61abf83 UD |
279 | } |
280 | ||
d0ccde25 UD |
281 | static __always_inline bool_t |
282 | xdr_nis_error (XDR *xdrs, nis_error *objp) | |
283 | { | |
284 | return xdr_enum (xdrs, (enum_t *) objp); | |
285 | } | |
286 | ||
e61abf83 | 287 | bool_t |
91eee4dd | 288 | _xdr_nis_error (XDR *xdrs, nis_error *objp) |
e61abf83 | 289 | { |
d0ccde25 | 290 | return xdr_nis_error (xdrs, objp); |
e61abf83 UD |
291 | } |
292 | ||
293 | bool_t | |
91eee4dd | 294 | _xdr_nis_result (XDR *xdrs, nis_result *objp) |
e61abf83 | 295 | { |
d0ccde25 | 296 | bool_t res = xdr_nis_error (xdrs, &objp->status); |
c3c45d9c UD |
297 | if (__builtin_expect (res, TRUE)) |
298 | { | |
bd0dcd28 | 299 | res = xdr_array (xdrs, (void *) &objp->objects.objects_val, |
c3c45d9c UD |
300 | &objp->objects.objects_len, ~0, |
301 | sizeof (nis_object), (xdrproc_t) _xdr_nis_object); | |
302 | if (__builtin_expect (res, TRUE)) | |
303 | { | |
304 | res = xdr_netobj (xdrs, &objp->cookie); | |
305 | if (__builtin_expect (res, TRUE)) | |
306 | { | |
307 | res = xdr_uint32_t (xdrs, &objp->zticks); | |
308 | if (__builtin_expect (res, TRUE)) | |
309 | { | |
310 | res = xdr_uint32_t (xdrs, &objp->dticks); | |
311 | if (__builtin_expect (res, TRUE)) | |
312 | { | |
313 | res = xdr_uint32_t (xdrs, &objp->aticks); | |
314 | if (__builtin_expect (res, TRUE)) | |
315 | res = xdr_uint32_t (xdrs, &objp->cticks); | |
316 | } | |
317 | } | |
318 | } | |
319 | } | |
320 | } | |
321 | return res; | |
e61abf83 | 322 | } |
a17fa610 | 323 | libnsl_hidden_def (_xdr_nis_result) |
e61abf83 UD |
324 | |
325 | bool_t | |
91eee4dd | 326 | _xdr_ns_request (XDR *xdrs, ns_request *objp) |
e61abf83 | 327 | { |
d0ccde25 | 328 | bool_t res = xdr_nis_name (xdrs, &objp->ns_name); |
c3c45d9c | 329 | if (__builtin_expect (res, TRUE)) |
bd0dcd28 | 330 | res = xdr_array (xdrs, (void *) &objp->ns_object.ns_object_val, |
c3c45d9c UD |
331 | &objp->ns_object.ns_object_len, 1, |
332 | sizeof (nis_object), (xdrproc_t) _xdr_nis_object); | |
333 | return res; | |
e61abf83 UD |
334 | } |
335 | ||
336 | bool_t | |
91eee4dd | 337 | _xdr_ib_request (XDR *xdrs, ib_request *objp) |
e61abf83 | 338 | { |
d0ccde25 | 339 | bool_t res = xdr_nis_name (xdrs, &objp->ibr_name); |
c3c45d9c UD |
340 | if (__builtin_expect (res, TRUE)) |
341 | { | |
bd0dcd28 | 342 | res = xdr_array (xdrs, (void *) &objp->ibr_srch.ibr_srch_val, |
c3c45d9c UD |
343 | &objp->ibr_srch.ibr_srch_len, ~0, |
344 | sizeof (nis_attr), (xdrproc_t) xdr_nis_attr); | |
345 | if (__builtin_expect (res, TRUE)) | |
346 | { | |
347 | res = xdr_u_int (xdrs, &objp->ibr_flags); | |
348 | if (__builtin_expect (res, TRUE)) | |
349 | { | |
bd0dcd28 | 350 | res = xdr_array (xdrs, (void *) &objp->ibr_obj.ibr_obj_val, |
c3c45d9c UD |
351 | &objp->ibr_obj.ibr_obj_len, 1, |
352 | sizeof (nis_object), | |
353 | (xdrproc_t) _xdr_nis_object); | |
354 | if (__builtin_expect (res, TRUE)) | |
355 | { | |
356 | res = xdr_array (xdrs, | |
bd0dcd28 | 357 | (void *) &objp->ibr_cbhost.ibr_cbhost_val, |
c3c45d9c UD |
358 | &objp->ibr_cbhost.ibr_cbhost_len, 1, |
359 | sizeof (nis_server), | |
360 | (xdrproc_t) _xdr_nis_server); | |
361 | if (__builtin_expect (res, TRUE)) | |
362 | { | |
363 | res = xdr_u_int (xdrs, &objp->ibr_bufsize); | |
364 | if (__builtin_expect (res, TRUE)) | |
365 | res = xdr_netobj (xdrs, &objp->ibr_cookie); | |
366 | } | |
367 | } | |
368 | } | |
369 | } | |
370 | } | |
371 | return res; | |
e61abf83 | 372 | } |
a17fa610 | 373 | libnsl_hidden_def (_xdr_ib_request) |
e61abf83 UD |
374 | |
375 | bool_t | |
91eee4dd | 376 | _xdr_ping_args (XDR *xdrs, ping_args *objp) |
e61abf83 | 377 | { |
d0ccde25 | 378 | bool_t res = xdr_nis_name (xdrs, &objp->dir); |
c3c45d9c UD |
379 | if (__builtin_expect (res, TRUE)) |
380 | res = xdr_uint32_t (xdrs, &objp->stamp); | |
381 | return res; | |
e61abf83 UD |
382 | } |
383 | ||
384 | bool_t | |
91eee4dd | 385 | _xdr_cp_result (XDR *xdrs, cp_result *objp) |
e61abf83 | 386 | { |
d0ccde25 | 387 | bool_t res = xdr_nis_error (xdrs, &objp->cp_status); |
c3c45d9c UD |
388 | if (__builtin_expect (res, TRUE)) |
389 | { | |
390 | res = xdr_uint32_t (xdrs, &objp->cp_zticks); | |
391 | if (__builtin_expect (res, TRUE)) | |
392 | res = xdr_uint32_t (xdrs, &objp->cp_dticks); | |
393 | } | |
394 | return res; | |
e61abf83 UD |
395 | } |
396 | ||
397 | bool_t | |
91eee4dd | 398 | _xdr_nis_tag (XDR *xdrs, nis_tag *objp) |
e61abf83 | 399 | { |
c3c45d9c UD |
400 | bool_t res = xdr_u_int (xdrs, &objp->tag_type); |
401 | if (__builtin_expect (res, TRUE)) | |
402 | res = xdr_string (xdrs, &objp->tag_val, ~0); | |
403 | return res; | |
e61abf83 UD |
404 | } |
405 | ||
406 | bool_t | |
91eee4dd | 407 | _xdr_nis_taglist (XDR *xdrs, nis_taglist *objp) |
e61abf83 | 408 | { |
bd0dcd28 | 409 | return xdr_array (xdrs, (void *) &objp->tags.tags_val, |
c3c45d9c UD |
410 | &objp->tags.tags_len, ~0, sizeof (nis_tag), |
411 | (xdrproc_t) _xdr_nis_tag); | |
e61abf83 UD |
412 | } |
413 | ||
414 | bool_t | |
91eee4dd | 415 | _xdr_fd_args (XDR *xdrs, fd_args *objp) |
e61abf83 | 416 | { |
d0ccde25 | 417 | bool_t res = xdr_nis_name (xdrs, &objp->dir_name); |
c3c45d9c | 418 | if (__builtin_expect (res, TRUE)) |
d0ccde25 | 419 | res = xdr_nis_name (xdrs, &objp->requester); |
c3c45d9c | 420 | return res; |
e61abf83 UD |
421 | } |
422 | ||
423 | bool_t | |
91eee4dd | 424 | _xdr_fd_result (XDR *xdrs, fd_result *objp) |
e61abf83 | 425 | { |
d0ccde25 | 426 | bool_t res = xdr_nis_error (xdrs, &objp->status); |
c3c45d9c UD |
427 | if (__builtin_expect (res, TRUE)) |
428 | { | |
d0ccde25 | 429 | res = xdr_nis_name (xdrs, &objp->source); |
c3c45d9c UD |
430 | if (__builtin_expect (res, TRUE)) |
431 | { | |
432 | res = xdr_bytes (xdrs, (char **) &objp->dir_data.dir_data_val, | |
433 | &objp->dir_data.dir_data_len, ~0); | |
434 | if (__builtin_expect (res, TRUE)) | |
435 | res = xdr_bytes (xdrs, (char **) &objp->signature.signature_val, | |
436 | &objp->signature.signature_len, ~0); | |
437 | } | |
438 | } | |
439 | return res; | |
e61abf83 UD |
440 | } |
441 | ||
91eee4dd UD |
442 | /* The following functions have prototypes in nis_callback.h. So |
443 | we make them public */ | |
e61abf83 | 444 | bool_t |
91eee4dd | 445 | xdr_obj_p (XDR *xdrs, obj_p *objp) |
e61abf83 | 446 | { |
c3c45d9c UD |
447 | return xdr_pointer (xdrs, (char **)objp, sizeof (nis_object), |
448 | (xdrproc_t)_xdr_nis_object); | |
91eee4dd | 449 | } |
4b481a15 | 450 | libnsl_hidden_def (xdr_obj_p) |
91eee4dd UD |
451 | |
452 | bool_t | |
453 | xdr_cback_data (XDR *xdrs, cback_data *objp) | |
454 | { | |
bd0dcd28 | 455 | return xdr_array (xdrs, (void *) &objp->entries.entries_val, |
c3c45d9c UD |
456 | &objp->entries.entries_len, ~0, |
457 | sizeof (obj_p), (xdrproc_t) xdr_obj_p); | |
e61abf83 | 458 | } |
4b481a15 | 459 | libnsl_hidden_def (xdr_cback_data) |