xref: /titanic_44/usr/src/lib/libnisdb/db_entry_c.x (revision a506a34ceb0e9dcc6c61bf0560202f8538928650)
17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
57c478bd9Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
67c478bd9Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
77c478bd9Sstevel@tonic-gate  * with the License.
87c478bd9Sstevel@tonic-gate  *
97c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
117c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
127c478bd9Sstevel@tonic-gate  * and limitations under the License.
137c478bd9Sstevel@tonic-gate  *
147c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
157c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
177c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
187c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
197c478bd9Sstevel@tonic-gate  *
207c478bd9Sstevel@tonic-gate  * CDDL HEADER END
217c478bd9Sstevel@tonic-gate  */
227c478bd9Sstevel@tonic-gate /*
237c478bd9Sstevel@tonic-gate  *	db_entry_c.x
247c478bd9Sstevel@tonic-gate  *
25*a506a34cSth160488  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
26*a506a34cSth160488  * Use is subject to license terms.
277c478bd9Sstevel@tonic-gate  */
287c478bd9Sstevel@tonic-gate 
297c478bd9Sstevel@tonic-gate %#pragma ident	"%Z%%M%	%I%	%E% SMI"
307c478bd9Sstevel@tonic-gate 
317c478bd9Sstevel@tonic-gate /*
327c478bd9Sstevel@tonic-gate  * Some manifest constants, chosen to maximize flexibility without
337c478bd9Sstevel@tonic-gate  * plugging the wire full of data.
347c478bd9Sstevel@tonic-gate  */
357c478bd9Sstevel@tonic-gate 
367c478bd9Sstevel@tonic-gate #if RPC_HDR
377c478bd9Sstevel@tonic-gate %#ifndef _DB_NIS_H
387c478bd9Sstevel@tonic-gate %#define _DB_NIS_H
397c478bd9Sstevel@tonic-gate 
407c478bd9Sstevel@tonic-gate %#include <rpcsvc/nis.h>
41*a506a34cSth160488 #endif /* RPC_HDR */
427c478bd9Sstevel@tonic-gate 
437c478bd9Sstevel@tonic-gate #ifdef USINGC
447c478bd9Sstevel@tonic-gate enum db_status {DB_SUCCESS, DB_NOTFOUND, DB_NOTUNIQUE,
457c478bd9Sstevel@tonic-gate 		DB_BADTABLE, DB_BADQUERY, DB_BADOBJECT,
467c478bd9Sstevel@tonic-gate 		DB_MEMORY_LIMIT, DB_STORAGE_LIMIT, DB_INTERNAL_ERROR};
477c478bd9Sstevel@tonic-gate 
487c478bd9Sstevel@tonic-gate enum db_action {DB_LOOKUP, DB_REMOVE, DB_ADD, DB_FIRST, DB_NEXT,
497c478bd9Sstevel@tonic-gate 			DB_ALL, DB_RESET_NEXT, DB_ADD_NOLOG,
507c478bd9Sstevel@tonic-gate 			DB_ADD_NOSYNC, DB_REMOVE_NOSYNC };
51*a506a34cSth160488 #endif /* USINGC */
527c478bd9Sstevel@tonic-gate 
537c478bd9Sstevel@tonic-gate /* Make alias to NIS definition */
547c478bd9Sstevel@tonic-gate 
557c478bd9Sstevel@tonic-gate typedef entry_obj entry_object;
567c478bd9Sstevel@tonic-gate typedef entry_object * entry_object_p;
577c478bd9Sstevel@tonic-gate 
587c478bd9Sstevel@tonic-gate typedef nis_name db_stringname;
597c478bd9Sstevel@tonic-gate typedef nis_attr db_attrname;          /* What the database knows it as */
607c478bd9Sstevel@tonic-gate 
617c478bd9Sstevel@tonic-gate 
627c478bd9Sstevel@tonic-gate /*  nis_dba.x ----------------------------- */
637c478bd9Sstevel@tonic-gate 
647c478bd9Sstevel@tonic-gate /*
657c478bd9Sstevel@tonic-gate  * Structure definitions for the parameters and results of the actual
667c478bd9Sstevel@tonic-gate  * NIS DBA calls
677c478bd9Sstevel@tonic-gate  *
687c478bd9Sstevel@tonic-gate  * This is the standard result (in the protocol) of most of the nis
697c478bd9Sstevel@tonic-gate  * requests.
707c478bd9Sstevel@tonic-gate  */
717c478bd9Sstevel@tonic-gate 
727c478bd9Sstevel@tonic-gate /*typedef long db_next_desc;*/
737c478bd9Sstevel@tonic-gate 
747c478bd9Sstevel@tonic-gate typedef opaque db_next_desc<>;            /* opaque string */
757c478bd9Sstevel@tonic-gate 
767c478bd9Sstevel@tonic-gate struct db_result {
777c478bd9Sstevel@tonic-gate 	db_status 	status;		/* The status itself 	 */
787c478bd9Sstevel@tonic-gate 	db_next_desc    nextinfo;       /* for first/next sequence */
797c478bd9Sstevel@tonic-gate 	entry_object_p	objects<>;	/* And the objects found */
807c478bd9Sstevel@tonic-gate 	long		ticks;		/* for statistics	 */
817c478bd9Sstevel@tonic-gate };
827c478bd9Sstevel@tonic-gate 
837c478bd9Sstevel@tonic-gate struct db_request {
847c478bd9Sstevel@tonic-gate   db_stringname table_name;
857c478bd9Sstevel@tonic-gate   db_attrname  attrs<NIS_MAXCOLUMNS>;
867c478bd9Sstevel@tonic-gate   entry_object * obj;      /* only used for addition */
877c478bd9Sstevel@tonic-gate };
887c478bd9Sstevel@tonic-gate 
897c478bd9Sstevel@tonic-gate #ifndef USINGC
907c478bd9Sstevel@tonic-gate %#ifdef __cplusplus
917c478bd9Sstevel@tonic-gate %extern "C"  entry_object * new_entry( entry_object*);
927c478bd9Sstevel@tonic-gate %extern "C"  bool_t copy_entry ( entry_object*, entry_object*);
937c478bd9Sstevel@tonic-gate %extern "C"  void free_entry (entry_object*);
947c478bd9Sstevel@tonic-gate %extern "C"  bool_t sameEntry(entry_object *, entry_object *);
957c478bd9Sstevel@tonic-gate %#elif __STDC__
967c478bd9Sstevel@tonic-gate %extern entry_object * new_entry( entry_object*);
977c478bd9Sstevel@tonic-gate %extern bool_t copy_entry ( entry_object*, entry_object*);
987c478bd9Sstevel@tonic-gate %extern void free_entry (entry_object*);
997c478bd9Sstevel@tonic-gate %extern bool_t sameEntry(entry_object *, entry_object *);
1007c478bd9Sstevel@tonic-gate %#endif
1017c478bd9Sstevel@tonic-gate #else
1027c478bd9Sstevel@tonic-gate #if RPC_HDR
1037c478bd9Sstevel@tonic-gate %extern void print_entry();
1047c478bd9Sstevel@tonic-gate %extern char copy_entry();
1057c478bd9Sstevel@tonic-gate %extern void free_entry();
1067c478bd9Sstevel@tonic-gate %extern void new_entry();
107*a506a34cSth160488 #endif /* RPC_HDR */
108*a506a34cSth160488 #endif /* USINGC */
1097c478bd9Sstevel@tonic-gate 
1107c478bd9Sstevel@tonic-gate #if RPC_HDR
111*a506a34cSth160488 %#endif /* _DB_NIS_H */
112*a506a34cSth160488 #endif /* RPC_HDR */
113