summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/ldb/include')
-rw-r--r--source4/lib/ldb/include/ldb.h13
-rw-r--r--source4/lib/ldb/include/ldb_private.h4
2 files changed, 17 insertions, 0 deletions
diff --git a/source4/lib/ldb/include/ldb.h b/source4/lib/ldb/include/ldb.h
index 9a3186b41c..48290beb92 100644
--- a/source4/lib/ldb/include/ldb.h
+++ b/source4/lib/ldb/include/ldb.h
@@ -184,6 +184,19 @@ struct ldb_parse_tree *ldb_parse_tree(void *mem_ctx, const char *s);
char *ldb_filter_from_tree(void *mem_ctx, struct ldb_parse_tree *tree);
char *ldb_binary_encode(void *ctx, struct ldb_val val);
+
+/*
+ functions for controlling ldif encode/decode
+*/
+typedef int (*ldb_ldif_handler_t)(struct ldb_context *, const struct ldb_val *, struct ldb_val *);
+
+struct ldb_ldif_handler {
+ const char *attr;
+ ldb_ldif_handler_t read_fn;
+ ldb_ldif_handler_t write_fn;
+};
+
+
/*
initialise a ldb context
*/
diff --git a/source4/lib/ldb/include/ldb_private.h b/source4/lib/ldb/include/ldb_private.h
index 8f91b0d9b1..f6c1c7ff46 100644
--- a/source4/lib/ldb/include/ldb_private.h
+++ b/source4/lib/ldb/include/ldb_private.h
@@ -84,6 +84,10 @@ struct ldb_context {
const char *name;
void *value;
} *opaque;
+
+ /* ldif attribute handling table */
+ unsigned ldif_num_handlers;
+ struct ldb_ldif_handler *ldif_handlers;
};
/* the modules init function */