dbwrap: Add dbwrap_fetch_int32
[nivanova/samba-autobuild/.git] / lib / dbwrap / dbwrap.h
index 23a43da019cde74eea8ca7e6ee1e0139b60235d4..5244ff216cf4b519e833fb660133b1265fb851fa 100644 (file)
@@ -43,6 +43,11 @@ struct db_record *dbwrap_fetch_locked(struct db_context *db,
 struct db_record *dbwrap_try_fetch_locked(struct db_context *db,
                                          TALLOC_CTX *mem_ctx,
                                          TDB_DATA key);
+struct db_record *dbwrap_fetch_locked_timeout(struct db_context *db,
+                                             TALLOC_CTX *mem_ctx,
+                                             TDB_DATA key,
+                                             unsigned int timeout);
+
 struct db_context *dbwrap_record_get_db(struct db_record *rec);
 void dbwrap_set_stored_callback(
        struct db_context *db,
@@ -71,11 +76,14 @@ NTSTATUS dbwrap_parse_record(struct db_context *db, TDB_DATA key,
 int dbwrap_wipe(struct db_context *db);
 int dbwrap_check(struct db_context *db);
 int dbwrap_get_seqnum(struct db_context *db);
+/* Returns 0 if unknown. */
+int dbwrap_hash_size(struct db_context *db);
 int dbwrap_transaction_start(struct db_context *db);
+NTSTATUS dbwrap_transaction_start_nonblock(struct db_context *db);
 int dbwrap_transaction_commit(struct db_context *db);
 int dbwrap_transaction_cancel(struct db_context *db);
 void dbwrap_db_id(struct db_context *db, const uint8_t **id, size_t *idlen);
-
+const char *dbwrap_name(struct db_context *db);
 
 /* The following definitions come from lib/dbwrap_util.c  */
 
@@ -85,6 +93,8 @@ NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key,
 NTSTATUS dbwrap_fetch_bystring(struct db_context *db, TALLOC_CTX *mem_ctx,
                               const char *key, TDB_DATA *value);
 
+NTSTATUS dbwrap_fetch_int32(struct db_context *db, TDB_DATA key,
+                           int32_t *result);
 NTSTATUS dbwrap_fetch_int32_bystring(struct db_context *db, const char *keystr,
                                     int32_t *result);
 NTSTATUS dbwrap_store_int32_bystring(struct db_context *db, const char *keystr,
@@ -101,6 +111,10 @@ NTSTATUS dbwrap_trans_change_uint32_atomic_bystring(struct db_context *db,
                                                    const char *keystr,
                                                    uint32_t *oldval,
                                                    uint32_t change_val);
+NTSTATUS dbwrap_change_int32_atomic(struct db_context *db,
+                                   TDB_DATA key,
+                                   int32_t *oldval,
+                                   int32_t change_val);
 NTSTATUS dbwrap_change_int32_atomic_bystring(struct db_context *db,
                                             const char *keystr,
                                             int32_t *oldval,