# `ldap.controls` High-level access to LDAPv3 extended controls

## Variables

`ldap.controls.``KNOWN_RESPONSE_CONTROLS`

  Dictionary mapping the OIDs of known response controls to the accompanying `ResponseControl` classes. This is used by `DecodeControlTuples()` to automatically decode control values. Calling application can also register their custom `ResponseControl` classes in this dictionary possibly overriding pre-registered classes.

## Classes

This module defines the following classes:

## Functions

This module defines the following functions:

## Sub-modules

Various sub-modules implement specific LDAPv3 extended controls. The classes therein are derived from the base-classes `ldap.controls.RequestControl`, `ldap.controls.ResponseControl` or `ldap.controls.LDAPControl`.

Some of them require `pyasn1` and `pyasn1_modules` to be installed:

Usually the names of the method arguments and the class attributes match the ASN.1 identifiers used in the specification. So looking at the referenced RFC or Internet-Draft is very helpful to understand the API.

### `ldap.controls.simple` Very simple controls

### `ldap.controls.libldap` Various controls implemented in OpenLDAP libs

This module wraps C functions in OpenLDAP client libs which implement various request and response controls into Python classes.

### `ldap.controls.psearch` LDAP Persistent Search

This module implements request and response controls for LDAP persistent search.

See also

draft-ietf-ldapext-psearch

### `ldap.controls.sessiontrack` Session tracking control

See also

draft-wahl-ldap-session

### `ldap.controls.readentry` Read entry control

See also

RFC 4527 - Lightweight Directory Access Protocol (LDAP): Read Entry Controls