Removes a replica from the specified directory server.
#include <ldapx.h> int ldap_remove_replica ( LDAP *ld, char *dn, char *serverDN, int flags);
(IN) Points to the handle for the LDAP session.
(IN) Points to the distinguished name, in LDAP format, of the replica to be removed.
(IN) Points to the distinguished name, in LDAP format, of the server holding the replica to be removed.
(IN) Specifies whether all the servers in the replica ring must be up before proceeding. When set to zero, the status of the servers is not checked. When set to LDAP_ENSURE_SERVERS_UP, all the servers must be up for the operation to proceed.
0x00 |
LDAP_SUCCESS |
0x01 |
LDAP_OPERATIONS_ERROR: A string is returned with this error code that indicates the source of the error. |
0x53 |
LDAP_ENCODING_ERROR |
0x5A |
LDAP_NO_MEMORY |
0x5C |
LDAP_NOT_SUPPORTED |
Non-zero |
Non-zero values indicate errors. See |
A replica's distinguished name is the distinguished name of the replica's root container, called the partition root in eDirectory.
The caller must have supervisor rights to the master replica.
This function can remove all the replicas of a partition except the master replica. If the master replica is the only replica left, it is removed by merging the child partition with its parent partition.
For sample code, see remrepl.c.
The requestName is set to the OID (2.16.840.1.113719.1.27.100.11) and the requestValue is a BER encoding of the following:
RequestBer flags INTEGER serverName LDAPDN dn LDAPDN
The responseName is set to the OID (2.16.840.1.113719.1.27.100.12) and the responseValue has no value.
ResponseBer NULL