]> git.sur5r.net Git - openldap/blob - servers/slapd/back-ldap/proto-ldap.h
1a812f3d879bfcaad608d43c188d3487736452d1
[openldap] / servers / slapd / back-ldap / proto-ldap.h
1 /* $OpenLDAP$ */
2 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3  *
4  * Copyright 2003-2005 The OpenLDAP Foundation.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted only as authorized by the OpenLDAP
9  * Public License.
10  *
11  * A copy of this license is available in the file LICENSE in the
12  * top-level directory of the distribution or, alternatively, at
13  * <http://www.OpenLDAP.org/license.html>.
14  */
15 /* ACKNOWLEDGEMENTS:
16  * This work was initially developed by the Howard Chu for inclusion
17  * in OpenLDAP Software and subsequently enhanced by Pierangelo
18  * Masarati.
19  */
20
21 #ifndef PROTO_LDAP_H
22 #define PROTO_LDAP_H
23
24 LDAP_BEGIN_DECL
25
26 extern BI_init                  ldap_back_initialize;
27
28 extern BI_open                  ldap_back_open;
29 extern BI_close                 ldap_back_close;
30 extern BI_destroy               ldap_back_destroy;
31
32 extern BI_db_init               ldap_back_db_init;
33 extern BI_db_open               ldap_back_db_open;
34 extern BI_db_destroy            ldap_back_db_destroy;
35 extern BI_db_config             ldap_back_db_config;
36
37 extern BI_op_bind               ldap_back_bind;
38 extern BI_op_search             ldap_back_search;
39 extern BI_op_compare            ldap_back_compare;
40 extern BI_op_modify             ldap_back_modify;
41 extern BI_op_modrdn             ldap_back_modrdn;
42 extern BI_op_add                ldap_back_add;
43 extern BI_op_delete             ldap_back_delete;
44 extern BI_op_abandon            ldap_back_abandon;
45 extern BI_op_extended           ldap_back_extended;
46
47 extern BI_connection_destroy    ldap_back_conn_destroy;
48
49 extern BI_entry_get_rw          ldap_back_entry_get;
50
51 int ldap_back_freeconn( Operation *op, struct ldapconn *lc );
52 struct ldapconn *ldap_back_getconn(struct slap_op *op, struct slap_rep *rs, ldap_back_send_t sendok);
53 void ldap_back_release_conn( struct slap_op *op, struct slap_rep *rs, struct ldapconn *lc );
54 int ldap_back_dobind(struct ldapconn *lc, Operation *op, SlapReply *rs, ldap_back_send_t sendok);
55 int ldap_back_retry(struct ldapconn *lc, Operation *op, SlapReply *rs, ldap_back_send_t sendok);
56 int ldap_back_map_result(SlapReply *rs);
57 int ldap_back_op_result(struct ldapconn *lc, Operation *op, SlapReply *rs,
58         ber_int_t msgid, ldap_back_send_t sendok);
59 int     back_ldap_LTX_init_module(int argc, char *argv[]);
60
61 int ldap_back_init_cf( BackendInfo *bi );
62
63 extern int ldap_back_conn_cmp( const void *c1, const void *c2);
64 extern int ldap_back_conn_dup( void *c1, void *c2 );
65 extern void ldap_back_conn_free( void *c );
66
67 extern int
68 ldap_back_proxy_authz_ctrl(
69                 struct ldapconn *lc,
70                 Operation       *op,
71                 SlapReply       *rs,
72                 LDAPControl     ***pctrls );
73
74 extern int
75 ldap_back_proxy_authz_ctrl_free(
76                 Operation       *op,
77                 LDAPControl     ***pctrls );
78
79 extern int chain_init( void );
80
81 LDAP_END_DECL
82
83 #endif /* PROTO_LDAP_H */