xref: /illumos-gate/usr/src/lib/libnisdb/db_entry_c.x (revision a87701e9)
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*a87701e9SGary Mills  * Copyright 2015 Gary Mills
26a506a34cSth  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
27a506a34cSth  * Use is subject to license terms.
287c478bd9Sstevel@tonic-gate  */
297c478bd9Sstevel@tonic-gate 
307c478bd9Sstevel@tonic-gate /*
317c478bd9Sstevel@tonic-gate  * Some manifest constants, chosen to maximize flexibility without
327c478bd9Sstevel@tonic-gate  * plugging the wire full of data.
337c478bd9Sstevel@tonic-gate  */
347c478bd9Sstevel@tonic-gate 
357c478bd9Sstevel@tonic-gate #if RPC_HDR
367c478bd9Sstevel@tonic-gate %#ifndef _DB_NIS_H
377c478bd9Sstevel@tonic-gate %#define _DB_NIS_H
387c478bd9Sstevel@tonic-gate 
397c478bd9Sstevel@tonic-gate %#include <rpcsvc/nis.h>
40a506a34cSth #endif /* RPC_HDR */
417c478bd9Sstevel@tonic-gate 
42*a87701e9SGary Mills #if RPC_XDR
43*a87701e9SGary Mills %#include "nis_clnt.h"
44*a87701e9SGary Mills #endif /* RPC_XDR */
45*a87701e9SGary Mills 
467c478bd9Sstevel@tonic-gate #ifdef USINGC
477c478bd9Sstevel@tonic-gate enum db_status {DB_SUCCESS, DB_NOTFOUND, DB_NOTUNIQUE,
487c478bd9Sstevel@tonic-gate 		DB_BADTABLE, DB_BADQUERY, DB_BADOBJECT,
497c478bd9Sstevel@tonic-gate 		DB_MEMORY_LIMIT, DB_STORAGE_LIMIT, DB_INTERNAL_ERROR};
507c478bd9Sstevel@tonic-gate 
517c478bd9Sstevel@tonic-gate enum db_action {DB_LOOKUP, DB_REMOVE, DB_ADD, DB_FIRST, DB_NEXT,
527c478bd9Sstevel@tonic-gate 			DB_ALL, DB_RESET_NEXT, DB_ADD_NOLOG,
537c478bd9Sstevel@tonic-gate 			DB_ADD_NOSYNC, DB_REMOVE_NOSYNC };
54a506a34cSth #endif /* USINGC */
557c478bd9Sstevel@tonic-gate 
567c478bd9Sstevel@tonic-gate /* Make alias to NIS definition */
577c478bd9Sstevel@tonic-gate 
587c478bd9Sstevel@tonic-gate typedef entry_obj entry_object;
597c478bd9Sstevel@tonic-gate typedef entry_object * entry_object_p;
607c478bd9Sstevel@tonic-gate 
617c478bd9Sstevel@tonic-gate typedef nis_name db_stringname;
627c478bd9Sstevel@tonic-gate typedef nis_attr db_attrname;          /* What the database knows it as */
637c478bd9Sstevel@tonic-gate 
647c478bd9Sstevel@tonic-gate 
657c478bd9Sstevel@tonic-gate /*  nis_dba.x ----------------------------- */
667c478bd9Sstevel@tonic-gate 
677c478bd9Sstevel@tonic-gate /*
687c478bd9Sstevel@tonic-gate  * Structure definitions for the parameters and results of the actual
697c478bd9Sstevel@tonic-gate  * NIS DBA calls
707c478bd9Sstevel@tonic-gate  *
717c478bd9Sstevel@tonic-gate  * This is the standard result (in the protocol) of most of the nis
727c478bd9Sstevel@tonic-gate  * requests.
737c478bd9Sstevel@tonic-gate  */
747c478bd9Sstevel@tonic-gate 
757c478bd9Sstevel@tonic-gate /*typedef long db_next_desc;*/
767c478bd9Sstevel@tonic-gate 
777c478bd9Sstevel@tonic-gate typedef opaque db_next_desc<>;            /* opaque string */
787c478bd9Sstevel@tonic-gate 
797c478bd9Sstevel@tonic-gate struct db_result {
807c478bd9Sstevel@tonic-gate 	db_status 	status;		/* The status itself 	 */
817c478bd9Sstevel@tonic-gate 	db_next_desc    nextinfo;       /* for first/next sequence */
827c478bd9Sstevel@tonic-gate 	entry_object_p	objects<>;	/* And the objects found */
837c478bd9Sstevel@tonic-gate 	long		ticks;		/* for statistics	 */
847c478bd9Sstevel@tonic-gate };
857c478bd9Sstevel@tonic-gate 
867c478bd9Sstevel@tonic-gate struct db_request {
877c478bd9Sstevel@tonic-gate   db_stringname table_name;
887c478bd9Sstevel@tonic-gate   db_attrname  attrs<NIS_MAXCOLUMNS>;
897c478bd9Sstevel@tonic-gate   entry_object * obj;      /* only used for addition */
907c478bd9Sstevel@tonic-gate };
917c478bd9Sstevel@tonic-gate 
927c478bd9Sstevel@tonic-gate #ifndef USINGC
937c478bd9Sstevel@tonic-gate %#ifdef __cplusplus
947c478bd9Sstevel@tonic-gate %extern "C"  entry_object * new_entry( entry_object*);
957c478bd9Sstevel@tonic-gate %extern "C"  bool_t copy_entry ( entry_object*, entry_object*);
967c478bd9Sstevel@tonic-gate %extern "C"  void free_entry (entry_object*);
977c478bd9Sstevel@tonic-gate %extern "C"  bool_t sameEntry(entry_object *, entry_object *);
987c478bd9Sstevel@tonic-gate %#elif __STDC__
997c478bd9Sstevel@tonic-gate %extern entry_object * new_entry( entry_object*);
1007c478bd9Sstevel@tonic-gate %extern bool_t copy_entry ( entry_object*, entry_object*);
1017c478bd9Sstevel@tonic-gate %extern void free_entry (entry_object*);
1027c478bd9Sstevel@tonic-gate %extern bool_t sameEntry(entry_object *, entry_object *);
1037c478bd9Sstevel@tonic-gate %#endif
1047c478bd9Sstevel@tonic-gate #else
1057c478bd9Sstevel@tonic-gate #if RPC_HDR
1067c478bd9Sstevel@tonic-gate %extern void print_entry();
1077c478bd9Sstevel@tonic-gate %extern char copy_entry();
1087c478bd9Sstevel@tonic-gate %extern void free_entry();
1097c478bd9Sstevel@tonic-gate %extern void new_entry();
110a506a34cSth #endif /* RPC_HDR */
111a506a34cSth #endif /* USINGC */
1127c478bd9Sstevel@tonic-gate 
1137c478bd9Sstevel@tonic-gate #if RPC_HDR
114a506a34cSth %#endif /* _DB_NIS_H */
115a506a34cSth #endif /* RPC_HDR */
116