xref: /dragonfly/include/rpcsvc/nis_tags.h (revision 279dd846)
1 /*
2  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
3  * unrestricted use provided that this legend is included on all tape
4  * media and as a part of the software program in whole or part.  Users
5  * may copy or modify Sun RPC without charge, but are not authorized
6  * to license or distribute it to anyone else except as part of a product or
7  * program developed by the user.
8  *
9  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
10  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
11  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
12  *
13  * Sun RPC is provided with no support and without any obligation on the
14  * part of Sun Microsystems, Inc. to assist in its use, correction,
15  * modification or enhancement.
16  *
17  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
18  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
19  * OR ANY PART THEREOF.
20  *
21  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
22  * or profits or other special, indirect and consequential damages, even if
23  * Sun has been advised of the possibility of such damages.
24  *
25  * Sun Microsystems, Inc.
26  * 2550 Garcia Avenue
27  * Mountain View, California  94043
28  *
29  * $DragonFly: src/include/rpcsvc/nis_tags.h,v 1.2 2004/02/25 15:12:54 joerg Exp $
30  */
31 
32 /*
33  * Copyright (c) 1991, Sun Microsystems Inc.
34  */
35 
36 /*
37  *	nis_tags.h
38  *
39  *	This file contains the tags and statistics definitions. It is
40  *	automatically included by nis.h
41  */
42 
43 #ifndef	_RPCSVC_NIS_TAGS_H
44 #define	_RPCSVC_NIS_TAGS_H
45 
46 /* From: #pragma ident	"@(#)nis_tags.h	1.10	94/05/03 SMI" */
47 /* from file: zns_tags.h	1.7 Copyright (c) 1990 Sun Microsystems */
48 
49 #ifndef ORIGINAL_DECLS
50 #define		NIS_DIR "data"
51 #endif
52 
53 /* Lookup and List function flags */
54 #define	FOLLOW_LINKS	(1<<0)	/* Follow link objects 			*/
55 #define	FOLLOW_PATH	(1<<1)	/* Follow the path in a table 		*/
56 #define	HARD_LOOKUP	(1<<2)	/* Block until successful 		*/
57 #define	ALL_RESULTS	(1<<3)	/* Retrieve all results 		*/
58 #define	NO_CACHE	(1<<4)	/* Do not return 'cached' results 	*/
59 #define	MASTER_ONLY	(1<<5)	/* Get value only from master server	*/
60 #define	EXPAND_NAME	(1<<6)	/* Expand partitially qualified names	*/
61 
62 /* Semantic modification for table operations flags */
63 #define	RETURN_RESULT	(1<<7)	/* Return resulting object to client    */
64 #define	ADD_OVERWRITE	(1<<8)	/* Allow overwrites on ADD		*/
65 #define	REM_MULTIPLE	(1<<9)	/* Allow wildcard deletes		*/
66 #define	MOD_SAMEOBJ	(1<<10)	/* Check modified object before write	*/
67 #define	ADD_RESERVED	(1<<11)	/* Spare ADD semantic			*/
68 #define	REM_RESERVED	(1<<12)	/* Spare REM semantic			*/
69 #ifdef ORIGINAL_DECLS
70 #define	MOD_RESERVED	(1<<13)	/* Spare MOD semantic			*/
71 #else
72 #define	MOD_EXCLUSIVE	(1<<13)	/* Modify no overwrite on modified keys	*/
73 #endif
74 
75 /* Transport specific modifications to the operation */
76 #define	USE_DGRAM	(1<<16) /* Use a datagram transport 		*/
77 #define	NO_AUTHINFO	(1<<17) /* Don't bother attaching auth info	*/
78 
79 /*
80  * Declarations for "standard" NIS+ tags
81  * State variable tags have values	0 - 2047
82  * Statistic tags have values		2048 - 65535
83  * User Tags have values		>2^16
84  */
85 #define	TAG_DEBUG	1	/* set debug level 		*/
86 #define	TAG_STATS	2	/* Enable/disable statistics 	*/
87 #define	TAG_GCACHE	3	/* Flush the Group Cache	*/
88 #ifndef ORIGINAL_DECLS
89 #define	TAG_GCACHE_ALL	TAG_GCACHE
90 #endif
91 #define	TAG_DCACHE	4	/* Flush the directory cache	*/
92 #ifndef ORIGINAL_DECLS
93 #define	TAG_DCACHE_ONE	TAG_DCACHE
94 #endif
95 #define	TAG_OCACHE	5	/* Flush the Object Cache	*/
96 #define	TAG_SECURE	6	/* Set the security level 	*/
97 #ifndef ORIGINAL_DECLS
98 #define	TAG_TCACHE_ONE	7	/* Flush the table cache	*/
99 #define	TAG_DCACHE_ALL	8	/* Flush entire directory cache */
100 #define TAG_TCACHE_ALL	9	/* Flush entire table cache	*/
101 #define	TAG_GCACHE_ONE	10	/* Flush one group object	*/
102 #define	TAG_DCACHE_ONE_REFRESH 11 /* Flush and refresh one DO	*/
103 #endif
104 
105 #define	TAG_OPSTATS	2048	/* NIS+ operations statistics   */
106 #define	TAG_THREADS	2049	/* Child process/thread status  */
107 #define	TAG_HEAP	2050	/* Heap usage statistics	*/
108 #define	TAG_UPDATES	2051	/* Updates to this service	*/
109 #define	TAG_VISIBLE	2052	/* First update that isn't replicated */
110 #define	TAG_S_DCACHE	2053	/* Directory cache statistics	*/
111 #define	TAG_S_OCACHE	2054	/* Object cache statistics	*/
112 #define	TAG_S_GCACHE	2055	/* Group cache statistics	*/
113 #define	TAG_S_STORAGE	2056	/* Group cache statistics	*/
114 #define	TAG_UPTIME	2057	/* Time that server has been up */
115 #ifndef ORIGINAL_DECLS
116 #define	TAG_DIRLIST	2058    /* Dir served by this server	*/
117 #define	TAG_NISCOMPAT	2059    /* Whether supports NIS compat mode */
118 #define	TAG_DNSFORWARDING 2060	/* Whether DNS forwarding supported*/
119 #define	TAG_SECURITY_LEVEL 2061 /* Security level of the server */
120 #define	TAG_ROOTSERVER	2062	/* Whether root server		*/
121 #endif
122 
123 /*
124  * Declarations for the Group object flags. Currently
125  * there are only 3.
126  */
127 #define	IMPMEM_GROUPS  1	/* Implicit Membership allowed 	*/
128 #define	RECURS_GROUPS  2	/* Recursive Groups allowed 	*/
129 #define	NEGMEM_GROUPS  4	/* Negative Groups allowed	*/
130 
131 #endif	/* _RPCSVC_NIS_TAGS_H */
132