1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License").  You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright (c) 2001 by Sun Microsystems, Inc.
24 * All rights reserved.
25 */
26
27#pragma ident	"%Z%%M%	%I%	%E% SMI"
28
29#ifndef	_LDAP_XDR_H
30#define	_LDAP_XDR_H
31
32#include <rpcsvc/nis.h>
33
34#ifdef	__cplusplus
35extern "C" {
36#endif
37
38/* Structure used to hide flag/counter from rpcgen */
39typedef struct {
40	long	flag;
41} __nisdb_flag_t;
42
43/* Structure used to hide pointers from rpcgen */
44typedef struct {
45	void	*ptr;
46} __nisdb_ptr_t;
47
48/* Exported functions */
49bool_t		xdr_nis_name_abbrev(XDR *xdrs, nis_name	*namep,
50			nis_name domainname);
51bool_t		xdr_nis_fetus_object(XDR *xdrs, nis_object *objp,
52			nis_object *tobj);
53entry_obj	*makePseudoEntryObj(nis_object *obj, entry_obj *eo,
54				nis_object *tobj);
55nis_object	*unmakePseudoEntryObj(entry_obj *e, nis_object *tobj);
56void		*xdrNisObject(nis_object *obj, entry_obj **ea, int numEa,
57			int *xdrLenP);
58nis_object	*unXdrNisObject(void *buf, int bufLen, entry_obj ***eaP,
59			int *numEaP);
60void		freeEntryObjArray(entry_obj **ea, int numEa);
61bool_t		sameNisPlusObj(nis_object *o1, nis_object *o2);
62bool_t		sameNisPlusPseudoObj(nis_object *o1, entry_obj *e2);
63
64#ifdef	__cplusplus
65}
66#endif	/* __cplusplus */
67
68#endif	/* _LDAP_XDR_H */
69