1 /* $OpenLDAP: pkg/ldap/servers/slapd/back-ldap/proto-ldap.h,v 1.15.2.7 2008/07/09 23:36:23 quanah Exp $ */
2 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 * Copyright 2003-2008 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
);
67 ldap_back_proxy_authz_ctrl(
70 struct berval
*bound_ndn
,
76 ldap_back_controls_add(
80 LDAPControl
***pctrls
);
83 ldap_back_controls_free( Operation
*op
, SlapReply
*rs
, LDAPControl
***pctrls
);
90 #ifdef LDAP_BACK_PRINT_CONNTREE
92 ldap_back_print_conntree( ldapinfo_t
*li
, char *msg
);
93 #endif /* LDAP_BACK_PRINT_CONNTREE */
95 extern void slap_retry_info_destroy( slap_retry_info_t
*ri
);
96 extern int slap_retry_info_parse( char *in
, slap_retry_info_t
*ri
,
97 char *buf
, ber_len_t buflen
);
98 extern int slap_retry_info_unparse( slap_retry_info_t
*ri
, struct berval
*bvout
);
100 extern int slap_idassert_authzfrom_parse_cf( const char *fname
, int lineno
, const char *arg
, slap_idassert_t
*si
);
101 extern int slap_idassert_parse_cf( const char *fname
, int lineno
, int argc
, char *argv
[], slap_idassert_t
*si
);
103 extern int chain_initialize( void );
105 extern int distproc_initialize( void );
108 extern int ldap_back_monitor_db_init( BackendDB
*be
);
109 extern int ldap_back_monitor_db_open( BackendDB
*be
);
110 extern int ldap_back_monitor_db_close( BackendDB
*be
);
111 extern int ldap_back_monitor_db_destroy( BackendDB
*be
);
113 extern LDAP_REBIND_PROC ldap_back_default_rebind
;
114 extern LDAP_URLLIST_PROC ldap_back_default_urllist
;
118 #endif /* PROTO_LDAP_H */