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