---
name: "ldap_compare"
section: "3"
platform: "macos"
package: "OpenLDAP"
version: "561"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/ldap_compare"
---

# ldap\_compare(3)

Perform an LDAP compare operation.

## NAME

ldap\_compare, ldap\_compare\_s, ldap\_compare\_ext, ldap\_compare\_ext\_s - Perform an LDAP compare operation.

## LIBRARY

OpenLDAP LDAP (libldap, -lldap)

## SYNOPSIS

```
#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* **);**

## DESCRIPTION

**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)](/ldap/3.md) **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)](/ldap_result/3.md).

**Both routines allow server and client controls to be specified to** **extend the compare request.**

## DEPRECATED INTERFACES

**The routines** **ldap\_compare**() **and** **ldap\_compare\_s**() **are deprecated in favor of** **ldap\_compare\_ext**() **and** **ldap\_compare\_ext\_s**(), **respectively.**

## SEE ALSO

[**ldap**(3)](/ldap/3.md), [**ldap\_error**(3)](/ldap_error/3.md)

## ACKNOWLEDGEMENTS
