blob: 00cf1654eac9a7a937d3b21d503cdb8ce9c66779 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#ifndef LDAP_CONNECTION_POOL_H
#define LDAP_CONNECTION_POOL_H
struct ldap_client;
struct ldap_client_settings;
struct ldap_connection_list {
struct ldap_connection_list *prev, *next;
struct ldap_connection *conn;
int refcount;
};
struct ldap_connection_pool *
ldap_connection_pool_init(unsigned int max_connections);
void ldap_connection_pool_deinit(struct ldap_connection_pool **_pool);
/* Returns TRUE if there are connections with refcount>0 */
bool ldap_connection_pool_have_references(struct ldap_connection_pool *pool);
int ldap_connection_pool_get(struct ldap_connection_pool *pool,
struct ldap_client *client,
const struct ldap_client_settings *set,
struct ldap_connection_list **list_r,
const char **error_r);
void ldap_connection_pool_unref(struct ldap_connection_pool *pool,
struct ldap_connection_list **list);
#endif
|