Manpages - ldap_controls.3

Table of Contents

NAME

ldap_control_create, ldap_control_find, ldap_control_dup, ldap_controls_dup, ldap_control_free, ldap_controls_free - LDAP control manipulation routines

LIBRARY

OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS

#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

These routines are used to manipulate structures used for LDAP controls.

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

*ldap*(3), *ldap_error*(3)

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project http://www.openldap.org/. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

Author: dt

Created: 2022-02-20 Sun 16:56