2 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 * Copyright 2003-2007 The OpenLDAP Foundation.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted only as authorized by the OpenLDAP
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>.
16 * This work was initially developed by the Howard Chu for inclusion
17 * in OpenLDAP Software and subsequently enhanced by Pierangelo
26 extern BI_init ldap_back_initialize;
27 extern BI_open ldap_back_open;
29 extern BI_db_init ldap_back_db_init;
30 extern BI_db_open ldap_back_db_open;
31 extern BI_db_close ldap_back_db_close;
32 extern BI_db_destroy ldap_back_db_destroy;
34 extern BI_op_bind ldap_back_bind;
35 extern BI_op_search ldap_back_search;
36 extern BI_op_compare ldap_back_compare;
37 extern BI_op_modify ldap_back_modify;
38 extern BI_op_modrdn ldap_back_modrdn;
39 extern BI_op_add ldap_back_add;
40 extern BI_op_delete ldap_back_delete;
41 extern BI_op_abandon ldap_back_abandon;
42 extern BI_op_extended ldap_back_extended;
44 extern BI_connection_destroy ldap_back_conn_destroy;
46 extern BI_entry_get_rw ldap_back_entry_get;
48 void ldap_back_release_conn_lock( ldapinfo_t *li, ldapconn_t **lcp, int dolock );
49 #define ldap_back_release_conn(li, lc) ldap_back_release_conn_lock((li), &(lc), 1)
50 int ldap_back_dobind( ldapconn_t **lcp, Operation *op, SlapReply *rs, ldap_back_send_t sendok );
51 int ldap_back_retry( ldapconn_t **lcp, Operation *op, SlapReply *rs, ldap_back_send_t sendok );
52 int ldap_back_map_result( SlapReply *rs );
53 int ldap_back_op_result( ldapconn_t *lc, Operation *op, SlapReply *rs,
54 ber_int_t msgid, time_t timeout, ldap_back_send_t sendok );
55 int ldap_back_cancel( ldapconn_t *lc, Operation *op, SlapReply *rs, ber_int_t msgid, ldap_back_send_t sendok );
57 int ldap_back_init_cf( BackendInfo *bi );
59 extern int ldap_back_conndn_cmp( const void *c1, const void *c2);
60 extern int ldap_back_conn_cmp( const void *c1, const void *c2);
61 extern int ldap_back_conndn_dup( void *c1, void *c2 );
62 extern void ldap_back_conn_free( void *c );
64 extern ldapconn_t * ldap_back_conn_delete( ldapinfo_t *li, ldapconn_t *lc );
68 ldap_back_proxy_authz_ctrl(
69 struct berval *bound_ndn,
74 LDAPControl ***pctrls );
77 ldap_back_proxy_authz_ctrl_free(
79 LDAPControl ***pctrls );
83 ldap_back_proxy_authz_ctrl(
86 struct berval *bound_ndn,
92 ldap_back_controls_add(
96 LDAPControl ***pctrls );
99 ldap_back_controls_free( Operation *op, SlapReply *rs, LDAPControl ***pctrls );
102 ldap_back_quarantine(
106 #ifdef LDAP_BACK_PRINT_CONNTREE
108 ldap_back_print_conntree( ldapinfo_t *li, char *msg );
109 #endif /* LDAP_BACK_PRINT_CONNTREE */
111 extern void slap_retry_info_destroy( slap_retry_info_t *ri );
112 extern int slap_retry_info_parse( char *in, slap_retry_info_t *ri,
113 char *buf, ber_len_t buflen );
114 extern int slap_retry_info_unparse( slap_retry_info_t *ri, struct berval *bvout );
116 extern int slap_idassert_authzfrom_parse_cf( const char *fname, int lineno, const char *arg, slap_idassert_t *si );
117 extern int slap_idassert_parse_cf( const char *fname, int lineno, int argc, char *argv[], slap_idassert_t *si );
119 extern int chain_initialize( void );
121 extern int distproc_initialize( void );
124 extern int ldap_back_monitor_db_init( BackendDB *be );
125 extern int ldap_back_monitor_db_open( BackendDB *be );
126 extern int ldap_back_monitor_db_close( BackendDB *be );
127 extern int ldap_back_monitor_db_destroy( BackendDB *be );
129 extern LDAP_REBIND_PROC ldap_back_default_rebind;
130 extern LDAP_URLLIST_PROC ldap_back_default_urllist;
134 #endif /* PROTO_LDAP_H */