]> git.sur5r.net Git - openldap/blob - servers/slapd/back-monitor/proto-back-monitor.h
move entry_stub to monitor_extra_t
[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-2012 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_back_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 #define monitor_entry_stub monitor_back_entry_stub
141
142 /*
143  * init
144  */
145 extern int
146 monitor_subsys_is_opened LDAP_P((
147         void ));
148 extern int
149 monitor_back_register_subsys LDAP_P((
150         monitor_subsys_t        *ms ));
151 extern int
152 monitor_back_register_backend LDAP_P((
153         BackendInfo             *bi ));
154 extern int
155 monitor_back_register_database LDAP_P((
156         BackendDB               *be,
157         struct berval   *ndn ));
158 extern int
159 monitor_back_register_overlay_info LDAP_P((
160         slap_overinst           *on ));
161 extern int
162 monitor_back_register_overlay LDAP_P((
163         BackendDB               *be,
164         struct slap_overinst    *on,
165         struct berval           *ndn_out ));
166 extern int
167 monitor_back_register_backend_limbo LDAP_P((
168         BackendInfo             *bi ));
169 extern int
170 monitor_back_register_database_limbo LDAP_P((
171         BackendDB               *be,
172         struct berval           *ndn_out ));
173 extern int
174 monitor_back_register_overlay_info_limbo LDAP_P((
175         slap_overinst           *on ));
176 extern int
177 monitor_back_register_overlay_limbo LDAP_P((
178         BackendDB               *be,
179         struct slap_overinst    *on,
180         struct berval           *ndn_out ));
181 extern monitor_subsys_t *
182 monitor_back_get_subsys LDAP_P((
183         const char              *name ));
184 extern monitor_subsys_t *
185 monitor_back_get_subsys_by_dn LDAP_P((
186         struct berval           *ndn,
187         int                     sub ));
188 extern int
189 monitor_back_is_configured LDAP_P(( void ));
190 extern int
191 monitor_back_register_entry LDAP_P((
192         Entry                   *e,
193         monitor_callback_t      *cb,
194         monitor_subsys_t        *mss,
195         unsigned long           flags ));
196 extern int
197 monitor_back_register_entry_parent LDAP_P((
198         Entry                   *e,
199         monitor_callback_t      *cb,
200         monitor_subsys_t        *mss,
201         unsigned long           flags,
202         struct berval           *base,
203         int                     scope,
204         struct berval           *filter ));
205 extern int
206 monitor_search2ndn LDAP_P((
207         struct berval           *base,
208         int                     scope,
209         struct berval           *filter,
210         struct berval           *ndn ));
211 extern int
212 monitor_back_register_entry_attrs LDAP_P((
213         struct berval           *ndn,
214         Attribute               *a,
215         monitor_callback_t      *cb,
216         struct berval           *base,
217         int                     scope,
218         struct berval           *filter ));
219 extern int
220 monitor_back_register_entry_callback LDAP_P((
221         struct berval           *ndn,
222         monitor_callback_t      *cb,
223         struct berval           *base,
224         int                     scope,
225         struct berval           *filter ));
226 extern int
227 monitor_back_unregister_entry LDAP_P((
228         struct berval           *ndn ));
229 extern int
230 monitor_back_unregister_entry_parent LDAP_P((
231         struct berval           *nrdn,
232         monitor_callback_t      *target_cb,
233         struct berval           *base,
234         int                     scope,
235         struct berval           *filter ));
236 extern int
237 monitor_back_unregister_entry_attrs LDAP_P((
238         struct berval           *ndn,
239         Attribute               *a,
240         monitor_callback_t      *cb,
241         struct berval           *base,
242         int                     scope,
243         struct berval           *filter ));
244 extern int
245 monitor_back_unregister_entry_callback LDAP_P((
246         struct berval           *ndn,
247         monitor_callback_t      *cb,
248         struct berval           *base,
249         int                     scope,
250         struct berval           *filter ));
251
252 /*
253  * listener
254  */
255 extern int
256 monitor_subsys_listener_init LDAP_P((
257         BackendDB               *be,
258         monitor_subsys_t        *ms ));
259
260 /*
261  * log
262  */
263 extern int
264 monitor_subsys_log_init LDAP_P((
265         BackendDB               *be,
266         monitor_subsys_t        *ms ));
267
268 /*
269  * operations
270  */
271 extern int
272 monitor_subsys_ops_init LDAP_P((
273         BackendDB               *be,
274         monitor_subsys_t        *ms ));
275
276 /*
277  * overlay
278  */
279 extern int
280 monitor_subsys_overlay_init LDAP_P((
281         BackendDB               *be,
282         monitor_subsys_t        *ms ));
283
284 /*
285  * sent
286  */
287 extern int
288 monitor_subsys_sent_init LDAP_P((
289         BackendDB               *be,
290         monitor_subsys_t        *ms ));
291
292 /*
293  * threads
294  */
295 extern int
296 monitor_subsys_thread_init LDAP_P((
297         BackendDB               *be,
298         monitor_subsys_t        *ms ));
299
300 /*
301  * time
302  */
303 extern int monitor_subsys_time_init LDAP_P((
304         BackendDB               *be,
305         monitor_subsys_t        *ms ));
306
307 /*
308  * waiters
309  */
310 extern int
311 monitor_subsys_rww_init LDAP_P((
312         BackendDB               *be,
313         monitor_subsys_t        *ms ));
314
315 /*
316  * former external.h
317  */
318
319 extern BI_init                  monitor_back_initialize;
320
321 extern BI_db_init               monitor_back_db_init;
322 extern BI_db_open               monitor_back_db_open;
323 extern BI_config                monitor_back_config;
324 extern BI_db_destroy            monitor_back_db_destroy;
325 extern BI_db_config             monitor_back_db_config;
326
327 extern BI_op_search             monitor_back_search;
328 extern BI_op_compare            monitor_back_compare;
329 extern BI_op_modify             monitor_back_modify;
330 extern BI_op_bind               monitor_back_bind;
331 extern BI_operational           monitor_back_operational;
332
333 LDAP_END_DECL
334
335 #endif /* _PROTO_BACK_MONITOR */
336