1 /******************************************************************************
3 * Copyright (c) 2003 Novell Inc. www.novell.com
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:
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
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
22 *******************************************************************************/
24 // Novell.Directory.Ldap.Extensions.ReplicationConstants.cs
27 // Sunil Kumar (Sunilk@novell.com)
29 // (C) 2003 Novell, Inc (http://www.novell.com)
34 namespace Novell.Directory.Ldap.Extensions
38 * public class ReplicationConstants
41 /// <summary> Contains a collection of constants used by the replication management
42 /// in Novell Ldap extensions.
44 public class ReplicationConstants
47 /// <summary> A constant for the SplitPartitionRequest OID.</summary>
48 public const System.String CREATE_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.3";
50 /// <summary> A constant for the SplitPartitionResponse OID.</summary>
51 public const System.String CREATE_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.4";
53 /// <summary> A constant for the mergePartitionRequest OID.</summary>
54 public const System.String MERGE_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.5";
56 /// <summary> A constant for the mergePartitionResponse OID.</summary>
57 public const System.String MERGE_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.6";
59 /// <summary> A constant for the addReplicaRequest OID.</summary>
60 public const System.String ADD_REPLICA_REQ = "2.16.840.1.113719.1.27.100.7";
62 /// <summary> A constant for the addReplicaResponse OID.</summary>
63 public const System.String ADD_REPLICA_RES = "2.16.840.1.113719.1.27.100.8";
65 /// <summary> A constant for the refreshServerRequest OID.</summary>
66 public const System.String REFRESH_SERVER_REQ = "2.16.840.1.113719.1.27.100.9";
68 /// <summary> A constant for the refreshServerResponse OID.</summary>
69 public const System.String REFRESH_SERVER_RES = "2.16.840.1.113719.1.27.100.10";
71 /// <summary> A constant for the removeReplicaRequest OID.</summary>
72 public const System.String DELETE_REPLICA_REQ = "2.16.840.1.113719.1.27.100.11";
74 /// <summary> A constant for the removeReplicaResponse OID.</summary>
75 public const System.String DELETE_REPLICA_RES = "2.16.840.1.113719.1.27.100.12";
77 /// <summary> A constant for the partitionEntryCountRequest OID.</summary>
78 public const System.String NAMING_CONTEXT_COUNT_REQ = "2.16.840.1.113719.1.27.100.13";
80 /// <summary> A constant for the partitionEntryCountResponse OID.</summary>
81 public const System.String NAMING_CONTEXT_COUNT_RES = "2.16.840.1.113719.1.27.100.14";
83 /// <summary> A constant for the changeReplicaTypeRequest OID.</summary>
84 public const System.String CHANGE_REPLICA_TYPE_REQ = "2.16.840.1.113719.1.27.100.15";
86 /// <summary> A constant for the changeReplicaTypeResponse OID.</summary>
87 public const System.String CHANGE_REPLICA_TYPE_RES = "2.16.840.1.113719.1.27.100.16";
89 /// <summary> A constant for the getReplicaInfoRequest OID.</summary>
90 public const System.String GET_REPLICA_INFO_REQ = "2.16.840.1.113719.1.27.100.17";
92 /// <summary> A constant for the getReplicaInfoResponse OID.</summary>
93 public const System.String GET_REPLICA_INFO_RES = "2.16.840.1.113719.1.27.100.18";
95 /// <summary> A constant for the listReplicaRequest OID.</summary>
96 public const System.String LIST_REPLICAS_REQ = "2.16.840.1.113719.1.27.100.19";
98 /// <summary> A constant for the listReplicaResponse OID.</summary>
99 public const System.String LIST_REPLICAS_RES = "2.16.840.1.113719.1.27.100.20";
101 /// <summary> A constant for the receiveAllUpdatesRequest OID.</summary>
102 public const System.String RECEIVE_ALL_UPDATES_REQ = "2.16.840.1.113719.1.27.100.21";
104 /// <summary> A constant for the receiveAllUpdatesResponse OID.</summary>
105 public const System.String RECEIVE_ALL_UPDATES_RES = "2.16.840.1.113719.1.27.100.22";
107 /// <summary> A constant for the sendAllUpdatesRequest OID.</summary>
108 public const System.String SEND_ALL_UPDATES_REQ = "2.16.840.1.113719.1.27.100.23";
110 /// <summary> A constant for the sendAllUpdatesResponse OID.</summary>
111 public const System.String SEND_ALL_UPDATES_RES = "2.16.840.1.113719.1.27.100.24";
113 /// <summary> A constant for the requestPartitionSyncRequest OID.</summary>
114 public const System.String NAMING_CONTEXT_SYNC_REQ = "2.16.840.1.113719.1.27.100.25";
116 /// <summary> A constant for the requestPartitionSyncResponse OID.</summary>
117 public const System.String NAMING_CONTEXT_SYNC_RES = "2.16.840.1.113719.1.27.100.26";
119 /// <summary> A constant for the requestSchemaSyncRequest OID.</summary>
120 public const System.String SCHEMA_SYNC_REQ = "2.16.840.1.113719.1.27.100.27";
122 /// <summary> A constant for the requestSchemaSyncResponse OID.</summary>
123 public const System.String SCHEMA_SYNC_RES = "2.16.840.1.113719.1.27.100.28";
125 /// <summary> A constant for the abortPartitionOperationRequest OID.</summary>
126 public const System.String ABORT_NAMING_CONTEXT_OP_REQ = "2.16.840.1.113719.1.27.100.29";
128 /// <summary> A constant for the abortPartitionOperationResponse OID.</summary>
129 public const System.String ABORT_NAMING_CONTEXT_OP_RES = "2.16.840.1.113719.1.27.100.30";
131 /// <summary> A constant for the getContextIdentityNameRequest OID.</summary>
132 public const System.String GET_IDENTITY_NAME_REQ = "2.16.840.1.113719.1.27.100.31";
134 /// <summary> A constant for the getContextIdentityNameResponse OID.</summary>
135 public const System.String GET_IDENTITY_NAME_RES = "2.16.840.1.113719.1.27.100.32";
137 /// <summary> A constant for the getEffectivePrivilegesRequest OID.</summary>
138 public const System.String GET_EFFECTIVE_PRIVILEGES_REQ = "2.16.840.1.113719.1.27.100.33";
140 /// <summary> A constant for the getEffectivePrivilegesResponse OID.</summary>
141 public const System.String GET_EFFECTIVE_PRIVILEGES_RES = "2.16.840.1.113719.1.27.100.34";
143 /// <summary> A constant for the setReplicationFilterRequest OID.</summary>
144 public const System.String SET_REPLICATION_FILTER_REQ = "2.16.840.1.113719.1.27.100.35";
146 /// <summary> A constant for the setReplicationFilterResponse OID.</summary>
147 public const System.String SET_REPLICATION_FILTER_RES = "2.16.840.1.113719.1.27.100.36";
149 /// <summary> A constant for the getReplicationFilterRequest OID.</summary>
150 public const System.String GET_REPLICATION_FILTER_REQ = "2.16.840.1.113719.1.27.100.37";
152 /// <summary> A constant for the getReplicationFilterResponse OID.</summary>
153 public const System.String GET_REPLICATION_FILTER_RES = "2.16.840.1.113719.1.27.100.38";
155 /// <summary> A constant for the splitOrphanPartitionRequest OID.</summary>
156 public const System.String CREATE_ORPHAN_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.39";
158 /// <summary> A constant for the splitOrphanPartitionResponse OID.</summary>
159 public const System.String CREATE_ORPHAN_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.40";
161 /// <summary> A constant for the removeOrphanPartitionRequest OID.</summary>
162 public const System.String REMOVE_ORPHAN_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.41";
164 /// <summary> A constant for the removeOrphanPartitionResponse OID.</summary>
165 public const System.String REMOVE_ORPHAN_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.42";
167 /// <summary> A constant for the triggerBackLinkerRequest OID.</summary>
168 public const System.String TRIGGER_BKLINKER_REQ = "2.16.840.1.113719.1.27.100.43";
170 /// <summary> A constant for the triggerBackLinkerResponse OID.</summary>
171 public const System.String TRIGGER_BKLINKER_RES = "2.16.840.1.113719.1.27.100.44";
173 /// <summary> A constant for the triggerJanitorRequest OID.</summary>
174 public const System.String TRIGGER_JANITOR_REQ = "2.16.840.1.113719.1.27.100.47";
176 /// <summary> A constant for the triggerJanitorResponse OID.</summary>
177 public const System.String TRIGGER_JANITOR_RES = "2.16.840.1.113719.1.27.100.48";
179 /// <summary> A constant for the triggerLimberRequest OID.</summary>
180 public const System.String TRIGGER_LIMBER_REQ = "2.16.840.1.113719.1.27.100.49";
182 /// <summary> A constant for the triggerLimberResponse OID.</summary>
183 public const System.String TRIGGER_LIMBER_RES = "2.16.840.1.113719.1.27.100.50";
185 /// <summary> A constant for the triggerSkulkerRequest OID.</summary>
186 public const System.String TRIGGER_SKULKER_REQ = "2.16.840.1.113719.1.27.100.51";
188 /// <summary> A constant for the triggerSkulkerResponse OID.</summary>
189 public const System.String TRIGGER_SKULKER_RES = "2.16.840.1.113719.1.27.100.52";
191 /// <summary> A constant for the triggerSchemaSyncRequest OID.</summary>
192 public const System.String TRIGGER_SCHEMA_SYNC_REQ = "2.16.840.1.113719.1.27.100.53";
194 /// <summary> A constant for the triggerSchemaSyncResponse OID.</summary>
195 public const System.String TRIGGER_SCHEMA_SYNC_RES = "2.16.840.1.113719.1.27.100.54";
197 /// <summary> A constant for the triggerPartitionPurgeRequest OID.</summary>
198 public const System.String TRIGGER_PART_PURGE_REQ = "2.16.840.1.113719.1.27.100.55";
200 /// <summary> A constant for the triggerPartitionPurgeResponse OID.</summary>
201 public const System.String TRIGGER_PART_PURGE_RES = "2.16.840.1.113719.1.27.100.56";
204 /// <summary> A constant that specifies that all servers in a replica ring must be
205 /// running for a partition operation to proceed.
207 public const int Ldap_ENSURE_SERVERS_UP = 1;
210 /// <summary> Identifies this replica as the master replica of the partition.
212 /// On this type of replica, entries can be modified, and partition
213 /// operations can be performed.
215 public const int Ldap_RT_MASTER = 0;
217 /// <summary> Identifies this replica as a secondary replica of the partition.
219 /// On this type of replica, read and write operations can be performed,
220 /// and entries can be modified.
222 public const int Ldap_RT_SECONDARY = 1;
224 /// <summary> Identifies this replica as a read-only replica of the partition.
226 /// Only Novell eDirectory synchronization processes can modified
227 /// entries on this replica.
229 public const int Ldap_RT_READONLY = 2;
231 /// <summary> Identifies this replica as a subordinate reference replica of the
234 /// NOvell eDirectory automatically adds these replicas to a server
235 /// when the server does not contain replicas of all child partitions.
236 /// Only eDirectory can modify information on these types of replicas.
238 public const int Ldap_RT_SUBREF = 3;
240 /// <summary> Identifies this replica as a read/write replica of the partition,
241 /// but the replica contains sparse data.
243 /// The replica has been configured to contain only specified object types
244 /// and attributes. On this type of replica, only the attributes and objects
245 /// contained in the sparse data can be modified.
247 public const int Ldap_RT_SPARSE_WRITE = 4;
249 /// <summary> Identifies this replica as a read-only replica of the partition,
250 /// but the replica contains sparse data.
252 /// The replica has been configured to contain only specified object types
253 /// and attributes. On this type of replica, only Novell eDirectory
254 /// synchronization processes can modify the sparse data.
256 public const int Ldap_RT_SPARSE_READ = 5;
260 /// <summary> Indicates that the replica is fully functioning and capable of responding
263 public const int Ldap_RS_ON = 0;
265 /// <summary> Indicates that a new replica has been added but has not received a full
266 /// download of information from the replica ring.
268 public const int Ldap_RS_NEW_REPLICA = 1;
270 /// <summary> Indicates that the replica is being deleted and that the request has
273 public const int Ldap_RS_DYING_REPLICA = 2;
275 /// <summary> Indicates that the replica is locked. The move operation uses this state
276 /// to lock the parent partition of the child partition that is moving.
278 public const int Ldap_RS_LOCKED = 3;
280 /// <summary> Indicates that a new replica has finished receiving its download from the
281 /// master replica and is now receiving synchronization updates from other
284 public const int Ldap_RS_TRANSITION_ON = 6;
287 /// <summary> Indicates that the dying replica needs to synchronize with another replica
288 /// before being converted either to an external reference, if a root replica,
289 /// or to a subordinate reference, if a non-root replica.
291 public const int Ldap_RS_DEAD_REPLICA = 7;
293 /// <summary> Indicates that the subordinate references of the new replica are being
296 public const int Ldap_RS_BEGIN_ADD = 8;
298 /// <summary> Indicates that a partition is receiving a new master replica.
300 /// The replica that will be the new master replica is set to this state.
302 public const int Ldap_RS_MASTER_START = 11;
304 /// <summary> Indicates that a partition has a new master replica.
306 /// When the new master is set to this state, Novell eDirectory knows
307 /// that the replica is now the master and changes its replica type to
308 /// master and the old master to read/write.
310 public const int Ldap_RS_MASTER_DONE = 12;
312 /// <summary> Indicates that the partition is going to split into two partitions.
314 /// In this state, other replicas of the partition are informed of the
317 public const int Ldap_RS_SS_0 = 48; // Replica splitting 0
319 /// <summary> Indicates that that the split partition operation has started.
321 /// When the split is finished, the state will change to RS_ON.
323 public const int Ldap_RS_SS_1 = 49; // Replica splitting 1
325 /// <summary> Indicates that that two partitions are in the process of joining
326 /// into one partition.
328 /// In this state, the replicas that are affected are informed of the join
329 /// operation. The master replica of the parent and child partitions are
330 /// first set to this state and then all the replicas of the parent and child.
331 /// New replicas are added where needed.
333 public const int Ldap_RS_JS_0 = 64; // Replica joining 0
335 /// <summary> Indicates that that two partitions are in the process of joining
336 /// into one partition.
338 /// This state indicates that the join operation is waiting for the new
339 /// replicas to synchronize and move to the RS_ON state.
341 public const int Ldap_RS_JS_1 = 65; // Replica joining 1
343 /// <summary> Indicates that that two partitions are in the process of joining
344 /// into one partition.
346 /// This state indicates that all the new replicas are in the RS_ON state
347 /// and that the rest of the work can be completed.
349 public const int Ldap_RS_JS_2 = 66; // Replica joining 2
352 // Values for flags used in the replica info class structure
354 /// <summary> Indicates that the replica is involved with a partition operation,
355 /// for example, merging a tree or moving a subtree.
357 public const int Ldap_DS_FLAG_BUSY = 0x0001;
359 /// <summary> Indicates that this partition is on the DNS federation boundary.
360 /// This flag is only set on DNS trees.
362 public const int Ldap_DS_FLAG_BOUNDARY = 0x0002;
365 public ReplicationConstants()