diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/dbwrap.h | 5 | ||||
-rw-r--r-- | source3/lib/dbwrap.c | 34 |
2 files changed, 31 insertions, 8 deletions
diff --git a/source3/include/dbwrap.h b/source3/include/dbwrap.h index 3312f9c121..aad4ccd721 100644 --- a/source3/include/dbwrap.h +++ b/source3/include/dbwrap.h @@ -83,6 +83,11 @@ struct db_context *db_open_file(TALLOC_CTX *mem_ctx, int open_flags, mode_t mode); +NTSTATUS dbwrap_delete(struct db_context *db, TDB_DATA key); +NTSTATUS dbwrap_store(struct db_context *db, TDB_DATA key, + TDB_DATA data, int flags); +TDB_DATA dbwrap_fetch(struct db_context *db, TALLOC_CTX *mem_ctx, + TDB_DATA key); NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key); NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, TDB_DATA data, int flags); diff --git a/source3/lib/dbwrap.c b/source3/lib/dbwrap.c index 73c2761a1b..a57b7c97a5 100644 --- a/source3/lib/dbwrap.c +++ b/source3/lib/dbwrap.c @@ -105,12 +105,12 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx, return result; } -NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key) +NTSTATUS dbwrap_delete(struct db_context *db, TDB_DATA key) { struct db_record *rec; NTSTATUS status; - rec = db->fetch_locked(db, talloc_tos(), string_term_tdb_data(key)); + rec = db->fetch_locked(db, talloc_tos(), key); if (rec == NULL) { return NT_STATUS_NO_MEMORY; } @@ -119,13 +119,13 @@ NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key) return status; } -NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, - TDB_DATA data, int flags) +NTSTATUS dbwrap_store(struct db_context *db, TDB_DATA key, + TDB_DATA data, int flags) { struct db_record *rec; NTSTATUS status; - rec = db->fetch_locked(db, talloc_tos(), string_term_tdb_data(key)); + rec = db->fetch_locked(db, talloc_tos(), key); if (rec == NULL) { return NT_STATUS_NO_MEMORY; } @@ -135,14 +135,32 @@ NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, return status; } -TDB_DATA dbwrap_fetch_bystring(struct db_context *db, TALLOC_CTX *mem_ctx, - const char *key) +TDB_DATA dbwrap_fetch(struct db_context *db, TALLOC_CTX *mem_ctx, + TDB_DATA key) { TDB_DATA result; - if (db->fetch(db, mem_ctx, string_term_tdb_data(key), &result) == -1) { + if (db->fetch(db, mem_ctx, key, &result) == -1) { return make_tdb_data(NULL, 0); } return result; } + +NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key) +{ + return dbwrap_delete(db, string_term_tdb_data(key)); +} + +NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, + TDB_DATA data, int flags) +{ + return dbwrap_store(db, string_term_tdb_data(key), data, flags); +} + +TDB_DATA dbwrap_fetch_bystring(struct db_context *db, TALLOC_CTX *mem_ctx, + const char *key) +{ + return dbwrap_fetch(db, mem_ctx, string_term_tdb_data(key)); +} + |