Home | History | Annotate | Download | only in rpcsvc
      1 /*
      2  * Copyright (c) 2010, Oracle America, Inc.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions are
      6  * met:
      7  *
      8  *     * Redistributions of source code must retain the above copyright
      9  *       notice, this list of conditions and the following disclaimer.
     10  *     * Redistributions in binary form must reproduce the above
     11  *       copyright notice, this list of conditions and the following
     12  *       disclaimer in the documentation and/or other materials
     13  *       provided with the distribution.
     14  *     * Neither the name of the "Oracle America, Inc." nor the names of its
     15  *       contributors may be used to endorse or promote products derived
     16  *       from this software without specific prior written permission.
     17  *
     18  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     19  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     20  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     21  *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     22  *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
     23  *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     24  *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     25  *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26  *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     27  *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     28  *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     29  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30  */
     31 
     32 /*
     33  *	nis_tags.h
     34  *
     35  *	This file contains the tags and statistics definitions. It is
     36  *	automatically included by nis.h
     37  */
     38 
     39 #ifndef	_RPCSVC_NIS_TAGS_H
     40 #define	_RPCSVC_NIS_TAGS_H
     41 
     42 #if 0
     43 #pragma ident	"@(#)nis_tags.h	1.16	96/10/25"
     44 #endif
     45 /* from file: zns_tags.h	1.7 */
     46 
     47 #ifdef	__cplusplus
     48 extern "C" {
     49 #endif
     50 
     51 
     52 #define	NIS_DIR	"data"
     53 
     54 /* Lookup and List function flags */
     55 #define	FOLLOW_LINKS	(1<<0)	/* Follow link objects			*/
     56 #define	FOLLOW_PATH	(1<<1)	/* Follow the path in a table		*/
     57 #define	HARD_LOOKUP	(1<<2)	/* Block until successful		*/
     58 #define	ALL_RESULTS	(1<<3)	/* Retrieve all results			*/
     59 #define	NO_CACHE	(1<<4)	/* Do not return 'cached' results	*/
     60 #define	MASTER_ONLY	(1<<5)	/* Get value only from master server	*/
     61 #define	EXPAND_NAME	(1<<6)	/* Expand partitially qualified names	*/
     62 
     63 /* Semantic modification for table operations flags */
     64 #define	RETURN_RESULT	(1<<7)	/* Return resulting object to client    */
     65 #define	ADD_OVERWRITE	(1<<8)	/* Allow overwrites on ADD		*/
     66 #define	REM_MULTIPLE	(1<<9)	/* Allow wildcard deletes		*/
     67 #define	MOD_SAMEOBJ	(1<<10)	/* Check modified object before write	*/
     68 #define	ADD_RESERVED	(1<<11)	/* Spare ADD semantic			*/
     69 #define	REM_RESERVED	(1<<12)	/* Spare REM semantic			*/
     70 #define	MOD_EXCLUSIVE	(1<<13)	/* Modify no overwrite on modified keys */
     71 
     72 /* Lookup and List function flags (continued) */
     73 #define	SOFT_LOOKUP	(1<<14)	/* The "old default" return on failure  */
     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 #define	TAG_GCACHE_ALL	TAG_GCACHE
     89 #define	TAG_DCACHE	4	/* Flush the directory cache	*/
     90 #define	TAG_DCACHE_ONE	TAG_DCACHE
     91 #define	TAG_OCACHE	5	/* Flush the Object Cache	*/
     92 #define	TAG_SECURE	6	/* Set the security level	*/
     93 #define	TAG_TCACHE_ONE	7	/* Flush the table cache	*/
     94 #define	TAG_DCACHE_ALL	8	/* Flush entire directory cache	*/
     95 #define	TAG_TCACHE_ALL	9	/* Flush entire table cache	*/
     96 #define	TAG_GCACHE_ONE	10	/* Flush one group object	*/
     97 #define	TAG_DCACHE_ONE_REFRESH 11 /* Flush and refresh one DO	*/
     98 #define	TAG_READONLY	12	/* Set read only mode		*/
     99 #define	TAG_READWRITE	14	/* Reset read-write mode	*/
    100 
    101 #define	TAG_OPSTATS	2048	/* NIS+ operations statistics   */
    102 #define	TAG_THREADS	2049	/* Child process/thread status  */
    103 #define	TAG_HEAP	2050	/* Heap usage statistics	*/
    104 #define	TAG_UPDATES	2051	/* Updates to this service	*/
    105 #define	TAG_VISIBLE	2052	/* First update that isn't replicated */
    106 #define	TAG_S_DCACHE	2053	/* Directory cache statistics	*/
    107 #define	TAG_S_OCACHE	2054	/* Object cache statistics	*/
    108 #define	TAG_S_GCACHE	2055	/* Group cache statistics	*/
    109 #define	TAG_S_STORAGE	2056	/* Group cache statistics	*/
    110 #define	TAG_UPTIME	2057	/* Time that server has been up */
    111 #define	TAG_DIRLIST	2058	/* Dir served by this server    */
    112 #define	TAG_NISCOMPAT	2059	/* Whether supports NIS compat mode */
    113 #define	TAG_DNSFORWARDING 2060	/* Whether DNS forwarding supported */
    114 #define	TAG_SECURITY_LEVEL 2061	/* Security level of the server	*/
    115 #define	TAG_ROOTSERVER	2062	/* Whether root server		*/
    116 
    117 /*
    118  * Declarations for the Group object flags. Currently
    119  * there are only 3.
    120  */
    121 #define	IMPMEM_GROUPS  1	/* Implicit Membership allowed	*/
    122 #define	RECURS_GROUPS  2	/* Recursive Groups allowed	*/
    123 #define	NEGMEM_GROUPS  4	/* Negative Groups allowed	*/
    124 
    125 #ifdef	__cplusplus
    126 }
    127 #endif
    128 
    129 #endif	/* _RPCSVC_NIS_TAGS_H */
    130