ldap_add_ext

Asynchronously adds an entry to the directory using LDAP client or server controls.

LDAP Version: v3
Library:*ldapsdk.*
NDS Version:7.xx or higher
Platform:NLM, Windows (NT, 95, 98, 2000, XP, Vista 32-bit and 64-bit ), Linux (32-bit and 64-bit), Solaris, AIX, and HP-UX

Syntax

  #include <ldap.h>
  
  int ldap_add_ext (
     LDAP           *ld,
     const char     *dn,
     LDAPMod       **attrs,
     LDAPControl   **serverctrls,
     LDAPControl   **clientctrls,
     int            *msgidp);
  
  

Parameters

ld

(IN) Points to the handle for the LDAP session.

dn

(IN) Points to the distinguished name of the entry to add, for example: "o=novell", "ou=provo", "cn=kim"

All components of the dn must exist except for the leaf component. The leaf component name must be unique within the container.

attrs

(IN) Points to a NULL-terminated array of LDAPMod structures that contain the attributes and values to add with the entry. All mandatory attributes must have values or the operation fails.

serverctrls

(IN) Points to an array of LDAPControl structures that list the server controls to use with the add. Use NULL to specify no server controls.

clientctrls

(IN) Points to an array of LDAPControl structures that list the client controls to use with the add. Use NULL to specify no client controls.

msgidp

(OUT) Points to the message ID of the request when the add request succeeds.

Return Values

0x00

LDAP_SUCCESS

Non-zero

Failure. For a complete list, see LDAP Return Codes.

0x53

LDAP_ENCODING_ERROR

0x5A

LDAP_NO_MEMORY

Remarks

To obtain the results of the operation, call the ldap_result function with the returned message ID.

For a list of mandatory attributes for an entry see the LDAP server's schema. For eDirectory, see NDK: Novell eDirectory Schema Reference.

If you are adding an entry that logs in to the directory, you need to set a value for the userPassword attribute. The userPassword attribute is not a mandatory attriubute. However, if you create an entry without a userPassword attribute, the entry cannot log in.

eDirectory does not currently support any server-side controls to use with adding entries.

See Also

ldap_add, ldap_add_ext_s, ldap_add_s