return NULL;
}
(void)talloc_steal(rec, lock_order);
+ rec->db = db;
TALLOC_FREE(frame);
return rec;
}
? db->try_fetch_locked : db->fetch_locked);
}
+struct db_context *dbwrap_record_get_db(struct db_record *rec)
+{
+ return rec->db;
+}
+
struct dbwrap_fetch_state {
TALLOC_CTX *mem_ctx;
TDB_DATA data;
struct db_record *dbwrap_try_fetch_locked(struct db_context *db,
TALLOC_CTX *mem_ctx,
TDB_DATA key);
+struct db_context *dbwrap_record_get_db(struct db_record *rec);
NTSTATUS dbwrap_delete(struct db_context *db, TDB_DATA key);
NTSTATUS dbwrap_store(struct db_context *db, TDB_DATA key,
#include "dbwrap/dbwrap_open.h"
struct db_record {
+ struct db_context *db;
TDB_DATA key, value;
NTSTATUS (*store)(struct db_record *rec, TDB_DATA data, int flag);
NTSTATUS (*delete_rec)(struct db_record *rec);
rec.store = db_tdb_store;
rec.delete_rec = db_tdb_delete;
rec.private_data = ctx->db->private_data;
+ rec.db = ctx->db;
return ctx->f(&rec, ctx->private_data);
}
rec.store = db_tdb_store_deny;
rec.delete_rec = db_tdb_delete_deny;
rec.private_data = ctx->db->private_data;
+ rec.db = ctx->db;
return ctx->f(&rec, ctx->private_data);
}