ldap_control_create, ldap_control_find, ldap_control_dup, ldap_controls_dup, ldap_control_free, ldap_controls_free — LDAP control manipulation routines
#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 ); | 
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.
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from University of Michigan LDAP 3.3 Release.