diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-11-02 10:40:52 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-11-03 07:43:57 +1100 |
commit | 8a2142773f3be50734a1ae51898e18dcaa26db28 (patch) | |
tree | 85b6096ba989b4c2ef5f9c12f56b6443a77c6f96 /source4/lib/ldb/include | |
parent | 0e95fca747826209edfde79d18b106c69e51cd6b (diff) | |
download | samba-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.h | 50 | ||||
-rw-r--r-- | source4/lib/ldb/include/ldb_private.h | 6 |
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); |