LDAP_CONTROLS(3)          Library Functions Manual          LDAP_CONTROLS(3)

NAME         top

       ldap_control_create,  ldap_control_find,  ldap_control_dup, ldap_con‐
       trols_dup,  ldap_control_free,  ldap_controls_free  -  LDAP   control
       manipulation routines

LIBRARY         top

       OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS         top

       #include <ldap.h>

       int ldap_control_create(const char *oid, int iscritical, struct
       berval *value, int dupval, LDAPControl **ctrlp);

       LDAPControl *ldap_control_find( const char *oid, LDAPControl **ctrls,
       LDAPControl ***nextctrlp);

       LDAPControl *ldap_control_dup(LDAPControl *ctrl);

       LDAPControl **ldap_controls_dup(LDAPControl **ctrls);

       void ldap_control_free(LDAPControl *ctrl);

       void ldap_controls_free(LDAPControl **ctrls);

DESCRIPTION         top

       These routines are used to manipulate structures used for LDAP

       ldap_control_create() creates a control with the specified OID using
       the contents of the value parameter for the control value, if any.
       The content of value is duplicated if dupval is non-zero.  The
       iscritical parameter must be non-zero for a critical control. The
       created control is returned in the ctrlp parameter.  The routine
       returns LDAP_SUCCESS on success or some other error code on failure.
       The content of value, for supported control types, can be prepared
       using helpers provided by this implementation of libldap, usually in
       the form ldap_create_<control name>_control_value().  Otherwise, it
       can be BER-encoded using the functionalities of liblber.

       ldap_control_find() searches the NULL-terminated ctrls array for a
       control whose OID matches the oid parameter.  The routine returns a
       pointer to the control if found, NULL otherwise.  If the parameter
       nextctrlp is not NULL, on return it will point to the next control in
       the array, and can be passed to the ldap_control_find() routine for
       subsequent calls, to find further occurrences of the same control
       type.  The use of this function is discouraged; the recommended way
       of handling controls in responses consists in going through the array
       of controls, dealing with each of them in the returned order, since
       it could matter.

       ldap_control_dup() duplicates an individual control structure, and
       ldap_controls_dup() duplicates a NULL-terminated array of controls.

       ldap_control_free() frees an individual control structure, and
       ldap_controls_free() frees a NULL-terminated array of controls.

SEE ALSO         top

       ldap(3), ldap_error(3)


       OpenLDAP Software is developed and maintained by The OpenLDAP Project
       <>.  OpenLDAP Software is derived from the
       University of Michigan LDAP 3.3 Release.

COLOPHON         top

       This page is part of the OpenLDAP (an open source implementation of
       the Lightweight Directory Access Protocol) project.  Information
       about the project can be found at ⟨⟩.  If you
       have a bug report for this manual page, see 
       ⟨⟩.  This page was obtained from the
       project's upstream Git repository 
       ⟨git://⟩ on 2017-03-13.  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail

OpenLDAP LDVERSION               RELEASEDATE                LDAP_CONTROLS(3)