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