The following are definitions of some data structures that are common to several LDAP API functions. typedef struct ldap LDAP; typedef struct berelement BerElement; typedef struct ldapmsg LDAPMessage; typedef struct berval { ber_len_t bv_len; char *bv_val; } BerValue; struct timeval; The LDAP structure is an opaque data type that represents an LDAP session. Typically, this corresponds to a connection to a single server, but it may encompass several server connections in LDAPv3 referrals. The LDAPMessage structure is an opaque data type that is used to return entry, reference, result, and error information. An LDAPMessage structure may represent the beginning of a list or a chain of messages that contain a series of entries, references, and result messages that are returned by LDAP operations, such as search. LDAP API functions, such as ldap_parse_result(), that operate on message chains which may contain more than one result message, always operate on the first result message in the chain. See Results for more information. The BerElement structure is an opaque data type that is used to hold data and state information about encoded data. The berval structure is used to represent arbitrary binary data, and its fields have the following meanings: bv_len Length of data in bytes. bv_val A pointer to the data itself. The timeval structure is used to represent an interval of time, and its fields have the following meanings: tv_sec Seconds component of time interval. tv_usec Microseconds component of time interval. All memory that is allocated by a function in this C LDAP API and returned to the caller should be disposed of by calling the appropriate free function provided by this API. Memory that is allocated outside of the C LDAP API must not be disposed of using a function provided by this API. The following is a complete list of free functions that are used to dispose of allocated memory: ber_bvecfree() ber_bvfree() ber_free() ldap_control_free() ldap_controls_free() ldap_memfree() ldap_msgfree() ldap_value_free() ldap_value_free_len()