diff options
Diffstat (limited to 'source4/lib/ldb/ldb_tdb/ldb_tdb.h')
-rw-r--r-- | source4/lib/ldb/ldb_tdb/ldb_tdb.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/source4/lib/ldb/ldb_tdb/ldb_tdb.h b/source4/lib/ldb/ldb_tdb/ldb_tdb.h index b6660c5825..7b926e21a2 100644 --- a/source4/lib/ldb/ldb_tdb/ldb_tdb.h +++ b/source4/lib/ldb/ldb_tdb/ldb_tdb.h @@ -1,3 +1,8 @@ + +#ifdef STANDALONE +#include "tdb.h" +#endif + /* this private structure is used by the ltdb backend in the ldb_context */ struct ltdb_private { @@ -43,3 +48,67 @@ struct ltdb_private { #define LTDB_FLAG_WILDCARD (1<<2) #define LTDB_FLAG_OBJECTCLASS (1<<3) #define LTDB_FLAG_HIDDEN (1<<4) + +/* The following definitions come from lib/ldb/ldb_tdb/ldb_cache.c */ + +void ltdb_cache_free(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); + +/* The following definitions come from lib/ldb/ldb_tdb/ldb_index.c */ + +struct ldb_parse_tree; + +int ltdb_search_indexed(struct ldb_module *module, + const char *base, + enum ldb_scope scope, + struct ldb_parse_tree *tree, + const char * const attrs[], struct ldb_message ***res); +int ltdb_index_add(struct ldb_module *module, const struct ldb_message *msg); +int ltdb_index_del(struct ldb_module *module, const struct ldb_message *msg); +int ltdb_reindex(struct ldb_module *module); + +/* The following definitions come from lib/ldb/ldb_tdb/ldb_pack.c */ + +int ltdb_pack_data(struct ldb_module *module, + const struct ldb_message *message, + struct TDB_DATA *data); +void ltdb_unpack_data_free(struct ldb_module *module, + struct ldb_message *message); +int ltdb_unpack_data(struct ldb_module *module, + const struct TDB_DATA *data, + struct ldb_message *message); + +/* The following definitions come from lib/ldb/ldb_tdb/ldb_search.c */ + +int ltdb_has_wildcard(struct ldb_module *module, const char *attr_name, + const struct ldb_val *val); +void ltdb_search_dn1_free(struct ldb_module *module, struct ldb_message *msg); +int ltdb_search_dn1(struct ldb_module *module, const char *dn, struct ldb_message *msg); +int ltdb_search_dn(struct ldb_module *module, char *dn, + const char * const attrs[], struct ldb_message ***res); +int ltdb_add_attr_results(struct ldb_module *module, struct ldb_message *msg, + const char * const attrs[], + unsigned int *count, + struct ldb_message ***res); +int ltdb_search_free(struct ldb_module *module, struct ldb_message **msgs); +int ltdb_search(struct ldb_module *module, const char *base, + enum ldb_scope scope, const char *expression, + const char * const attrs[], struct ldb_message ***res); + +/* The following definitions come from lib/ldb/ldb_tdb/ldb_tdb.c */ +struct TDB_DATA ltdb_key(struct ldb_module *module, const char *dn); +int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flgs); +int ltdb_delete_noindex(struct ldb_module *module, const char *dn); +int ltdb_modify_internal(struct ldb_module *module, const struct ldb_message *msg); + +/* The following definitions come from lib/ldb/ldb_tdb/ldb_match.c */ +int ltdb_val_equal(struct ldb_module *module, + const char *attr_name, + const struct ldb_val *v1, const struct ldb_val *v2); +int ltdb_message_match(struct ldb_module *module, + struct ldb_message *msg, + struct ldb_parse_tree *tree, + const char *base, + enum ldb_scope scope); |