r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
[mat/samba.git] / source4 / lib / ldb / ldb_tdb / ldb_tdb.h
index 2cc25b31522a9ae1ba68cbea756d45e46d256f86..4c2fc52f7c8f1ee9206f16189a646fb83e85b846 100644 (file)
@@ -1,5 +1,8 @@
 
-#ifdef STANDALONE
+#ifdef _SAMBA_BUILD_
+#include "system/filesys.h"
+#include "lib/tdb/include/tdb.h"
+#else
 #include "tdb.h"
 #endif
 
@@ -13,17 +16,17 @@ struct ltdb_private {
           handling. It has plenty of digits of precision */
        double sequence_number;
 
-       struct {
-               struct ldb_message baseinfo;
-               struct ldb_message indexlist;
-               struct ldb_message attributes;
-               struct ldb_message subclasses;
+       struct ltdb_cache {
+               struct ldb_message *baseinfo;
+               struct ldb_message *indexlist;
+               struct ldb_message *attributes;
+               struct ldb_message *subclasses;
 
                struct {
                        char *name;
                        int flags;
                } last_attribute;
-       } cache;
+       } *cache;
 
        /* error if an internal ldb+tdb error */
        const char *last_err_string;
@@ -51,7 +54,7 @@ struct ltdb_private {
 
 /* The following definitions come from lib/ldb/ldb_tdb/ldb_cache.c  */
 
-void ltdb_cache_free(struct ldb_module *module);
+int ltdb_cache_reload(struct ldb_module *module);
 int ltdb_cache_load(struct ldb_module *module);
 int ltdb_increase_sequence_number(struct ldb_module *module);
 int ltdb_attribute_flags(struct ldb_module *module, const char *attr_name);
@@ -112,3 +115,7 @@ int ltdb_message_match(struct ldb_module *module,
                      struct ldb_parse_tree *tree,
                      const char *base,
                      enum ldb_scope scope);
+
+int ltdb_index_del_value(struct ldb_module *module, const char *dn, 
+                        struct ldb_message_element *el, int v_idx);
+