+/*
+ * alias.c
+ */
+Entry *bdb_deref_internal_r LDAP_P((
+ BackendDB *be,
+ Entry *e,
+ struct berval *dn,
+ int *err,
+ Entry **matched,
+ const char **text ));
+
+#define deref_entry_r( be, e, err, matched, text ) \
+ bdb_deref_internal_r( be, e, NULL, err, matched, text )
+#define deref_dn_r( be, dn, err, matched, text ) \
+ bdb_deref_internal_r( be, NULL, dn, err, matched, text)
+
+/*
+ * attr.c
+ */
+
+void bdb_attr_mask( struct bdb_info *bdb,
+ AttributeDescription *desc,
+ slap_mask_t *indexmask );
+
+int bdb_attr_index_config LDAP_P(( struct bdb_info *bdb,
+ const char *fname, int lineno,
+ int argc, char **argv ));
+
+void bdb_attr_index_destroy LDAP_P(( Avlnode *tree ));
+
+/*
+ * attribute.c
+ */
+
+BI_acl_attribute bdb_attribute;
+
+/*
+ * dbcache.c
+ */
+int
+bdb_db_cache(
+ Backend *be,
+ const char *name,
+ DB **db );
+
+/*
+ * dn2entry.c
+ */
+int bdb_dn2entry_rw LDAP_P(( BackendDB *be, DB_TXN *tid,
+ struct berval *dn, Entry **e, Entry **matched, int flags, int rw , u_int32_t locker, DB_LOCK *lock));
+#define bdb_dn2entry_r(be, tid, dn, e, m, f, locker, lock) bdb_dn2entry_rw((be), (tid), (dn), (e), (m), (f), 0, locker, lock)
+#define bdb_dn2entry_w(be, tid, dn, e, m, f, locker, lock) bdb_dn2entry_rw((be), (tid), (dn), (e), (m), (f), 1, locker, lock)
+
+/*
+ * dn2id.c
+ */
+int bdb_dn2id(
+ BackendDB *be,
+ DB_TXN *tid,
+ struct berval *dn,
+ ID *id,
+ int flags );
+
+int bdb_dn2id_matched(
+ BackendDB *be,
+ DB_TXN *tid,
+ struct berval *dn,
+ ID *id,
+ ID *id2,
+ int flags );
+
+int bdb_dn2id_add(
+ BackendDB *be,
+ DB_TXN *tid,
+ struct berval *pdn,
+ Entry *e );
+
+int bdb_dn2id_delete(
+ BackendDB *be,
+ DB_TXN *tid,
+ char *pdn,
+ Entry *e );
+
+int bdb_dn2id_children(
+ BackendDB *be,
+ DB_TXN *tid,
+ struct berval *dn,
+ int flags );
+
+int
+bdb_dn2idl(
+ BackendDB *be,
+ struct berval *dn,
+ int prefix,
+ ID *ids );
+
+/*
+ * entry.c
+ */
+int bdb_entry_return( Entry *e );
+BI_entry_release_rw bdb_entry_release;
+