xref: /illumos-gate/usr/src/man/man3ldap/ldap_add.3ldap (revision 5ee6ac27d4fd4c9412183aa8cc1143f36ae04a8c)
te
Copyright (C) 1990, Regents of the University of Michigan. All Rights Reserved.
Portions Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
LDAP_ADD 3LDAP "Jan 27, 2002"
NAME
ldap_add, ldap_add_s, ldap_add_ext, ldap_add_ext_s - perform an LDAP add operation
SYNOPSIS

cc[ flag... ] file... -lldap[ library... ]
#include <lber.h>
#include <ldap.h>

intldap_add(LDAP *ld, char *dn, LDAPMod *attrs[]);

intldap_add_s(LDAP *ld, char *dn, LDAPMod *attrs[]);

int ldap_add_ext(LDAP *ld, char *dn, LDAPMod **attrs,
 LDAPControl **serverctrls, int * msgidp);

int ldap_add_ext_s(LDAP *ld, char *dn, LDAPMod **attrs,
 LDAPControl **serverctrls, LDAPControl **clientctrls);
DESCRIPTION

The ldap_add_s() function is used to perform an LDAP add operation. It takes dn, the DN of the entry to add, and attrs, a null-terminated array of the entry's attributes. The LDAPMod structure is used to represent attributes, with the mod_type and mod_values fields being used as described under ldap_modify(3LDAP), and the ldap_op field being used only if you need to specify the LDAP_MOD_BVALUES option. Otherwise, it should be set to zero.

Note that all entries except that specified by the last component in the given DN must already exist. ldap_add_s() returns an LDAP error code indicating success or failure of the operation. See ldap_error(3LDAP) for more details.

The ldap_add() function works just like ldap_add_s(), but it is asynchronous. It returns the message id of the request it initiated. The result of this operation can be obtained by calling ldap_result(3LDAP).

The ldap_add_ext() function initiates an asynchronous add operation and returns LDAP_SUCCESS if the request was successfully sent to the server, or else it returns a LDAP error code if not (see ldap_error(3LDAP)). If successful, ldap_add_ext() places the message id of *msgidp. A subsequent call to ldap_result(), can be used to obtain the result of the add request.

The ldap_add_ext_s() function initiates a synchronous add operation and returns the result of the operation itself.

ERRORS

ldap_add() returns -1 in case of error initiating the request, and will set the ld_errno field in the ld parameter to indicate the error. ldap_add_s() will return an LDAP error code directly.

ATTRIBUTES

See attributes(5) for a description of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving
SEE ALSO

ldap(3LDAP), ldap_error(3LDAP), ldap_modify(3LDAP), attributes(5)