2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / Novell.Directory.Ldap / Novell.Directory.Ldap / LdapDSConstants.cs
1 /******************************************************************************
2 * The MIT License
3 * Copyright (c) 2003 Novell Inc.  www.novell.com
4
5 * Permission is hereby granted, free of charge, to any person obtaining  a copy
6 * of this software and associated documentation files (the Software), to deal
7 * in the Software without restriction, including  without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
9 * copies of the Software, and to  permit persons to whom the Software is 
10 * furnished to do so, subject to the following conditions:
11
12 * The above copyright notice and this permission notice shall be included in 
13 * all copies or substantial portions of the Software.
14
15 * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 *******************************************************************************/
23 //
24 // Novell.Directory.Ldap.LdapDSConstants.cs
25 //
26 // Author:
27 //   Sunil Kumar (Sunilk@novell.com)
28 //
29 // (C) 2003 Novell, Inc (http://www.novell.com)
30 //
31
32 using System;
33 namespace Novell.Directory.Ldap
34 {
35         
36         /// <summary> LDAPDSConstants.java contains bit values for [Entry Rights], [All attribute
37         /// Rights], attribute rights, and entry flags in Novell eDirectory 
38         /// </summary>
39         public struct LdapDSConstants{
40                 ///////////////////////////////////////////////////////////////////////////
41                 // bit values for [Entry Rights] of access control in Novell eDirecroty
42                 ///////////////////////////////////////////////////////////////////////////
43                 /// <summary> Browse right.
44                 /// 
45                 /// <p>Allows a trustee to discover objects in the Novell eDirectory tree. 
46                 /// </p>
47                 /// </summary>
48                 public readonly static long LDAP_DS_ENTRY_BROWSE = 0x00000001L;
49                 /// <summary> Creation right .
50                 /// 
51                 /// <p>Allows a trustee to create child objects (new objects that are
52                 /// subordinate to the object in the Novell eDirectory tree). </p>
53                 /// </summary>
54                 public readonly static long LDAP_DS_ENTRY_ADD = 0x00000002L;
55                 /// <summary> Delete right.
56                 /// 
57                 /// <p>Allows a trustee to delete an object. This right does not allow a 
58                 /// trustee to delete a container object that has subordinate objects. </p>
59                 /// </summary>
60                 public readonly static long LDAP_DS_ENTRY_DELETE = 0x00000004L;
61                 /// <summary> Rename right.
62                 /// 
63                 /// <p>Allows a trustee to rename the object.</p>
64                 /// </summary>
65                 public readonly static long LDAP_DS_ENTRY_RENAME = 0x00000008L;
66                 /// <summary> Supercisor rights.
67                 /// 
68                 /// <p>Gives a trustee all rights to an object and its attributes.</p>
69                 /// </summary>
70                 public readonly static long LDAP_DS_ENTRY_SUPERVISOR = 0x00000010L;
71                 /// <summary> Inherit ACL.
72                 /// 
73                 /// <p>Allows a trustee to inherit the rights granted in the ACL
74                 /// and exercise them on subordinate objects.</p>
75                 /// </summary>
76                 public readonly static long LDAP_DS_ENTRY_INHERIT_CTL = 0x00000040L;
77                 ///////////////////////////////////////////////////////////////////////////
78                 // bit values for [Attribute Rights] and attribute rights of access control
79                 // in Novell eDirecroty
80                 ///////////////////////////////////////////////////////////////////////////
81                 /// <summary> Attribute compare.
82                 /// 
83                 /// <p>Allows a trustee to compare a value with an attribute's value. This 
84                 /// allows the trustee to see if the attribute contains the value without 
85                 /// having rights to see the value.</p>
86                 /// </summary>
87                 public readonly static long LDAP_DS_ATTR_COMPARE = 0x00000001L;
88                 /// <summary> Attribute read.
89                 /// 
90                 /// <p>Allows a trustee to read an attribute value. This right confers
91                 /// the Compare right.</p>
92                 /// </summary>
93                 public readonly static long LDAP_DS_ATTR_READ = 0x00000002L;
94                 /// <summary> Attribute write.
95                 /// 
96                 /// <p>Allows a trustee to add, delete, or modify an attribute value. This 
97                 /// right also gives the trustee the Self (Add or Delete Self) right.</p>
98                 /// </summary>
99                 public readonly static long LDAP_DS_ATTR_WRITE = 0x00000004L;
100                 /// <summary> Self rights.
101                 /// 
102                 /// <p>Allows a trustee to add or delete its name as an attribute value on 
103                 /// those attributes that take object names as their values.</p>
104                 /// </summary>
105                 public readonly static long LDAP_DS_ATTR_SELF = 0x00000008L;
106                 /// <summary> All attribute rights.
107                 /// 
108                 /// <p>Gives a trustee all rights to the object's attributes.</p>
109                 /// </summary>
110                 public readonly static long LDAP_DS_ATTR_SUPERVISOR = 0x00000020L;
111                 /// <summary> inherit the ACL rights.
112                 /// 
113                 /// <p>Allows a trustee to inherit the rights granted in the ACL and 
114                 /// exercise these attribute rights on subordinate objects.</p>
115                 /// </summary>
116                 public readonly static long LDAP_DS_ATTR_INHERIT_CTL = 0x00000040L;
117                 /// <summary> dynamic ACL.
118                 /// 
119                 /// <p>This bit will be set if the trustee in the ACL is a dynamic group 
120                 /// and its dynamic members should be considered for ACL rights 
121                 /// calculation purposes. If this bit is reset, the trustee's static 
122                 /// members alone will be considered for rights calculation purposes.</p>
123                 /// </summary>
124                 public readonly static long LDAP_DS_DYNAMIC_ACL = 0x40000000L;
125                 ///////////////////////////////////////////////////////////////////////////
126                 // bit values of entry flag in Novell eDirectory
127                 ///////////////////////////////////////////////////////////////////////////
128                 /// <summary> Alias object.
129                 /// 
130                 /// <p>Indicates that the entry is an alias object.</p>
131                 /// </summary>
132                 public readonly static int LDAP_DS_ALIAS_ENTRY = 0x0001;
133                 /// <summary> Partition root.
134                 /// 
135                 /// <p>Indicates that the entry is the root partition.</p>
136                 /// </summary>
137                 public readonly static int LDAP_DS_PARTITION_ROOT = 0x0002;
138                 /// <summary>Container entry.
139                 /// 
140                 /// <p>Indicates that the entry is a container object and not a container
141                 /// alias.</p>
142                 /// </summary>
143                 public readonly static int LDAP_DS_CONTAINER_ENTRY = 0x0004;
144                 /// <summary> Container alias.
145                 /// 
146                 /// <p>Indicates that the entry is a container alias.</p>
147                 /// </summary>
148                 public readonly static int LDAP_DS_CONTAINER_ALIAS = 0x0008;
149                 /// <summary> Matches the list.
150                 /// 
151                 /// <p>Indicates that the entry matches the List filter.</p>
152                 /// </summary>
153                 public readonly static int LDAP_DS_MATCHES_LIST_FILTER = 0x0010;
154                 /// <summary> Reference entry.
155                 /// 
156                 /// <p>Indicates that the entry has been created as a reference rather than 
157                 /// an entry. The synchronization process is still running and has not 
158                 /// created an entry for the object on this replica.</p>
159                 /// </summary>
160                 public readonly static int LDAP_DS_REFERENCE_ENTRY = 0x0020;
161                 /// <summary> 4.0x reference entry.
162                 /// 
163                 /// <p>Indicates that the entry is a reference rather than the object. The
164                 /// reference is in the older 4.0x form and appears only when upgrading </p>
165                 /// </summary>
166                 public readonly static int LDAP_DS_40X_REFERENCE_ENTRY = 0x0040;
167                 /// <summary> New entry.
168                 /// 
169                 /// <p>Indicates that the entry is being back linked.</p>
170                 /// </summary>
171                 public readonly static int LDAP_DS_BACKLINKED = 0x0080;
172                 /// <summary> Temporary reference.
173                 /// 
174                 /// <p>Indicates that the entry is new and replicas are still being updated.
175                 /// </p>
176                 /// </summary>
177                 public readonly static int LDAP_DS_NEW_ENTRY = 0x0100;
178                 /// <summary> Temporary reference.
179                 /// 
180                 /// <p>Indicates that an external reference has been temporarily created for
181                 /// authentication; when the object logs out, the temporary reference is 
182                 /// deleted.</p>
183                 /// </summary>
184                 public readonly static int LDAP_DS_TEMPORARY_REFERENCE = 0x0200;
185                 /// <summary> Audited.
186                 /// 
187                 /// <p>Indicates that the entry is being audited.</p>
188                 /// </summary>
189                 public readonly static int LDAP_DS_AUDITED = 0x0400;
190                 /// <summary> Entry not present.
191                 /// 
192                 /// <p>Indicates that the state of the entry is not present.</p>
193                 /// </summary>
194                 public readonly static int LDAP_DS_ENTRY_NOT_PRESENT = 0x0800;
195                 /// <summary> Verify entry creation timestamp.
196                 /// 
197                 /// <p>Indicates the entry's creation timestamp needs to be verified. Novell 
198                 /// eDirectory sets this flag when a replica is removed or upgraded from 
199                 /// NetWare 4.11 to NetWare 5.</p>
200                 /// </summary>
201                 public readonly static int LDAP_DS_ENTRY_VERIFY_CTS = 0x1000;
202                 /// <summary> entry damaged.
203                 /// 
204                 /// <p>Indicates that the entry's information does not conform to the 
205                 /// standard format and is therefore damaged.</p>
206                 /// </summary>
207                 public readonly static int LDAP_DS_ENTRY_DAMAGED = 0x2000;
208         }
209 }