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
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.
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]
25 * Copyright 2015 Gary Mills
26 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
27 * Use is subject to license terms.
31 * Some manifest constants, chosen to maximize flexibility without
32 * plugging the wire full of data.
39 %#include <rpcsvc/nis.h>
43 %#include "nis_clnt.h"
47 enum db_status {DB_SUCCESS, DB_NOTFOUND, DB_NOTUNIQUE,
48 DB_BADTABLE, DB_BADQUERY, DB_BADOBJECT,
49 DB_MEMORY_LIMIT, DB_STORAGE_LIMIT, DB_INTERNAL_ERROR};
51 enum db_action {DB_LOOKUP, DB_REMOVE, DB_ADD, DB_FIRST, DB_NEXT,
52 DB_ALL, DB_RESET_NEXT, DB_ADD_NOLOG,
53 DB_ADD_NOSYNC, DB_REMOVE_NOSYNC };
56 /* Make alias to NIS definition */
58 typedef entry_obj entry_object;
59 typedef entry_object * entry_object_p;
61 typedef nis_name db_stringname;
62 typedef nis_attr db_attrname; /* What the database knows it as */
65 /* nis_dba.x ----------------------------- */
68 * Structure definitions for the parameters and results of the actual
71 * This is the standard result (in the protocol) of most of the nis
75 /*typedef long db_next_desc;*/
77 typedef opaque db_next_desc<>; /* opaque string */
80 db_status status; /* The status itself */
81 db_next_desc nextinfo; /* for first/next sequence */
82 entry_object_p objects<>; /* And the objects found */
83 long ticks; /* for statistics */
87 db_stringname table_name;
88 db_attrname attrs<NIS_MAXCOLUMNS>;
89 entry_object * obj; /* only used for addition */
94 %extern "C" entry_object * new_entry( entry_object*);
95 %extern "C" bool_t copy_entry ( entry_object*, entry_object*);
96 %extern "C" void free_entry (entry_object*);
97 %extern "C" bool_t sameEntry(entry_object *, entry_object *);
99 %extern entry_object * new_entry( entry_object*);
100 %extern bool_t copy_entry ( entry_object*, entry_object*);
101 %extern void free_entry (entry_object*);
102 %extern bool_t sameEntry(entry_object *, entry_object *);
106 %extern void print_entry();
107 %extern char copy_entry();
108 %extern void free_entry();
109 %extern void new_entry();
114 %#endif /* _DB_NIS_H */