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