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