/* $OpenLDAP$ */
-/*
- * Copyright 2000-2003 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 2000-2003 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
*/
#ifndef _PROTO_BDB_H
void bdb_attr_index_destroy LDAP_P(( Avlnode *tree ));
+/*
+ * ctxcsn.c
+ */
+#define bdb_csn_commit BDB_SYMBOL(csn_commit)
+#define bdb_get_commit_csn BDB_SYMBOL(get_commit_csn)
+
+int bdb_csn_commit LDAP_P(( Operation *op, SlapReply *rs, DB_TXN *tid,
+ EntryInfo *ei, EntryInfo **suffix_ei, Entry **ctxcsn_e,
+ int *ctxcsn_added, u_int32_t locker ));
+
+int bdb_get_commit_csn LDAP_P(( Operation *op, SlapReply *rs,
+ struct berval **search_context_csn,
+ u_int32_t locker, DB_LOCK *ctxcsn_lock ));
+
/*
* dbcache.c
*/
int
bdb_db_cache(
Backend *be,
- DB_TXN *tid,
const char *name,
DB **db );
int bdb_index_entry LDAP_P(( Operation *op, DB_TXN *t, int r, Entry *e ));
-#define bdb_index_entry_add(be,t,e) \
- bdb_index_entry((be),(t),SLAP_INDEX_ADD_OP,(e))
-#define bdb_index_entry_del(be,t,e) \
- bdb_index_entry((be),(t),SLAP_INDEX_DELETE_OP,(e))
+#define bdb_index_entry_add(op,t,e) \
+ bdb_index_entry((op),(t),SLAP_INDEX_ADD_OP,(e))
+#define bdb_index_entry_del(op,t,e) \
+ bdb_index_entry((op),(t),SLAP_INDEX_DELETE_OP,(e))
/*
* init.c
char *textbuf,
size_t textlen );
-/*
- * passwd.c
- */
-#define bdb_exop_passwd BDB_SYMBOL(exop_passwd)
-
-BI_op_extended bdb_exop_passwd;
-
/*
* cache.c
#define bdb_cache_delete BDB_SYMBOL(cache_delete)
#define bdb_cache_delete_cleanup BDB_SYMBOL(cache_delete_cleanup)
#define bdb_cache_find_id BDB_SYMBOL(cache_find_id)
+#define bdb_cache_find_info BDB_SYMBOL(cache_find_info)
#define bdb_cache_find_ndn BDB_SYMBOL(cache_find_ndn)
#define bdb_cache_modify BDB_SYMBOL(cache_modify)
#define bdb_cache_modrdn BDB_SYMBOL(cache_modrdn)
#define bdb_cache_release_all BDB_SYMBOL(cache_release_all)
+#define bdb_cache_delete_entry BDB_SYMBOL(cache_delete_entry)
int bdb_cache_children(
Operation *op,
Operation *op,
DB_TXN *txn,
struct berval *ndn,
- EntryInfo **res,
- u_int32_t locker
+ EntryInfo **res
+);
+EntryInfo * bdb_cache_find_info(
+ struct bdb_info *bdb,
+ ID id
);
int bdb_cache_find_id(
Operation *op,
DB_LOCK *lock
);
void bdb_cache_delete_cleanup(
+ Cache *cache,
Entry *e
);
void bdb_cache_release_all( Cache *cache );
+void bdb_cache_delete_entry(
+ struct bdb_info *bdb,
+ EntryInfo *ei,
+ u_int32_t locker,
+ DB_LOCK *lock
+);
+
+#ifdef BDB_HIER
+int hdb_cache_load(
+ struct bdb_info *bdb,
+ EntryInfo *ei,
+ EntryInfo **res
+);
+#endif
+
+#define bdb_cache_entry_db_relock BDB_SYMBOL(cache_entry_db_relock)
+int bdb_cache_entry_db_relock(
+ DB_ENV *env,
+ u_int32_t locker,
+ EntryInfo *ei,
+ int rw,
+ int tryOnly,
+ DB_LOCK *lock );
+
+int bdb_cache_entry_db_unlock(
+ DB_ENV *env,
+ DB_LOCK *lock );
#ifdef BDB_REUSE_LOCKERS
* search.c
*/
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
-
#define bdb_abandon BDB_SYMBOL(abandon)
#define bdb_cancel BDB_SYMBOL(cancel)
#define bdb_do_search BDB_SYMBOL(do_search)
int psearch_type
);
#define bdb_psearch(op, rs, sop, e, ps_type) bdb_do_search(op, rs, sop, e, ps_type)
-#endif
-
-
-#ifdef LDAP_CLIENT_UPDATE
-#define bdb_build_lcup_update_ctrl BDB_SYMBOL(build_lcup_update_ctrl)
-#define bdb_build_lcup_done_ctrl BDB_SYMBOL(build_lcup_done_ctrl)
-
-int
-bdb_build_lcup_update_ctrl(
- Operation *op,
- SlapReply *rs,
- Entry *e,
- int entry_count,
- LDAPControl **ctrls,
- int num_ctrls,
- struct berval *latest_entrycsn_bv,
- int isdeleted );
-
-int
-bdb_build_lcup_done_ctrl(
- Operation *op,
- SlapReply *rs,
- LDAPControl **ctrls,
- int num_ctrls,
- struct berval *latest_entrycsn_bv );
-#endif
-
-#ifdef LDAP_SYNC
-#define bdb_build_sync_state_ctrl BDB_SYMBOL(build_sync_state_ctrl)
-#define bdb_build_sync_done_ctrl BDB_SYMBOL(build_sync_done_ctrl)
-#define bdb_send_ldap_intermediate BDB_SYMBOL(send_ldap_intermediate)
-int
-bdb_build_sync_state_ctrl(
- Operation *op,
- SlapReply *rs,
- Entry *e,
- int entry_sync_state,
- LDAPControl **ctrls,
- int num_ctrls,
- int send_cookie,
- struct berval *latest_entrycsn_bv );
-
-int
-bdb_build_sync_done_ctrl(
- Operation *op,
- SlapReply *rs,
- LDAPControl **ctrls,
- int num_ctrls,
- int send_cookie,
- struct berval *latest_entrycsn_bv );
-
-int
-bdb_send_ldap_intermediate(
- Operation *op,
- SlapReply *rs,
- int state,
- struct berval *cookie );
-#endif
+/*
+ * trans.c
+ */
+#define bdb_trans_backoff BDB_SYMBOL(trans_backoff)
+void
+bdb_trans_backoff( int num_retries );
LDAP_END_DECL