]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-mdb/proto-mdb.h
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / servers / slapd / back-mdb / proto-mdb.h
index 27c27388b282c6b870ffeb656f55d5a4761bf9f3..a0d84da3ebc7b24a909989bdd397680aa7ea0545 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2000-2012 The OpenLDAP Foundation.
+ * Copyright 2000-2013 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -60,7 +60,7 @@ int mdb_back_init_cf( BackendInfo *bi );
  */
 
 int mdb_dn2entry LDAP_P(( Operation *op, MDB_txn *tid, MDB_cursor *mc,
-       struct berval *dn, Entry **e, int matched ));
+       struct berval *dn, Entry **e, ID *nsubs, int matched ));
 
 /*
  * dn2id.c
@@ -72,6 +72,7 @@ int mdb_dn2id(
        MDB_cursor *mc,
        struct berval *ndn,
        ID *id,
+       ID *nsubs,
        struct berval *matched,
        struct berval *nmatched );
 
@@ -80,12 +81,14 @@ int mdb_dn2id_add(
        MDB_cursor *mcp,
        MDB_cursor *mcd,
        ID pid,
+       ID nsubs,
        Entry *e );
 
 int mdb_dn2id_delete(
        Operation *op,
        MDB_cursor *mc,
-       ID id );
+       ID id,
+       ID nsubs );
 
 int mdb_dn2id_children(
        Operation *op,
@@ -134,6 +137,10 @@ int mdb_idscopes(
        Operation *op,
        struct IdScopes *isc );
 
+int mdb_dn2id_walk(
+       Operation *op,
+       struct IdScopes *isc );
+
 MDB_cmp_func mdb_dup_compare;
 
 /*
@@ -175,6 +182,12 @@ int mdb_id2entry(
        ID id,
        Entry **e);
 
+int mdb_id2edata(
+       Operation *op,
+       MDB_cursor *mc,
+       ID id,
+       MDB_val *data);
+
 int mdb_entry_return( Operation *op, Entry *e );
 BI_entry_release_rw mdb_entry_release;
 BI_entry_get_rw mdb_entry_get;
@@ -202,6 +215,7 @@ int mdb_idl_fetch_key(
 int mdb_idl_insert( ID *ids, ID id );
 
 typedef int (mdb_idl_keyfunc)(
+       BackendDB *be,
        MDB_cursor *mc,
        struct berval *key,
        ID id );
@@ -363,10 +377,7 @@ extern BI_tool_entry_reindex               mdb_tool_entry_reindex;
 extern BI_tool_dn2id_get               mdb_tool_dn2id_get;
 extern BI_tool_entry_modify            mdb_tool_entry_modify;
 
-int mdb_tool_idl_add(
-       MDB_cursor *mc,
-       struct berval *keys,
-       ID id );
+extern mdb_idl_keyfunc mdb_tool_idl_add;
 
 LDAP_END_DECL