NAME |LIBRARY |SYNOPSIS |DESCRIPTION |SEE ALSO |ACKNOWLEDGEMENTS |COLOPHON | |
LDAP_CONTROLS(3) Library Functions ManualLDAP_CONTROLS(3)ldap_control_create, ldap_control_find, ldap_control_dup, ldap_controls_dup, ldap_control_free, ldap_controls_free - LDAP control manipulation routines
OpenLDAP LDAP (libldap, -lldap)
#include <ldap.h>int ldap_control_create(const char *oid, intiscritical, structberval *value, intdupval, 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);
These routines are used to manipulate structures used for LDAP controls.ldap_control_create() creates a control with the specifiedOID using the contents of thevalue parameter for the control value, if any. The content ofvalue is duplicated ifdupval is non-zero. Theiscritical parameter must be non-zero for a critical control. The created control is returned in thectrlp parameter. The routine returnsLDAP_SUCCESSon success or some other error code on failure. The content ofvalue, for supported control types, can be prepared using helpers provided by this implementation of libldap, usually in the formldap_create_<controlname>_control_value(). Otherwise, it can be BER-encoded using the functionalities of liblber.ldap_control_find() searches the NULL-terminatedctrls array for a control whose OID matches theoid parameter. The routine returns a pointer to the control if found, NULL otherwise. If the parameternextctrlp is not NULL, on return it will point to the next control in the array, and can be passed to theldap_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, andldap_controls_dup() duplicates a NULL-terminated array of controls.ldap_control_free() frees an individual control structure, andldap_controls_free() frees a NULL-terminated array of controls.
ldap(3),ldap_error(3)
OpenLDAP Softwareis developed and maintained by The OpenLDAP Project <http://www.openldap.org/>.OpenLDAP Softwareis derived from the University of Michigan LDAP 3.3 Release.
This page is part of theOpenLDAP (an open source implementation of the Lightweight Directory Access Protocol) project. Information about the project can be found at ⟨http://www.openldap.org/⟩. If you have a bug report for this manual page, see ⟨http://www.openldap.org/its/⟩. This page was obtained from the project's upstream Git repository ⟨https://git.openldap.org/openldap/openldap.git⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-08-05.) 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 isnot part of the original manual page), send a mail to man-pages@man7.orgOpenLDAP LDVERSION RELEASEDATELDAP_CONTROLS(3)Pages that refer to this page:ldap(3), ldap_get_option(3), ldap_parse_reference(3), ldap_parse_result(3), ldap_parse_sort_control(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |