]> git.sur5r.net Git - openldap/blob - servers/slapd/back-ldap/proto-ldap.h
RFC 4511 calls for unavailableCriticalExtension to returned when
[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-2006 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 extern BI_open                  ldap_back_open;
28
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;
33
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;
43
44 extern BI_connection_destroy    ldap_back_conn_destroy;
45
46 extern BI_entry_get_rw          ldap_back_entry_get;
47
48 int ldap_back_freeconn( Operation *op, ldapconn_t *lc, int dolock );
49 void ldap_back_release_conn_lock( Operation *op, SlapReply *rs, ldapconn_t **lcp, int dolock );
50 #define ldap_back_release_conn(op, rs, lc) ldap_back_release_conn_lock((op), (rs), &(lc), 1)
51 int ldap_back_dobind( ldapconn_t **lcp, Operation *op, SlapReply *rs, ldap_back_send_t sendok );
52 int ldap_back_retry( ldapconn_t **lcp, Operation *op, SlapReply *rs, ldap_back_send_t sendok );
53 int ldap_back_map_result( SlapReply *rs );
54 int ldap_back_op_result( ldapconn_t *lc, Operation *op, SlapReply *rs,
55         ber_int_t msgid, time_t timeout, ldap_back_send_t sendok );
56 int ldap_back_cancel( ldapconn_t *lc, Operation *op, SlapReply *rs, ber_int_t msgid, ldap_back_send_t sendok );
57
58 int ldap_back_init_cf( BackendInfo *bi );
59
60 extern int ldap_back_conndn_cmp( const void *c1, const void *c2);
61 extern int ldap_back_conn_cmp( const void *c1, const void *c2);
62 extern int ldap_back_conndn_dup( void *c1, void *c2 );
63 extern void ldap_back_conn_free( void *c );
64
65 extern int
66 ldap_back_proxy_authz_ctrl(
67                 struct berval   *bound_ndn,
68                 int             version,
69                 slap_idassert_t *si,
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 void
80 ldap_back_quarantine(
81         Operation       *op,
82         SlapReply       *rs );
83
84 #ifdef LDAP_BACK_PRINT_CONNTREE
85 extern void
86 ldap_back_print_conntree( Avlnode *root, char *msg );
87 #endif /* LDAP_BACK_PRINT_CONNTREE */
88
89 extern void slap_retry_info_destroy( slap_retry_info_t *ri );
90 extern int slap_retry_info_parse( char *in, slap_retry_info_t *ri,
91         char *buf, ber_len_t buflen );
92 extern int slap_retry_info_unparse( slap_retry_info_t *ri, struct berval *bvout );
93
94 extern int slap_idassert_authzfrom_parse_cf( const char *fname, int lineno, const char *arg, slap_idassert_t *si );
95 extern int slap_idassert_parse_cf( const char *fname, int lineno, int argc, char *argv[], slap_idassert_t *si );
96
97 extern int chain_initialize( void );
98 #ifdef SLAP_DISTPROC
99 extern int distproc_initialize( void );
100 #endif
101
102 extern int ldap_back_monitor_db_init( BackendDB *be );
103 extern int ldap_back_monitor_db_open( BackendDB *be );
104 extern int ldap_back_monitor_db_close( BackendDB *be );
105 extern int ldap_back_monitor_db_destroy( BackendDB *be );
106
107 extern LDAP_REBIND_PROC         ldap_back_default_rebind;
108 extern LDAP_URLLIST_PROC        ldap_back_default_urllist;
109
110 LDAP_END_DECL
111
112 #endif /* PROTO_LDAP_H */