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 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 extern Entry * 140 monitor_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 */ 150 extern int 151 monitor_subsys_is_opened LDAP_P(( 152 void )); 153 extern int 154 monitor_back_register_subsys LDAP_P(( 155 monitor_subsys_t *ms )); 156 extern int 157 monitor_back_register_subsys_late LDAP_P(( 158 monitor_subsys_t *ms )); 159 extern int 160 monitor_back_register_backend LDAP_P(( 161 BackendInfo *bi )); 162 extern int 163 monitor_back_register_database LDAP_P(( 164 BackendDB *be, 165 struct berval *ndn )); 166 extern int 167 monitor_back_register_overlay_info LDAP_P(( 168 slap_overinst *on )); 169 extern int 170 monitor_back_register_overlay LDAP_P(( 171 BackendDB *be, 172 struct slap_overinst *on, 173 struct berval *ndn_out )); 174 extern int 175 monitor_back_register_backend_limbo LDAP_P(( 176 BackendInfo *bi )); 177 extern int 178 monitor_back_register_database_limbo LDAP_P(( 179 BackendDB *be, 180 struct berval *ndn_out )); 181 extern int 182 monitor_back_register_overlay_info_limbo LDAP_P(( 183 slap_overinst *on )); 184 extern int 185 monitor_back_register_overlay_limbo LDAP_P(( 186 BackendDB *be, 187 struct slap_overinst *on, 188 struct berval *ndn_out )); 189 extern monitor_subsys_t * 190 monitor_back_get_subsys LDAP_P(( 191 const char *name )); 192 extern monitor_subsys_t * 193 monitor_back_get_subsys_by_dn LDAP_P(( 194 struct berval *ndn, 195 int sub )); 196 extern int 197 monitor_back_is_configured LDAP_P(( void )); 198 extern int 199 monitor_back_register_entry LDAP_P(( 200 Entry *e, 201 monitor_callback_t *cb, 202 monitor_subsys_t *mss, 203 unsigned long flags )); 204 extern int 205 monitor_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 )); 213 extern int 214 monitor_search2ndn LDAP_P(( 215 struct berval *base, 216 int scope, 217 struct berval *filter, 218 struct berval *ndn )); 219 extern int 220 monitor_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 )); 227 extern int 228 monitor_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 )); 234 extern int 235 monitor_back_unregister_entry LDAP_P(( 236 struct berval *ndn )); 237 extern int 238 monitor_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 )); 244 extern int 245 monitor_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 )); 252 extern int 253 monitor_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 */ 263 extern int 264 monitor_subsys_listener_init LDAP_P(( 265 BackendDB *be, 266 monitor_subsys_t *ms )); 267 268 /* 269 * log 270 */ 271 extern int 272 monitor_subsys_log_init LDAP_P(( 273 BackendDB *be, 274 monitor_subsys_t *ms )); 275 276 /* 277 * operations 278 */ 279 extern int 280 monitor_subsys_ops_init LDAP_P(( 281 BackendDB *be, 282 monitor_subsys_t *ms )); 283 284 /* 285 * overlay 286 */ 287 extern int 288 monitor_subsys_overlay_init LDAP_P(( 289 BackendDB *be, 290 monitor_subsys_t *ms )); 291 292 /* 293 * sent 294 */ 295 extern int 296 monitor_subsys_sent_init LDAP_P(( 297 BackendDB *be, 298 monitor_subsys_t *ms )); 299 300 /* 301 * threads 302 */ 303 extern int 304 monitor_subsys_thread_init LDAP_P(( 305 BackendDB *be, 306 monitor_subsys_t *ms )); 307 308 /* 309 * time 310 */ 311 extern int monitor_subsys_time_init LDAP_P(( 312 BackendDB *be, 313 monitor_subsys_t *ms )); 314 315 /* 316 * waiters 317 */ 318 extern int 319 monitor_subsys_rww_init LDAP_P(( 320 BackendDB *be, 321 monitor_subsys_t *ms )); 322 323 /* 324 * former external.h 325 */ 326 327 extern BI_init monitor_back_initialize; 328 329 extern BI_db_init monitor_back_db_init; 330 extern BI_db_open monitor_back_db_open; 331 extern BI_config monitor_back_config; 332 extern BI_db_destroy monitor_back_db_destroy; 333 extern BI_db_config monitor_back_db_config; 334 335 extern BI_op_search monitor_back_search; 336 extern BI_op_compare monitor_back_compare; 337 extern BI_op_modify monitor_back_modify; 338 extern BI_op_bind monitor_back_bind; 339 extern BI_operational monitor_back_operational; 340 341 LDAP_END_DECL 342 343 #endif /* _PROTO_BACK_MONITOR */ 344 345