summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-11-02 10:40:52 +1100
committerAndrew Tridgell <tridge@samba.org>2010-11-03 07:43:57 +1100
commit8a2142773f3be50734a1ae51898e18dcaa26db28 (patch)
tree85b6096ba989b4c2ef5f9c12f56b6443a77c6f96 /source4/lib/ldb/include
parent0e95fca747826209edfde79d18b106c69e51cd6b (diff)
downloadsamba-8a2142773f3be50734a1ae51898e18dcaa26db28.tar.gz
samba-8a2142773f3be50734a1ae51898e18dcaa26db28.tar.bz2
samba-8a2142773f3be50734a1ae51898e18dcaa26db28.zip
s4-ldb: expose some more ldb module functions
this exposes enough functions for s4 to not need ldb_private.h any more.
Diffstat (limited to 'source4/lib/ldb/include')
-rw-r--r--source4/lib/ldb/include/ldb_module.h50
-rw-r--r--source4/lib/ldb/include/ldb_private.h6
2 files changed, 50 insertions, 6 deletions
diff --git a/source4/lib/ldb/include/ldb_module.h b/source4/lib/ldb/include/ldb_module.h
index fbea70770d..f10e584f87 100644
--- a/source4/lib/ldb/include/ldb_module.h
+++ b/source4/lib/ldb/include/ldb_module.h
@@ -259,4 +259,54 @@ int ldb_modules_hook(struct ldb_context *ldb, enum ldb_module_hook_type t);
return LDB_ERR_UNAVAILABLE; \
}} while (0)
+
+/*
+ return a string representation of the calling chain for the given
+ ldb request
+ */
+char *ldb_module_call_chain(struct ldb_request *req, TALLOC_CTX *mem_ctx);
+
+/*
+ return the next module in the chain
+ */
+struct ldb_module *ldb_module_next(struct ldb_module *module);
+
+/*
+ set the next module in the module chain
+ */
+void ldb_module_set_next(struct ldb_module *module, struct ldb_module *next);
+
+/*
+ load a list of modules
+ */
+int ldb_module_load_list(struct ldb_context *ldb, const char **module_list,
+ struct ldb_module *backend, struct ldb_module **out);
+
+/*
+ get the popt_options pointer in the ldb structure. This allows a ldb
+ module to change the command line parsing
+ */
+struct poptOption **ldb_module_popt_options(struct ldb_context *ldb);
+
+/* modules are called in inverse order on the stack.
+ Lets place them as an admin would think the right order is.
+ Modules order is important */
+const char **ldb_modules_list_from_string(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, const char *string);
+
+/*
+ return the current ldb flags LDB_FLG_*
+ */
+uint32_t ldb_module_flags(struct ldb_context *ldb);
+
+int ldb_module_connect_backend(struct ldb_context *ldb,
+ const char *url,
+ const char *options[],
+ struct ldb_module **backend_module);
+
+/*
+ initialise a chain of modules
+ */
+int ldb_module_init_chain(struct ldb_context *ldb, struct ldb_module *module);
+
+
#endif
diff --git a/source4/lib/ldb/include/ldb_private.h b/source4/lib/ldb/include/ldb_private.h
index 36329a8f50..5397b79ec5 100644
--- a/source4/lib/ldb/include/ldb_private.h
+++ b/source4/lib/ldb/include/ldb_private.h
@@ -131,10 +131,6 @@ struct ldb_context {
/* The following definitions come from lib/ldb/common/ldb.c */
-int ldb_connect_backend(struct ldb_context *ldb, const char *url, const char *options[],
- struct ldb_module **backend_module);
-
-
extern const struct ldb_module_ops ldb_objectclass_module_ops;
extern const struct ldb_module_ops ldb_paged_results_module_ops;
extern const struct ldb_module_ops ldb_rdn_name_module_ops;
@@ -173,9 +169,7 @@ void ldb_dump_results(struct ldb_context *ldb, struct ldb_result *result, FILE *
/* The following definitions come from lib/ldb/common/ldb_modules.c */
const char **ldb_modules_list_from_string(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, const char *string);
-int ldb_load_modules_list(struct ldb_context *ldb, const char **module_list, struct ldb_module *backend, struct ldb_module **out);
int ldb_load_modules(struct ldb_context *ldb, const char *options[]);
-int ldb_init_module_chain(struct ldb_context *ldb, struct ldb_module *module);
struct ldb_val ldb_binary_decode(TALLOC_CTX *mem_ctx, const char *str);