]> git.sur5r.net Git - openldap/blob - servers/slapd/back-monitor/proto-back-monitor.h
Merge remote branch 'origin/mdb.master'
[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-2011 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_remove LDAP_P((
58         monitor_info_t          *mi,
59         struct berval           *ndn,
60         Entry                   **ep ));
61 extern int
62 monitor_cache_dn2entry LDAP_P((
63         Operation               *op,
64         SlapReply               *rs,
65         struct berval           *ndn,
66         Entry                   **ep,
67         Entry                   **matched ));
68 extern int
69 monitor_cache_lock LDAP_P((
70         Entry                   *e ));
71 extern int
72 monitor_cache_release LDAP_P((
73         monitor_info_t          *mi,
74         Entry                   *e ));
75
76 extern int
77 monitor_cache_destroy LDAP_P((
78         monitor_info_t          *mi ));
79
80 extern int
81 monitor_back_release(
82         Operation *op,
83         Entry *e,
84         int rw );
85
86 /*
87  * connections
88  */
89 extern int
90 monitor_subsys_conn_init LDAP_P((
91         BackendDB               *be,
92         monitor_subsys_t        *ms ));
93
94 /*
95  * databases 
96  */
97 extern int
98 monitor_subsys_database_init LDAP_P((
99         BackendDB               *be,
100         monitor_subsys_t        *ms ));
101
102 /*
103  * entry
104  */
105 extern int
106 monitor_entry_update LDAP_P((
107         Operation               *op,
108         SlapReply               *rs,
109         Entry                   *e ));
110 extern int
111 monitor_entry_create LDAP_P((
112         Operation               *op,
113         SlapReply               *rs,
114         struct berval           *ndn,
115         Entry                   *e_parent,
116         Entry                   **ep ));
117 extern int
118 monitor_entry_modify LDAP_P((
119         Operation               *op,
120         SlapReply               *rs,
121         Entry                   *e ));
122 extern int
123 monitor_entry_test_flags LDAP_P((
124         monitor_entry_t         *mp,
125         int                     cond ));
126 extern monitor_entry_t *
127 monitor_entrypriv_create LDAP_P((
128         void ));
129
130 extern Entry *
131 monitor_entry_stub LDAP_P((
132         struct berval   *pdn,
133         struct berval   *pndn,
134         struct berval   *rdn,
135         ObjectClass             *oc,
136         monitor_info_t  *mi,
137         struct berval   *create,
138         struct berval   *modify));
139
140 /*
141  * init
142  */
143 extern int
144 monitor_subsys_is_opened LDAP_P((
145         void ));
146 extern int
147 monitor_back_register_subsys LDAP_P((
148         monitor_subsys_t        *ms ));
149 extern int
150 monitor_back_register_backend LDAP_P((
151         BackendInfo             *bi ));
152 extern int
153 monitor_back_register_database LDAP_P((
154         BackendDB               *be,
155         struct berval   *ndn ));
156 extern int
157 monitor_back_register_overlay_info LDAP_P((
158         slap_overinst           *on ));
159 extern int
160 monitor_back_register_overlay LDAP_P((
161         BackendDB               *be,
162         struct slap_overinst    *on,
163         struct berval           *ndn_out ));
164 extern int
165 monitor_back_register_backend_limbo LDAP_P((
166         BackendInfo             *bi ));
167 extern int
168 monitor_back_register_database_limbo LDAP_P((
169         BackendDB               *be,
170         struct berval           *ndn_out ));
171 extern int
172 monitor_back_register_overlay_info_limbo LDAP_P((
173         slap_overinst           *on ));
174 extern int
175 monitor_back_register_overlay_limbo LDAP_P((
176         BackendDB               *be,
177         struct slap_overinst    *on,
178         struct berval           *ndn_out ));
179 extern monitor_subsys_t *
180 monitor_back_get_subsys LDAP_P((
181         const char              *name ));
182 extern monitor_subsys_t *
183 monitor_back_get_subsys_by_dn LDAP_P((
184         struct berval           *ndn,
185         int                     sub ));
186 extern int
187 monitor_back_is_configured LDAP_P(( void ));
188 extern int
189 monitor_back_register_entry LDAP_P((
190         Entry                   *e,
191         monitor_callback_t      *cb,
192         monitor_subsys_t        *mss,
193         unsigned long           flags ));
194 extern int
195 monitor_back_register_entry_parent LDAP_P((
196         Entry                   *e,
197         monitor_callback_t      *cb,
198         monitor_subsys_t        *mss,
199         unsigned long           flags,
200         struct berval           *base,
201         int                     scope,
202         struct berval           *filter ));
203 extern int
204 monitor_search2ndn LDAP_P((
205         struct berval           *base,
206         int                     scope,
207         struct berval           *filter,
208         struct berval           *ndn ));
209 extern int
210 monitor_back_register_entry_attrs LDAP_P((
211         struct berval           *ndn,
212         Attribute               *a,
213         monitor_callback_t      *cb,
214         struct berval           *base,
215         int                     scope,
216         struct berval           *filter ));
217 extern int
218 monitor_back_register_entry_callback LDAP_P((
219         struct berval           *ndn,
220         monitor_callback_t      *cb,
221         struct berval           *base,
222         int                     scope,
223         struct berval           *filter ));
224 extern int
225 monitor_back_unregister_entry LDAP_P((
226         struct berval           *ndn ));
227 extern int
228 monitor_back_unregister_entry_parent LDAP_P((
229         struct berval           *nrdn,
230         monitor_callback_t      *target_cb,
231         struct berval           *base,
232         int                     scope,
233         struct berval           *filter ));
234 extern int
235 monitor_back_unregister_entry_attrs LDAP_P((
236         struct berval           *ndn,
237         Attribute               *a,
238         monitor_callback_t      *cb,
239         struct berval           *base,
240         int                     scope,
241         struct berval           *filter ));
242 extern int
243 monitor_back_unregister_entry_callback LDAP_P((
244         struct berval           *ndn,
245         monitor_callback_t      *cb,
246         struct berval           *base,
247         int                     scope,
248         struct berval           *filter ));
249
250 /*
251  * listener
252  */
253 extern int
254 monitor_subsys_listener_init LDAP_P((
255         BackendDB               *be,
256         monitor_subsys_t        *ms ));
257
258 /*
259  * log
260  */
261 extern int
262 monitor_subsys_log_init LDAP_P((
263         BackendDB               *be,
264         monitor_subsys_t        *ms ));
265
266 /*
267  * operations
268  */
269 extern int
270 monitor_subsys_ops_init LDAP_P((
271         BackendDB               *be,
272         monitor_subsys_t        *ms ));
273
274 /*
275  * overlay
276  */
277 extern int
278 monitor_subsys_overlay_init LDAP_P((
279         BackendDB               *be,
280         monitor_subsys_t        *ms ));
281
282 /*
283  * sent
284  */
285 extern int
286 monitor_subsys_sent_init LDAP_P((
287         BackendDB               *be,
288         monitor_subsys_t        *ms ));
289
290 /*
291  * threads
292  */
293 extern int
294 monitor_subsys_thread_init LDAP_P((
295         BackendDB               *be,
296         monitor_subsys_t        *ms ));
297
298 /*
299  * time
300  */
301 extern int monitor_subsys_time_init LDAP_P((
302         BackendDB               *be,
303         monitor_subsys_t        *ms ));
304
305 /*
306  * waiters
307  */
308 extern int
309 monitor_subsys_rww_init LDAP_P((
310         BackendDB               *be,
311         monitor_subsys_t        *ms ));
312
313 /*
314  * former external.h
315  */
316
317 extern BI_init                  monitor_back_initialize;
318
319 extern BI_db_init               monitor_back_db_init;
320 extern BI_db_open               monitor_back_db_open;
321 extern BI_config                monitor_back_config;
322 extern BI_db_destroy            monitor_back_db_destroy;
323 extern BI_db_config             monitor_back_db_config;
324
325 extern BI_op_search             monitor_back_search;
326 extern BI_op_compare            monitor_back_compare;
327 extern BI_op_modify             monitor_back_modify;
328 extern BI_op_bind               monitor_back_bind;
329 extern BI_operational           monitor_back_operational;
330
331 LDAP_END_DECL
332
333 #endif /* _PROTO_BACK_MONITOR */
334