Replica Pointer

Is used for attributes whose values represent partition replicas.

Syntax ID

#define SYN_REPLICA_POINTER 16

LDAP Name

NDS Replica Pointer

ASN.1 ID

2.16.840.1.113719.1.1.5.1.16

API Data Structure

typedef struct 
{
   pnstr8              serverName; 
   nint32              replicaType; 
   nint32              replicaNumber; 
   nuint32             count; 
   Net_Address_T       replicaAddressHint[1]; 
} Replica_Pointer_T;

Transfer Format

uint32              Length 
unicode             Server Name 
Align4 
uint16              Replica Type 
uint16              Replica State 
uint32              Replica Number 
uint32              Number of Addresses = N 
Address Record[N]   Addresses 
 
/* For each address record */ 
Align 4 
uint32         Transport Type 
uint32         Address Length = M 
BYTE [M]       Address Value 

LDAP Format

This syntax can only be transmitted in binary form.

Binary

ndsReplicaPointer ::= SEQUENCE {
   serverName           LDAPDN,
   replicaType          uint16,
   replicaState         uint16,
   replicaRootID        uint32,
   replicaNumber        uint32,
   replicaAddressHint   SEQUENCE OF NetAddress
}

NetAddress ::= SEQUENCE {
   transportType   uint32,
   addressValue    OCTET STRING
}

Matching Rules

Remarks

For help in understanding the syntax definition template, see Reading Syntax Definitions.

Each value of this syntax is composed of five parts:

  • The complete name of the server that stores the replica.

  • A value describing the capabilities of this copy of the partition: master, secondary, read-only, subordinate reference. For constants defined for C, see Replica Types in NDK: Novell eDirectory Core Services.

  • A value indicating the current state of the replica (new, dying, locked, changing state, splitting, joining, moving). For constants defined for C, see Replica States in NDK: Novell eDirectory Core Services.

  • A number representing the replica. All replicas of a partition have different numbers which are assigned when the replicas are created.

  • A referral which contains a count of the addresses and then one or more network addresses that hint at the node at which the server probably resides. Since servers are accessible over different protocols, the server may have an address for each supported protocol.

The matching rules for values of Replica Pointer are based on the replica server name field only, and are the same as those for Distinguished Name.

The length of the replicaAddressHint structure is variable and cannot be calculated in a block, because address types are not all the same length. For more information, see the Net_Address_T structure (NDK: Novell eDirectory Core Services).

Used In