Home | History | Annotate | Download | only in libnisdb
      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
     35 extern "C" {
     36 #endif
     37 
     38 /* Structure used to hide flag/counter from rpcgen */
     39 typedef struct {
     40 	long	flag;
     41 } __nisdb_flag_t;
     42 
     43 /* Structure used to hide pointers from rpcgen */
     44 typedef struct {
     45 	void	*ptr;
     46 } __nisdb_ptr_t;
     47 
     48 /* Exported functions */
     49 bool_t		xdr_nis_name_abbrev(XDR *xdrs, nis_name	*namep,
     50 			nis_name domainname);
     51 bool_t		xdr_nis_fetus_object(XDR *xdrs, nis_object *objp,
     52 			nis_object *tobj);
     53 entry_obj	*makePseudoEntryObj(nis_object *obj, entry_obj *eo,
     54 				nis_object *tobj);
     55 nis_object	*unmakePseudoEntryObj(entry_obj *e, nis_object *tobj);
     56 void		*xdrNisObject(nis_object *obj, entry_obj **ea, int numEa,
     57 			int *xdrLenP);
     58 nis_object	*unXdrNisObject(void *buf, int bufLen, entry_obj ***eaP,
     59 			int *numEaP);
     60 void		freeEntryObjArray(entry_obj **ea, int numEa);
     61 bool_t		sameNisPlusObj(nis_object *o1, nis_object *o2);
     62 bool_t		sameNisPlusPseudoObj(nis_object *o1, entry_obj *e2);
     63 
     64 #ifdef	__cplusplus
     65 }
     66 #endif	/* __cplusplus */
     67 
     68 #endif	/* _LDAP_XDR_H */
     69