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