#include "dbwrap/dbwrap.h"
#include "dbwrap/dbwrap_tdb.h"
#include "tdb.h"
-#include "lib/util/util_ntdb.h"
-#include "lib/param/param.h"
-#include "system/filesys.h"
-#include "ccan/str/str.h"
struct db_context *dbwrap_local_open(TALLOC_CTX *mem_ctx,
- struct loadparm_context *lp_ctx,
const char *name,
int hash_size, int tdb_flags,
int open_flags, mode_t mode,
- enum dbwrap_lock_order lock_order)
+ enum dbwrap_lock_order lock_order,
+ uint64_t dbwrap_flags)
{
- TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
- const char *ntdbname, *tdbname;
struct db_context *db = NULL;
- /* Get both .ntdb and .tdb variants of the name. */
- if (!name) {
- tdbname = ntdbname = "unnamed database";
- } else if (strends(name, ".tdb")) {
- tdbname = name;
- ntdbname = talloc_asprintf(tmp_ctx,
- "%.*s.ntdb",
- (int)strlen(name) - 4, name);
- } else if (strends(name, ".ntdb")) {
- ntdbname = name;
- tdbname = talloc_asprintf(tmp_ctx,
- "%.*s.tdb",
- (int)strlen(name) - 5, name);
- } else {
- ntdbname = tdbname = name;
- }
+ db = db_open_tdb(
+ mem_ctx,
+ name,
+ hash_size,
+ tdb_flags,
+ open_flags,
+ mode,
+ lock_order,
+ dbwrap_flags);
- if (ntdbname == NULL || tdbname == NULL) {
- DEBUG(0, ("talloc failed\n"));
- goto out;
- }
-
- /* We currently always open a tdb, not an ntdb. */
- db = db_open_tdb(mem_ctx, lp_ctx, tdbname, hash_size,
- tdb_flags, open_flags, mode,
- lock_order);
-out:
- talloc_free(tmp_ctx);
return db;
}