xref: /netbsd-src/external/bsd/openldap/dist/servers/slapd/back-monitor/proto-back-monitor.h (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
1 /*	$NetBSD: proto-back-monitor.h,v 1.1.1.4 2014/05/28 09:58:50 tron Exp $	*/
2 
3 /* $OpenLDAP$ */
4 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
5  *
6  * Copyright 2001-2014 The OpenLDAP Foundation.
7  * Portions Copyright 2001-2003 Pierangelo Masarati.
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted only as authorized by the OpenLDAP
12  * Public License.
13  *
14  * A copy of this license is available in file LICENSE in the
15  * top-level directory of the distribution or, alternatively, at
16  * <http://www.OpenLDAP.org/license.html>.
17  */
18 /* ACKNOWLEDGEMENTS:
19  * This work was initially developed by Pierangelo Masarati for inclusion
20  * in OpenLDAP Software.
21  */
22 
23 #ifndef _PROTO_BACK_MONITOR
24 #define _PROTO_BACK_MONITOR
25 
26 #include <ldap_cdefs.h>
27 
28 LDAP_BEGIN_DECL
29 
30 /*
31  * backends
32  */
33 int
34 monitor_subsys_backend_init LDAP_P((
35 	BackendDB		*be,
36 	monitor_subsys_t	*ms ));
37 
38 /*
39  * cache
40  */
41 extern int
42 monitor_cache_cmp LDAP_P((
43 	const void		*c1,
44 	const void		*c2 ));
45 extern int
46 monitor_cache_dup LDAP_P((
47 	void			*c1,
48 	void			*c2 ));
49 extern int
50 monitor_cache_add LDAP_P((
51 	monitor_info_t		*mi,
52 	Entry			*e ));
53 extern int
54 monitor_cache_get LDAP_P((
55 	monitor_info_t		*mi,
56 	struct berval		*ndn,
57 	Entry			**ep ));
58 extern int
59 monitor_cache_remove LDAP_P((
60 	monitor_info_t		*mi,
61 	struct berval		*ndn,
62 	Entry			**ep ));
63 extern int
64 monitor_cache_dn2entry LDAP_P((
65 	Operation		*op,
66 	SlapReply		*rs,
67 	struct berval		*ndn,
68 	Entry			**ep,
69 	Entry			**matched ));
70 extern int
71 monitor_cache_lock LDAP_P((
72 	Entry			*e ));
73 extern int
74 monitor_cache_release LDAP_P((
75 	monitor_info_t		*mi,
76 	Entry			*e ));
77 
78 extern int
79 monitor_cache_destroy LDAP_P((
80 	monitor_info_t		*mi ));
81 
82 extern int
83 monitor_back_release(
84 	Operation *op,
85 	Entry *e,
86 	int rw );
87 
88 /*
89  * connections
90  */
91 extern int
92 monitor_subsys_conn_init LDAP_P((
93 	BackendDB		*be,
94 	monitor_subsys_t	*ms ));
95 
96 /*
97  * databases
98  */
99 extern int
100 monitor_subsys_database_init LDAP_P((
101 	BackendDB		*be,
102 	monitor_subsys_t	*ms ));
103 
104 /*
105  * entry
106  */
107 extern int
108 monitor_entry_update LDAP_P((
109 	Operation		*op,
110 	SlapReply		*rs,
111 	Entry			*e ));
112 extern int
113 monitor_entry_create LDAP_P((
114 	Operation		*op,
115 	SlapReply		*rs,
116 	struct berval		*ndn,
117 	Entry			*e_parent,
118 	Entry			**ep ));
119 extern int
120 monitor_entry_modify LDAP_P((
121 	Operation		*op,
122 	SlapReply		*rs,
123 	Entry			*e ));
124 extern int
125 monitor_entry_test_flags LDAP_P((
126 	monitor_entry_t		*mp,
127 	int			cond ));
128 extern monitor_entry_t *
129 monitor_back_entrypriv_create LDAP_P((
130 	void ));
131 extern Entry *
132 monitor_back_entry_stub LDAP_P((
133 	struct berval	*pdn,
134 	struct berval	*pndn,
135 	struct berval	*rdn,
136 	ObjectClass		*oc,
137 	struct berval	*create,
138 	struct berval	*modify ));
139 
140 #define monitor_entrypriv_create monitor_back_entrypriv_create
141 #define monitor_entry_stub monitor_back_entry_stub
142 
143 /*
144  * init
145  */
146 extern int
147 monitor_subsys_is_opened LDAP_P((
148 	void ));
149 extern int
150 monitor_back_register_subsys LDAP_P((
151 	monitor_subsys_t	*ms ));
152 extern int
153 monitor_back_register_subsys_late LDAP_P((
154 	monitor_subsys_t	*ms ));
155 extern int
156 monitor_back_register_backend LDAP_P((
157 	BackendInfo		*bi ));
158 extern int
159 monitor_back_register_database LDAP_P((
160 	BackendDB		*be,
161 	struct berval	*ndn ));
162 extern int
163 monitor_back_register_overlay_info LDAP_P((
164 	slap_overinst		*on ));
165 extern int
166 monitor_back_register_overlay LDAP_P((
167 	BackendDB		*be,
168 	struct slap_overinst	*on,
169 	struct berval		*ndn_out ));
170 extern int
171 monitor_back_register_backend_limbo LDAP_P((
172 	BackendInfo		*bi ));
173 extern int
174 monitor_back_register_database_limbo LDAP_P((
175 	BackendDB		*be,
176 	struct berval		*ndn_out ));
177 extern int
178 monitor_back_register_overlay_info_limbo LDAP_P((
179 	slap_overinst		*on ));
180 extern int
181 monitor_back_register_overlay_limbo LDAP_P((
182 	BackendDB		*be,
183 	struct slap_overinst	*on,
184 	struct berval		*ndn_out ));
185 extern monitor_subsys_t *
186 monitor_back_get_subsys LDAP_P((
187 	const char		*name ));
188 extern monitor_subsys_t *
189 monitor_back_get_subsys_by_dn LDAP_P((
190 	struct berval		*ndn,
191 	int			sub ));
192 extern int
193 monitor_back_is_configured LDAP_P(( void ));
194 extern int
195 monitor_back_register_entry LDAP_P((
196 	Entry			*e,
197 	monitor_callback_t	*cb,
198 	monitor_subsys_t	*mss,
199 	unsigned long		flags ));
200 extern int
201 monitor_back_register_entry_parent LDAP_P((
202 	Entry			*e,
203 	monitor_callback_t	*cb,
204 	monitor_subsys_t	*mss,
205 	unsigned long		flags,
206 	struct berval		*base,
207 	int			scope,
208 	struct berval		*filter ));
209 extern int
210 monitor_search2ndn LDAP_P((
211 	struct berval		*base,
212 	int			scope,
213 	struct berval		*filter,
214 	struct berval		*ndn ));
215 extern int
216 monitor_back_register_entry_attrs LDAP_P((
217 	struct berval		*ndn,
218 	Attribute		*a,
219 	monitor_callback_t	*cb,
220 	struct berval		*base,
221 	int			scope,
222 	struct berval		*filter ));
223 extern int
224 monitor_back_register_entry_callback LDAP_P((
225 	struct berval		*ndn,
226 	monitor_callback_t	*cb,
227 	struct berval		*base,
228 	int			scope,
229 	struct berval		*filter ));
230 extern int
231 monitor_back_unregister_entry LDAP_P((
232 	struct berval		*ndn ));
233 extern int
234 monitor_back_unregister_entry_parent LDAP_P((
235 	struct berval		*nrdn,
236 	monitor_callback_t	*target_cb,
237 	struct berval		*base,
238 	int			scope,
239 	struct berval		*filter ));
240 extern int
241 monitor_back_unregister_entry_attrs LDAP_P((
242 	struct berval		*ndn,
243 	Attribute		*a,
244 	monitor_callback_t	*cb,
245 	struct berval		*base,
246 	int			scope,
247 	struct berval		*filter ));
248 extern int
249 monitor_back_unregister_entry_callback LDAP_P((
250 	struct berval		*ndn,
251 	monitor_callback_t	*cb,
252 	struct berval		*base,
253 	int			scope,
254 	struct berval		*filter ));
255 
256 /*
257  * listener
258  */
259 extern int
260 monitor_subsys_listener_init LDAP_P((
261 	BackendDB		*be,
262 	monitor_subsys_t	*ms ));
263 
264 /*
265  * log
266  */
267 extern int
268 monitor_subsys_log_init LDAP_P((
269 	BackendDB		*be,
270 	monitor_subsys_t	*ms ));
271 
272 /*
273  * operations
274  */
275 extern int
276 monitor_subsys_ops_init LDAP_P((
277 	BackendDB		*be,
278 	monitor_subsys_t	*ms ));
279 
280 /*
281  * overlay
282  */
283 extern int
284 monitor_subsys_overlay_init LDAP_P((
285 	BackendDB		*be,
286 	monitor_subsys_t	*ms ));
287 
288 /*
289  * sent
290  */
291 extern int
292 monitor_subsys_sent_init LDAP_P((
293 	BackendDB		*be,
294 	monitor_subsys_t	*ms ));
295 
296 /*
297  * threads
298  */
299 extern int
300 monitor_subsys_thread_init LDAP_P((
301 	BackendDB		*be,
302 	monitor_subsys_t	*ms ));
303 
304 /*
305  * time
306  */
307 extern int monitor_subsys_time_init LDAP_P((
308 	BackendDB		*be,
309 	monitor_subsys_t	*ms ));
310 
311 /*
312  * waiters
313  */
314 extern int
315 monitor_subsys_rww_init LDAP_P((
316 	BackendDB		*be,
317 	monitor_subsys_t	*ms ));
318 
319 /*
320  * former external.h
321  */
322 
323 extern BI_init			monitor_back_initialize;
324 
325 extern BI_db_init		monitor_back_db_init;
326 extern BI_db_open		monitor_back_db_open;
327 extern BI_config		monitor_back_config;
328 extern BI_db_destroy		monitor_back_db_destroy;
329 extern BI_db_config		monitor_back_db_config;
330 
331 extern BI_op_search		monitor_back_search;
332 extern BI_op_compare		monitor_back_compare;
333 extern BI_op_modify		monitor_back_modify;
334 extern BI_op_bind		monitor_back_bind;
335 extern BI_operational		monitor_back_operational;
336 
337 LDAP_END_DECL
338 
339 #endif /* _PROTO_BACK_MONITOR */
340 
341