1/* $OpenLDAP$ */ 2/* This work is part of OpenLDAP Software <http://www.openldap.org/>. 3 * 4 * Copyright 2001-2011 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 26LDAP_BEGIN_DECL 27 28/* 29 * backends 30 */ 31int 32monitor_subsys_backend_init LDAP_P(( 33 BackendDB *be, 34 monitor_subsys_t *ms )); 35 36/* 37 * cache 38 */ 39extern int 40monitor_cache_cmp LDAP_P(( 41 const void *c1, 42 const void *c2 )); 43extern int 44monitor_cache_dup LDAP_P(( 45 void *c1, 46 void *c2 )); 47extern int 48monitor_cache_add LDAP_P(( 49 monitor_info_t *mi, 50 Entry *e )); 51extern int 52monitor_cache_get LDAP_P(( 53 monitor_info_t *mi, 54 struct berval *ndn, 55 Entry **ep )); 56extern int 57monitor_cache_remove LDAP_P(( 58 monitor_info_t *mi, 59 struct berval *ndn, 60 Entry **ep )); 61extern int 62monitor_cache_dn2entry LDAP_P(( 63 Operation *op, 64 SlapReply *rs, 65 struct berval *ndn, 66 Entry **ep, 67 Entry **matched )); 68extern int 69monitor_cache_lock LDAP_P(( 70 Entry *e )); 71extern int 72monitor_cache_release LDAP_P(( 73 monitor_info_t *mi, 74 Entry *e )); 75 76extern int 77monitor_cache_destroy LDAP_P(( 78 monitor_info_t *mi )); 79 80extern int 81monitor_back_release( 82 Operation *op, 83 Entry *e, 84 int rw ); 85 86/* 87 * connections 88 */ 89extern int 90monitor_subsys_conn_init LDAP_P(( 91 BackendDB *be, 92 monitor_subsys_t *ms )); 93 94/* 95 * databases 96 */ 97extern int 98monitor_subsys_database_init LDAP_P(( 99 BackendDB *be, 100 monitor_subsys_t *ms )); 101 102/* 103 * entry 104 */ 105extern int 106monitor_entry_update LDAP_P(( 107 Operation *op, 108 SlapReply *rs, 109 Entry *e )); 110extern int 111monitor_entry_create LDAP_P(( 112 Operation *op, 113 SlapReply *rs, 114 struct berval *ndn, 115 Entry *e_parent, 116 Entry **ep )); 117extern int 118monitor_entry_modify LDAP_P(( 119 Operation *op, 120 SlapReply *rs, 121 Entry *e )); 122extern int 123monitor_entry_test_flags LDAP_P(( 124 monitor_entry_t *mp, 125 int cond )); 126extern monitor_entry_t * 127monitor_entrypriv_create LDAP_P(( 128 void )); 129 130extern Entry * 131monitor_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/* 141 * init 142 */ 143extern int 144monitor_subsys_is_opened LDAP_P(( 145 void )); 146extern int 147monitor_back_register_subsys LDAP_P(( 148 monitor_subsys_t *ms )); 149extern int 150monitor_back_register_backend LDAP_P(( 151 BackendInfo *bi )); 152extern int 153monitor_back_register_database LDAP_P(( 154 BackendDB *be, 155 struct berval *ndn )); 156extern int 157monitor_back_register_overlay_info LDAP_P(( 158 slap_overinst *on )); 159extern int 160monitor_back_register_overlay LDAP_P(( 161 BackendDB *be, 162 struct slap_overinst *on, 163 struct berval *ndn_out )); 164extern int 165monitor_back_register_backend_limbo LDAP_P(( 166 BackendInfo *bi )); 167extern int 168monitor_back_register_database_limbo LDAP_P(( 169 BackendDB *be, 170 struct berval *ndn_out )); 171extern int 172monitor_back_register_overlay_info_limbo LDAP_P(( 173 slap_overinst *on )); 174extern int 175monitor_back_register_overlay_limbo LDAP_P(( 176 BackendDB *be, 177 struct slap_overinst *on, 178 struct berval *ndn_out )); 179extern monitor_subsys_t * 180monitor_back_get_subsys LDAP_P(( 181 const char *name )); 182extern monitor_subsys_t * 183monitor_back_get_subsys_by_dn LDAP_P(( 184 struct berval *ndn, 185 int sub )); 186extern int 187monitor_back_is_configured LDAP_P(( void )); 188extern int 189monitor_back_register_entry LDAP_P(( 190 Entry *e, 191 monitor_callback_t *cb, 192 monitor_subsys_t *mss, 193 unsigned long flags )); 194extern int 195monitor_back_register_entry_parent LDAP_P(( 196 Entry *e, 197 monitor_callback_t *cb, 198 monitor_subsys_t *mss, 199 unsigned long flags, 200 struct berval *base, 201 int scope, 202 struct berval *filter )); 203extern int 204monitor_search2ndn LDAP_P(( 205 struct berval *base, 206 int scope, 207 struct berval *filter, 208 struct berval *ndn )); 209extern int 210monitor_back_register_entry_attrs LDAP_P(( 211 struct berval *ndn, 212 Attribute *a, 213 monitor_callback_t *cb, 214 struct berval *base, 215 int scope, 216 struct berval *filter )); 217extern int 218monitor_back_register_entry_callback LDAP_P(( 219 struct berval *ndn, 220 monitor_callback_t *cb, 221 struct berval *base, 222 int scope, 223 struct berval *filter )); 224extern int 225monitor_back_unregister_entry LDAP_P(( 226 struct berval *ndn )); 227extern int 228monitor_back_unregister_entry_parent LDAP_P(( 229 struct berval *nrdn, 230 monitor_callback_t *target_cb, 231 struct berval *base, 232 int scope, 233 struct berval *filter )); 234extern int 235monitor_back_unregister_entry_attrs LDAP_P(( 236 struct berval *ndn, 237 Attribute *a, 238 monitor_callback_t *cb, 239 struct berval *base, 240 int scope, 241 struct berval *filter )); 242extern int 243monitor_back_unregister_entry_callback LDAP_P(( 244 struct berval *ndn, 245 monitor_callback_t *cb, 246 struct berval *base, 247 int scope, 248 struct berval *filter )); 249 250/* 251 * listener 252 */ 253extern int 254monitor_subsys_listener_init LDAP_P(( 255 BackendDB *be, 256 monitor_subsys_t *ms )); 257 258/* 259 * log 260 */ 261extern int 262monitor_subsys_log_init LDAP_P(( 263 BackendDB *be, 264 monitor_subsys_t *ms )); 265 266/* 267 * operations 268 */ 269extern int 270monitor_subsys_ops_init LDAP_P(( 271 BackendDB *be, 272 monitor_subsys_t *ms )); 273 274/* 275 * overlay 276 */ 277extern int 278monitor_subsys_overlay_init LDAP_P(( 279 BackendDB *be, 280 monitor_subsys_t *ms )); 281 282/* 283 * sent 284 */ 285extern int 286monitor_subsys_sent_init LDAP_P(( 287 BackendDB *be, 288 monitor_subsys_t *ms )); 289 290/* 291 * threads 292 */ 293extern int 294monitor_subsys_thread_init LDAP_P(( 295 BackendDB *be, 296 monitor_subsys_t *ms )); 297 298/* 299 * time 300 */ 301extern int monitor_subsys_time_init LDAP_P(( 302 BackendDB *be, 303 monitor_subsys_t *ms )); 304 305/* 306 * waiters 307 */ 308extern int 309monitor_subsys_rww_init LDAP_P(( 310 BackendDB *be, 311 monitor_subsys_t *ms )); 312 313/* 314 * former external.h 315 */ 316 317extern BI_init monitor_back_initialize; 318 319extern BI_db_init monitor_back_db_init; 320extern BI_db_open monitor_back_db_open; 321extern BI_config monitor_back_config; 322extern BI_db_destroy monitor_back_db_destroy; 323extern BI_db_config monitor_back_db_config; 324 325extern BI_op_search monitor_back_search; 326extern BI_op_compare monitor_back_compare; 327extern BI_op_modify monitor_back_modify; 328extern BI_op_bind monitor_back_bind; 329extern BI_operational monitor_back_operational; 330 331LDAP_END_DECL 332 333#endif /* _PROTO_BACK_MONITOR */ 334 335