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