};
struct tdb_lock {
+ struct tdb_context *owner;
uint32_t off;
uint32_t count;
uint32_t ltype;
/* Single list of all TDBs, to detect multiple opens. */
struct tdb_file *next;
+ /* How many are sharing us? */
+ unsigned int refcnt;
+
/* Mmap (if any), or malloc (for TDB_INTERNAL). */
void *map_ptr;
tdb_off_t hash_lock,
tdb_len_t hash_range, int ltype);
+/* For closing the file. */
+void tdb_unlock_all(struct tdb_context *tdb);
+
/* Lock/unlock a particular free bucket. */
enum TDB_ERROR tdb_lock_free_bucket(struct tdb_context *tdb, tdb_off_t b_off,
enum tdb_lock_flags waitflag);