---
name: "ldap_count_entries"
section: "3"
platform: "linux"
package: "libldap"
version: "2.7.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ldap_first_entry"
---

# ldap\_count\_entries(3)

LDAP result entry parsing and counting routines

Part of [ldap\_first\_entry(3)](/ldap_first_entry/3.md).

## NAME

ldap\_first\_entry, ldap\_next\_entry, ldap\_count\_entries - LDAP result entry parsing and counting routines

## LIBRARY

OpenLDAP LDAP (libldap, -lldap)

## SYNOPSIS

```
#include <ldap.h>
```

**int ldap\_count\_entries( LDAP \*ld, LDAPMessage \*result )**

**LDAPMessage \*ldap\_first\_entry( LDAP \*ld, LDAPMessage \*result )**

**LDAPMessage \*ldap\_next\_entry( LDAP \*ld, LDAPMessage \*entry )**

## DESCRIPTION

**These routines are used to parse results received from** [**ldap\_result**(3)](/ldap_result/3.md) **or the synchronous LDAP search operation routines** [**ldap\_search\_s**(3)](/ldap_search_s/3.md) **and** [**ldap\_search\_st**(3)](/ldap_search_st/3.md).

**The** **ldap\_first\_entry()** **routine is used to retrieve the first entry in a chain** **of search results.  It takes the** *result* **as returned by a call to** [**ldap\_result**(3)](/ldap_result/3.md) **or** [**ldap\_search\_s**(3)](/ldap_search_s/3.md) **or** [**ldap\_search\_st**(3)](/ldap_search_st/3.md) **and returns a pointer to the first entry in the result.**

**This pointer should be supplied on a subsequent call to** **ldap\_next\_entry()** **to get the next entry, the result of which should be** **supplied to the next call to** **ldap\_next\_entry()**, **etc.** **ldap\_next\_entry()** **will return NULL when there are no more entries.  The entries returned** **from these calls are used in calls to the routines described in** [**ldap\_get\_dn**(3)](/ldap_get_dn/3.md), [**ldap\_first\_attribute**(3)](/ldap_first_attribute/3.md), [**ldap\_get\_values**(3)](/ldap_get_values/3.md), **etc.**

**A count of the number of entries in the search result can be obtained** **by calling** **ldap\_count\_entries()**.

## ERRORS

**If an error occurs in** **ldap\_first\_entry()** **or** **ldap\_next\_entry()**, **NULL is returned and the ld\_errno field in the** *ld* **parameter** **is set to indicate the error.  If an error occurs in** **ldap\_count\_entries()**, **-1 is returned, and** **ld\_errno** **is set appropriately.  See** [**ldap\_error**(3)](/ldap_error/3.md) **for a description of possible error codes.**

## SEE ALSO

[**ldap**(3)](/ldap/3.md), [**ldap\_result**(3)](/ldap_result/3.md), [**ldap\_search**(3)](/ldap_search/3.md), [**ldap\_first\_attribute**(3)](/ldap_first_attribute/3.md), [**ldap\_get\_values**(3)](/ldap_get_values/3.md), [**ldap\_get\_dn**(3)](/ldap_get_dn/3.md)

## 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.**
