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