s3:dbwrap: add dbwrap_trans_change_int32_atomic()
authorMichael Adam <obnox@samba.org>
Wed, 29 Jul 2009 13:14:57 +0000 (15:14 +0200)
committerMichael Adam <obnox@samba.org>
Wed, 29 Jul 2009 14:26:29 +0000 (16:26 +0200)
A transaction wrapper for dbwrap_change_int32_atomic().

Michael

source3/include/proto.h
source3/lib/dbwrap_util.c

index b7a16567fe210e14ce0a27f0c90d5f777fe3203e..00cfd6129e6cb70c33c006a943454408513d9a50 100644 (file)
@@ -448,6 +448,10 @@ NTSTATUS dbwrap_trans_change_uint32_atomic(struct db_context *db,
                                           uint32_t change_val);
 NTSTATUS dbwrap_change_int32_atomic(struct db_context *db, const char *keystr,
                                    int32_t *oldval, int32_t change_val);
+NTSTATUS dbwrap_trans_change_int32_atomic(struct db_context *db,
+                                         const char *keystr,
+                                         int32_t *oldval,
+                                         int32_t change_val);
 NTSTATUS dbwrap_trans_store(struct db_context *db, TDB_DATA key, TDB_DATA dbuf,
                            int flag);
 NTSTATUS dbwrap_trans_delete(struct db_context *db, TDB_DATA key);
index ca0658579a2bda4bb29af159b9d8c08a65a1e412..1c190167b5ba64fc40a176db77b73166f81e57d1 100644 (file)
@@ -250,6 +250,23 @@ NTSTATUS dbwrap_change_int32_atomic(struct db_context *db, const char *keystr,
        return ret;
 }
 
+NTSTATUS dbwrap_trans_change_int32_atomic(struct db_context *db,
+                                         const char *keystr,
+                                         int32_t *oldval,
+                                         int32_t change_val)
+{
+       NTSTATUS ret;
+       struct dbwrap_change_int32_atomic_context state;
+
+       state.keystr = keystr;
+       state.oldval = oldval;
+       state.change_val = change_val;
+
+       ret = dbwrap_trans_do(db, dbwrap_change_int32_atomic_action, &state);
+
+       return ret;
+}
+
 struct dbwrap_store_context {
        TDB_DATA *key;
        TDB_DATA *dbuf;