diff options
Diffstat (limited to 'source3/lib/tdb/common')
-rw-r--r-- | source3/lib/tdb/common/error.c | 2 | ||||
-rw-r--r-- | source3/lib/tdb/common/io.c | 12 | ||||
-rw-r--r-- | source3/lib/tdb/common/lock.c | 2 | ||||
-rw-r--r-- | source3/lib/tdb/common/open.c | 10 | ||||
-rw-r--r-- | source3/lib/tdb/common/tdb.c | 31 | ||||
-rw-r--r-- | source3/lib/tdb/common/tdb_private.h | 34 | ||||
-rw-r--r-- | source3/lib/tdb/common/transaction.c | 22 | ||||
-rw-r--r-- | source3/lib/tdb/common/traverse.c | 2 |
8 files changed, 56 insertions, 59 deletions
diff --git a/source3/lib/tdb/common/error.c b/source3/lib/tdb/common/error.c index c907602ca7..195ab23815 100644 --- a/source3/lib/tdb/common/error.c +++ b/source3/lib/tdb/common/error.c @@ -48,7 +48,7 @@ static struct tdb_errname { /* Error string for the last tdb error */ const char *tdb_errorstr(struct tdb_context *tdb) { - u32 i; + uint32_t i; for (i = 0; i < sizeof(emap) / sizeof(struct tdb_errname); i++) if (tdb->ecode == emap[i].ecode) return emap[i].estring; diff --git a/source3/lib/tdb/common/io.c b/source3/lib/tdb/common/io.c index b2b4ee0380..c8ea26c06c 100644 --- a/source3/lib/tdb/common/io.c +++ b/source3/lib/tdb/common/io.c @@ -99,9 +99,9 @@ static int tdb_write(struct tdb_context *tdb, tdb_off_t off, } /* Endian conversion: we only ever deal with 4 byte quantities */ -void *tdb_convert(void *buf, u32 size) +void *tdb_convert(void *buf, uint32_t size) { - u32 i, *p = (u32 *)buf; + uint32_t i, *p = (uint32_t *)buf; for (i = 0; i < size / 4; i++) p[i] = TDB_BYTEREV(p[i]); return buf; @@ -142,17 +142,17 @@ static int tdb_read(struct tdb_context *tdb, tdb_off_t off, void *buf, do an unlocked scan of the hash table heads to find the next non-zero head. The value will then be confirmed with the lock held */ -static void tdb_next_hash_chain(struct tdb_context *tdb, u32 *chain) +static void tdb_next_hash_chain(struct tdb_context *tdb, uint32_t *chain) { - u32 h = *chain; + uint32_t h = *chain; if (tdb->map_ptr) { for (;h < tdb->header.hash_size;h++) { - if (0 != *(u32 *)(TDB_HASH_TOP(h) + (unsigned char *)tdb->map_ptr)) { + if (0 != *(uint32_t *)(TDB_HASH_TOP(h) + (unsigned char *)tdb->map_ptr)) { break; } } } else { - u32 off=0; + uint32_t off=0; for (;h < tdb->header.hash_size;h++) { if (tdb_ofs_read(tdb, TDB_HASH_TOP(h), &off) != 0 || off != 0) { break; diff --git a/source3/lib/tdb/common/lock.c b/source3/lib/tdb/common/lock.c index 9d7d01b42b..22896f5227 100644 --- a/source3/lib/tdb/common/lock.c +++ b/source3/lib/tdb/common/lock.c @@ -400,7 +400,7 @@ int tdb_write_unlock_record(struct tdb_context *tdb, tdb_off_t off) int tdb_unlock_record(struct tdb_context *tdb, tdb_off_t off) { struct tdb_traverse_lock *i; - u32 count = 0; + uint32_t count = 0; if (off == 0) return 0; diff --git a/source3/lib/tdb/common/open.c b/source3/lib/tdb/common/open.c index edb0a50916..0bd1c91a5e 100644 --- a/source3/lib/tdb/common/open.c +++ b/source3/lib/tdb/common/open.c @@ -34,8 +34,8 @@ static struct tdb_context *tdbs = NULL; /* This is based on the hash algorithm from gdbm */ static unsigned int default_tdb_hash(TDB_DATA *key) { - u32 value; /* Used to compute the hash value. */ - u32 i; /* Used to cycle through random values. */ + uint32_t value; /* Used to compute the hash value. */ + uint32_t i; /* Used to cycle through random values. */ /* Set the initial value from the key size. */ for (value = 0x238F13AF * key->dsize, i=0; i < key->dsize; i++) @@ -151,7 +151,7 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags, struct stat st; int rev = 0, locked = 0; unsigned char *vp; - u32 vertest; + uint32_t vertest; if (!(tdb = (struct tdb_context *)calloc(1, sizeof *tdb))) { /* Can't log this */ @@ -249,8 +249,8 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags, rev = (tdb->flags & TDB_CONVERT); } vp = (unsigned char *)&tdb->header.version; - vertest = (((u32)vp[0]) << 24) | (((u32)vp[1]) << 16) | - (((u32)vp[2]) << 8) | (u32)vp[3]; + vertest = (((uint32_t)vp[0]) << 24) | (((uint32_t)vp[1]) << 16) | + (((uint32_t)vp[2]) << 8) | (uint32_t)vp[3]; tdb->flags |= (vertest==TDB_VERSION) ? TDB_BIGENDIAN : 0; if (!rev) tdb->flags &= ~TDB_CONVERT; diff --git a/source3/lib/tdb/common/tdb.c b/source3/lib/tdb/common/tdb.c index cf4b3cf37b..8f3c146843 100644 --- a/source3/lib/tdb/common/tdb.c +++ b/source3/lib/tdb/common/tdb.c @@ -62,7 +62,7 @@ static int tdb_key_compare(TDB_DATA key, TDB_DATA data, void *private_data) /* Returns 0 on fail. On success, return offset of record, and fills in rec */ -static tdb_off_t tdb_find(struct tdb_context *tdb, TDB_DATA key, u32 hash, +static tdb_off_t tdb_find(struct tdb_context *tdb, TDB_DATA key, uint32_t hash, struct list_struct *r) { tdb_off_t rec_ptr; @@ -89,10 +89,11 @@ static tdb_off_t tdb_find(struct tdb_context *tdb, TDB_DATA key, u32 hash, } /* As tdb_find, but if you succeed, keep the lock */ -tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, int locktype, +tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, + uint32_t hash, int locktype, struct list_struct *rec) { - u32 rec_ptr; + uint32_t rec_ptr; if (tdb_lock(tdb, BUCKET(hash), locktype) == -1) return 0; @@ -106,7 +107,7 @@ tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, in is <= the old data size and the key exists. on failure return -1. */ -static int tdb_update_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, TDB_DATA dbuf) +static int tdb_update_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash, TDB_DATA dbuf) { struct list_struct rec; tdb_off_t rec_ptr; @@ -145,7 +146,7 @@ TDB_DATA tdb_fetch(struct tdb_context *tdb, TDB_DATA key) tdb_off_t rec_ptr; struct list_struct rec; TDB_DATA ret; - u32 hash; + uint32_t hash; /* find which hash bucket it is in */ hash = tdb->hash_fn(&key); @@ -183,7 +184,7 @@ int tdb_parse_record(struct tdb_context *tdb, TDB_DATA key, tdb_off_t rec_ptr; struct list_struct rec; int ret; - u32 hash; + uint32_t hash; /* find which hash bucket it is in */ hash = tdb->hash_fn(&key); @@ -206,7 +207,7 @@ int tdb_parse_record(struct tdb_context *tdb, TDB_DATA key, this doesn't match the conventions in the rest of this module, but is compatible with gdbm */ -static int tdb_exists_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash) +static int tdb_exists_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash) { struct list_struct rec; @@ -218,7 +219,7 @@ static int tdb_exists_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash) int tdb_exists(struct tdb_context *tdb, TDB_DATA key) { - u32 hash = tdb->hash_fn(&key); + uint32_t hash = tdb->hash_fn(&key); return tdb_exists_hash(tdb, key, hash); } @@ -257,7 +258,7 @@ int tdb_do_delete(struct tdb_context *tdb, tdb_off_t rec_ptr, struct list_struct return 0; } -static int tdb_count_dead(struct tdb_context *tdb, u32 hash) +static int tdb_count_dead(struct tdb_context *tdb, uint32_t hash) { int res = 0; tdb_off_t rec_ptr; @@ -282,7 +283,7 @@ static int tdb_count_dead(struct tdb_context *tdb, u32 hash) /* * Purge all DEAD records from a hash chain */ -static int tdb_purge_dead(struct tdb_context *tdb, u32 hash) +static int tdb_purge_dead(struct tdb_context *tdb, uint32_t hash) { int res = -1; struct list_struct rec; @@ -318,7 +319,7 @@ static int tdb_purge_dead(struct tdb_context *tdb, u32 hash) } /* delete an entry in the database given a key */ -static int tdb_delete_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash) +static int tdb_delete_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash) { tdb_off_t rec_ptr; struct list_struct rec; @@ -372,14 +373,14 @@ static int tdb_delete_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash) int tdb_delete(struct tdb_context *tdb, TDB_DATA key) { - u32 hash = tdb->hash_fn(&key); + uint32_t hash = tdb->hash_fn(&key); return tdb_delete_hash(tdb, key, hash); } /* * See if we have a dead record around with enough space */ -static tdb_off_t tdb_find_dead(struct tdb_context *tdb, u32 hash, +static tdb_off_t tdb_find_dead(struct tdb_context *tdb, uint32_t hash, struct list_struct *r, tdb_len_t length) { tdb_off_t rec_ptr; @@ -413,7 +414,7 @@ static tdb_off_t tdb_find_dead(struct tdb_context *tdb, u32 hash, int tdb_store(struct tdb_context *tdb, TDB_DATA key, TDB_DATA dbuf, int flag) { struct list_struct rec; - u32 hash; + uint32_t hash; tdb_off_t rec_ptr; char *p = NULL; int ret = -1; @@ -551,7 +552,7 @@ int tdb_store(struct tdb_context *tdb, TDB_DATA key, TDB_DATA dbuf, int flag) /* Append to an entry. Create if not exist. */ int tdb_append(struct tdb_context *tdb, TDB_DATA key, TDB_DATA new_dbuf) { - u32 hash; + uint32_t hash; TDB_DATA dbuf; int ret = -1; diff --git a/source3/lib/tdb/common/tdb_private.h b/source3/lib/tdb/common/tdb_private.h index e7929921ff..032b0ca638 100644 --- a/source3/lib/tdb/common/tdb_private.h +++ b/source3/lib/tdb/common/tdb_private.h @@ -30,16 +30,12 @@ #include "system/select.h" #include "tdb.h" -#ifndef u32 -#define u32 unsigned -#endif - #ifndef HAVE_GETPAGESIZE #define getpagesize() 0x2000 #endif -typedef u32 tdb_len_t; -typedef u32 tdb_off_t; +typedef uint32_t tdb_len_t; +typedef uint32_t tdb_off_t; #ifndef offsetof #define offsetof(t,f) ((unsigned int)&((t *)0)->f) @@ -95,8 +91,8 @@ struct list_struct { tdb_len_t rec_len; /* total byte length of record */ tdb_len_t key_len; /* byte length of key */ tdb_len_t data_len; /* byte length of data */ - u32 full_hash; /* the full 32 bit hash of the key */ - u32 magic; /* try to catch errors */ + uint32_t full_hash; /* the full 32 bit hash of the key */ + uint32_t magic; /* try to catch errors */ /* the following union is implied: union { char record[rec_len]; @@ -104,7 +100,7 @@ struct list_struct { char key[key_len]; char data[data_len]; } - u32 totalsize; (tailer) + uint32_t totalsize; (tailer) } */ }; @@ -113,8 +109,8 @@ struct list_struct { /* this is stored at the front of every database */ struct tdb_header { char magic_food[32]; /* for /etc/magic */ - u32 version; /* version of the code */ - u32 hash_size; /* number of hash entries */ + uint32_t version; /* version of the code */ + uint32_t hash_size; /* number of hash entries */ tdb_off_t rwlocks; /* obsolete - kept to detect old formats */ tdb_off_t recovery_start; /* offset of transaction recovery region */ tdb_off_t sequence_number; /* used when TDB_SEQNUM is set */ @@ -123,14 +119,14 @@ struct tdb_header { struct tdb_lock_type { int list; - u32 count; - u32 ltype; + uint32_t count; + uint32_t ltype; }; struct tdb_traverse_lock { struct tdb_traverse_lock *next; - u32 off; - u32 hash; + uint32_t off; + uint32_t hash; int lock_rw; }; @@ -138,7 +134,7 @@ struct tdb_traverse_lock { struct tdb_methods { int (*tdb_read)(struct tdb_context *, tdb_off_t , void *, tdb_len_t , int ); int (*tdb_write)(struct tdb_context *, tdb_off_t, const void *, tdb_len_t); - void (*next_hash_chain)(struct tdb_context *, u32 *); + void (*next_hash_chain)(struct tdb_context *, uint32_t *); int (*tdb_oob)(struct tdb_context *, tdb_off_t , int ); int (*tdb_expand_file)(struct tdb_context *, tdb_off_t , tdb_off_t ); int (*tdb_brlock)(struct tdb_context *, tdb_off_t , int, int, int, size_t); @@ -156,7 +152,7 @@ struct tdb_context { struct tdb_lock_type *lockrecs; /* only real locks, all with count>0 */ enum TDB_ERROR ecode; /* error code for last tdb error */ struct tdb_header header; /* a cached copy of the header */ - u32 flags; /* the flags passed to tdb_open */ + uint32_t flags; /* the flags passed to tdb_open */ struct tdb_traverse_lock travlocks; /* current traversal locks */ struct tdb_context *next; /* all tdbs to avoid multiple opens */ dev_t device; /* uniquely identifies this tdb */ @@ -185,7 +181,7 @@ int tdb_write_lock_record(struct tdb_context *tdb, tdb_off_t off); int tdb_write_unlock_record(struct tdb_context *tdb, tdb_off_t off); int tdb_ofs_read(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d); int tdb_ofs_write(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d); -void *tdb_convert(void *buf, u32 size); +void *tdb_convert(void *buf, uint32_t size); int tdb_free(struct tdb_context *tdb, tdb_off_t offset, struct list_struct *rec); tdb_off_t tdb_allocate(struct tdb_context *tdb, tdb_len_t length, struct list_struct *rec); int tdb_ofs_read(struct tdb_context *tdb, tdb_off_t offset, tdb_off_t *d); @@ -201,7 +197,7 @@ int tdb_parse_data(struct tdb_context *tdb, TDB_DATA key, int (*parser)(TDB_DATA key, TDB_DATA data, void *private_data), void *private_data); -tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, u32 hash, int locktype, +tdb_off_t tdb_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash, int locktype, struct list_struct *rec); void tdb_io_init(struct tdb_context *tdb); int tdb_expand(struct tdb_context *tdb, tdb_off_t size); diff --git a/source3/lib/tdb/common/transaction.c b/source3/lib/tdb/common/transaction.c index d2562906e1..8263bd7f38 100644 --- a/source3/lib/tdb/common/transaction.c +++ b/source3/lib/tdb/common/transaction.c @@ -100,7 +100,7 @@ struct tdb_transaction_el { struct tdb_transaction { /* we keep a mirrored copy of the tdb hash heads here so tdb_next_hash_chain() can operate efficiently */ - u32 *hash_heads; + uint32_t *hash_heads; /* the original io methods - used to do IOs to the real db */ const struct tdb_methods *io_methods; @@ -205,7 +205,7 @@ static int transaction_write(struct tdb_context *tdb, tdb_off_t off, hash heads */ if (len == sizeof(tdb_off_t) && off >= FREELIST_TOP && off < FREELIST_TOP+TDB_HASHTABLE_SIZE(tdb)) { - u32 chain = (off-FREELIST_TOP) / sizeof(tdb_off_t); + uint32_t chain = (off-FREELIST_TOP) / sizeof(tdb_off_t); memcpy(&tdb->transaction->hash_heads[chain], buf, len); } @@ -316,9 +316,9 @@ fail: /* accelerated hash chain head search, using the cached hash heads */ -static void transaction_next_hash_chain(struct tdb_context *tdb, u32 *chain) +static void transaction_next_hash_chain(struct tdb_context *tdb, uint32_t *chain) { - u32 h = *chain; + uint32_t h = *chain; for (;h < tdb->header.hash_size;h++) { /* the +1 takes account of the freelist */ if (0 != tdb->transaction->hash_heads[h+1]) { @@ -439,8 +439,8 @@ int tdb_transaction_start(struct tdb_context *tdb) /* setup a copy of the hash table heads so the hash scan in traverse can be fast */ - tdb->transaction->hash_heads = (u32 *) - calloc(tdb->header.hash_size+1, sizeof(u32)); + tdb->transaction->hash_heads = (uint32_t *) + calloc(tdb->header.hash_size+1, sizeof(uint32_t)); if (tdb->transaction->hash_heads == NULL) { tdb->ecode = TDB_ERR_OOM; goto fail; @@ -571,7 +571,7 @@ static tdb_len_t tdb_recovery_size(struct tdb_context *tdb) struct tdb_transaction_el *el; tdb_len_t recovery_size = 0; - recovery_size = sizeof(u32); + recovery_size = sizeof(uint32_t); for (el=tdb->transaction->elements;el;el=el->next) { if (el->offset >= tdb->transaction->old_map_size) { continue; @@ -677,7 +677,7 @@ static int transaction_setup_recovery(struct tdb_context *tdb, struct list_struct *rec; tdb_off_t recovery_offset, recovery_max_size; tdb_off_t old_map_size = tdb->transaction->old_map_size; - u32 magic, tailer; + uint32_t magic, tailer; /* check that the recovery area has enough space @@ -780,7 +780,7 @@ int tdb_transaction_commit(struct tdb_context *tdb) { const struct tdb_methods *methods; tdb_off_t magic_offset = 0; - u32 zero = 0; + uint32_t zero = 0; if (tdb->transaction == NULL) { TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_transaction_commit: no transaction\n")); @@ -933,7 +933,7 @@ int tdb_transaction_recover(struct tdb_context *tdb) { tdb_off_t recovery_head, recovery_eof; unsigned char *data, *p; - u32 zero = 0; + uint32_t zero = 0; struct list_struct rec; /* find the recovery area */ @@ -987,7 +987,7 @@ int tdb_transaction_recover(struct tdb_context *tdb) /* recover the file data */ p = data; while (p+8 < data + rec.data_len) { - u32 ofs, len; + uint32_t ofs, len; if (DOCONV()) { tdb_convert(p, 8); } diff --git a/source3/lib/tdb/common/traverse.c b/source3/lib/tdb/common/traverse.c index f425bee5e9..86fa4fd48e 100644 --- a/source3/lib/tdb/common/traverse.c +++ b/source3/lib/tdb/common/traverse.c @@ -278,7 +278,7 @@ TDB_DATA tdb_firstkey(struct tdb_context *tdb) /* find the next entry in the database, returning its key */ TDB_DATA tdb_nextkey(struct tdb_context *tdb, TDB_DATA oldkey) { - u32 oldhash; + uint32_t oldhash; TDB_DATA key = tdb_null; struct list_struct rec; unsigned char *k = NULL; |