ldap_compare, ldap_compare_s, ldap_compare_ext, ldap_compare_ext_s — Perform an LDAP compare operation.
OpenLDAP LDAP (libldap, -lldap)
#include <ldap.h> int ldap_compare_ext( LDAP *ld, char *dn, char *attr, const struct berval *bvalue, LDAPControl **serverctrls, LDAPControl **clientctrls, int *msgidp ); int ldap_compare_ext_s( LDAP *ld, char *dn, char *attr, const struct berval *bvalue, LDAPControl **serverctrls, LDAPControl **clientctrls );
The ldap_compare_ext_s() routine is used to perform an LDAP compare operation synchronously. It takes dn, the DN of the entry upon which to perform the compare, and attr and value, the attribute description and value to compare to those found in the entry. It returns a code, which will be LDAP_COMPARE_TRUE if the entry contains the attribute value and LDAP_COMPARE_FALSE if it does not. Otherwise, an error code is returned that indicates the nature of the problem. See ldap(3) for details.
The ldap_compare_ext() routine is used to perform an LDAP compare operation asynchronously. It takes the same parameters as ldap_compare_ext_s(), but provides the message id of the request it initiated in the integer pointed to msgidp. The result of the compare can be obtained by a subsequent call to ldap_result(3).
Both routines allow server and client controls to be specified to extend the compare request.
The routines ldap_compare() and ldap_compare_s() are deprecated in favor of ldap_compare_ext() and ldap_compare_ext_s(), respectively.
Deprecated interfaces generally remain in the library. The macro LDAP_DEPRECATED can be defined to a non-zero value (e.g., -DLDAP_DEPRECATED=1) when compiling program designed to use deprecated interfaces. It is recommended that developers writing new programs, or updating old programs, avoid use of deprecated interfaces. Over time, it is expected that documentation (and, eventually, support) for deprecated interfaces to be eliminated.
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.
The man pages ldap_compare_ext(3), ldap_compare_ext_s(3) and ldap_compare_s(3) are aliases of ldap_compare(3).