]> git.sur5r.net Git - openldap/blob - servers/slapd/back-monitor/proto-back-monitor.h
address ITS#4332; might remove dynamicObject counting
[openldap] / servers / slapd / back-monitor / proto-back-monitor.h
1 /* $OpenLDAP$ */
2 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3  *
4  * Copyright 2001-2006 The OpenLDAP Foundation.
5  * Portions Copyright 2001-2003 Pierangelo Masarati.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted only as authorized by the OpenLDAP
10  * Public License.
11  *
12  * A copy of this license is available in file LICENSE in the
13  * top-level directory of the distribution or, alternatively, at
14  * <http://www.OpenLDAP.org/license.html>.
15  */
16 /* ACKNOWLEDGEMENTS:
17  * This work was initially developed by Pierangelo Masarati for inclusion
18  * in OpenLDAP Software.
19  */
20
21 #ifndef _PROTO_BACK_MONITOR
22 #define _PROTO_BACK_MONITOR
23
24 #include <ldap_cdefs.h>
25
26 LDAP_BEGIN_DECL
27
28 /*
29  * backends
30  */
31 int
32 monitor_subsys_backend_init LDAP_P((
33         BackendDB               *be,
34         monitor_subsys_t        *ms ));
35
36 /*
37  * cache
38  */
39 extern int
40 monitor_cache_cmp LDAP_P((
41         const void              *c1,
42         const void              *c2 ));
43 extern int
44 monitor_cache_dup LDAP_P((
45         void                    *c1,
46         void                    *c2 ));
47 extern int
48 monitor_cache_add LDAP_P((
49         monitor_info_t          *mi,
50         Entry                   *e ));
51 extern int
52 monitor_cache_get LDAP_P((
53         monitor_info_t          *mi,
54         struct berval           *ndn,
55         Entry                   **ep ));
56 extern int
57 monitor_cache_dn2entry LDAP_P((
58         Operation               *op,
59         SlapReply               *rs,
60         struct berval           *ndn,
61         Entry                   **ep,
62         Entry                   **matched ));
63 extern int
64 monitor_cache_lock LDAP_P((
65         Entry                   *e ));
66 extern int
67 monitor_cache_release LDAP_P((
68         monitor_info_t          *mi,
69         Entry                   *e ));
70
71 extern int
72 monitor_cache_destroy LDAP_P((
73         monitor_info_t          *mi ));
74
75 /*
76  * connections
77  */
78 extern int
79 monitor_subsys_conn_init LDAP_P((
80         BackendDB               *be,
81         monitor_subsys_t        *ms ));
82
83 /*
84  * databases 
85  */
86 extern int
87 monitor_subsys_database_init LDAP_P((
88         BackendDB               *be,
89         monitor_subsys_t        *ms ));
90
91 /*
92  * entry
93  */
94 extern int
95 monitor_entry_update LDAP_P((
96         Operation               *op,
97         SlapReply               *rs,
98         Entry                   *e ));
99 extern int
100 monitor_entry_create LDAP_P((
101         Operation               *op,
102         SlapReply               *rs,
103         struct berval           *ndn,
104         Entry                   *e_parent,
105         Entry                   **ep ));
106 extern int
107 monitor_entry_modify LDAP_P((
108         Operation               *op,
109         SlapReply               *rs,
110         Entry                   *e ));
111 extern int
112 monitor_entry_test_flags LDAP_P((
113         monitor_entry_t         *mp,
114         int                     cond ));
115 extern monitor_entry_t *
116 monitor_entrypriv_create LDAP_P((
117         void ));
118
119 extern Entry *
120 monitor_entry_stub LDAP_P((
121         struct berval   *pdn,
122         struct berval   *pndn,
123         struct berval   *rdn,
124         ObjectClass             *oc,
125         monitor_info_t  *mi,
126         struct berval   *create,
127         struct berval   *modify));
128
129 /*
130  * init
131  */
132 extern int
133 monitor_back_register_subsys LDAP_P((
134         monitor_subsys_t        *ms ));
135 extern monitor_subsys_t *
136 monitor_back_get_subsys LDAP_P((
137         const char              *name ));
138 extern monitor_subsys_t *
139 monitor_back_get_subsys_by_dn LDAP_P((
140         struct berval           *ndn,
141         int                     sub ));
142 extern int
143 monitor_back_is_configured LDAP_P(( void ));
144 extern int
145 monitor_back_register_entry LDAP_P((
146         Entry                   *e,
147         monitor_callback_t      *cb ));
148 extern int
149 monitor_back_register_entry_parent LDAP_P((
150         Entry                   *e,
151         monitor_callback_t      *cb,
152         struct berval           *base,
153         int                     scope,
154         struct berval           *filter ));
155 extern int
156 monitor_filter2ndn LDAP_P((
157         struct berval           *base,
158         int                     scope,
159         struct berval           *filter,
160         struct berval           *ndn ));
161 extern int
162 monitor_back_register_entry_attrs LDAP_P((
163         struct berval           *ndn,
164         Attribute               *a,
165         monitor_callback_t      *cb,
166         struct berval           *base,
167         int                     scope,
168         struct berval           *filter ));
169 extern int
170 monitor_back_register_entry_callback LDAP_P((
171         struct berval           *ndn,
172         monitor_callback_t      *cb,
173         struct berval           *base,
174         int                     scope,
175         struct berval           *filter ));
176
177 /*
178  * listener
179  */
180 extern int
181 monitor_subsys_listener_init LDAP_P((
182         BackendDB               *be,
183         monitor_subsys_t        *ms ));
184
185 /*
186  * log
187  */
188 extern int
189 monitor_subsys_log_init LDAP_P((
190         BackendDB               *be,
191         monitor_subsys_t        *ms ));
192
193 /*
194  * operations
195  */
196 extern int
197 monitor_subsys_ops_init LDAP_P((
198         BackendDB               *be,
199         monitor_subsys_t        *ms ));
200
201 /*
202  * overlay
203  */
204 extern int
205 monitor_subsys_overlay_init LDAP_P((
206         BackendDB               *be,
207         monitor_subsys_t        *ms ));
208
209 /*
210  * sent
211  */
212 extern int
213 monitor_subsys_sent_init LDAP_P((
214         BackendDB               *be,
215         monitor_subsys_t        *ms ));
216
217 /*
218  * threads
219  */
220 extern int
221 monitor_subsys_thread_init LDAP_P((
222         BackendDB               *be,
223         monitor_subsys_t        *ms ));
224
225 /*
226  * time
227  */
228 extern int monitor_subsys_time_init LDAP_P((
229         BackendDB               *be,
230         monitor_subsys_t        *ms ));
231
232 /*
233  * waiters
234  */
235 extern int
236 monitor_subsys_rww_init LDAP_P((
237         BackendDB               *be,
238         monitor_subsys_t        *ms ));
239
240 /*
241  * former external.h
242  */
243
244 extern BI_init                  monitor_back_initialize;
245
246 extern BI_db_init               monitor_back_db_init;
247 extern BI_db_open               monitor_back_db_open;
248 extern BI_config                monitor_back_config;
249 extern BI_db_destroy            monitor_back_db_destroy;
250 extern BI_db_config             monitor_back_db_config;
251
252 extern BI_op_search             monitor_back_search;
253 extern BI_op_compare            monitor_back_compare;
254 extern BI_op_modify             monitor_back_modify;
255 extern BI_op_bind               monitor_back_bind;
256 extern BI_operational           monitor_back_operational;
257
258 LDAP_END_DECL
259
260 #endif /* _PROTO_BACK_MONITOR */
261