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