X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb%2Ftdb_private.h;h=16f5d925c0954e2105ed63eeb969a45a374ad9cb;hp=52383287a067605f790200562d72cf151b34cef9;hb=a1ace0cd114e0c588d6ce1b9e7386af11716e0bd;hpb=88541fe7eb0542150669312675ddc00e9684de66 diff --git a/ccan/tdb/tdb_private.h b/ccan/tdb/tdb_private.h index 52383287..16f5d925 100644 --- a/ccan/tdb/tdb_private.h +++ b/ccan/tdb/tdb_private.h @@ -64,7 +64,7 @@ #define __location__ __FILE__ ":" __STRINGSTRING(__LINE__) #endif -#if HAVE_GETPAGESIZE +#if !HAVE_GETPAGESIZE #define getpagesize() 0x2000 #endif @@ -176,7 +176,7 @@ struct tdb_header { char magic_food[32]; /* for /etc/magic */ 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 hashcheck; /* 0 for default hash. */ tdb_off_t recovery_start; /* offset of transaction recovery region */ tdb_off_t sequence_number; /* used when TDB_SEQNUM is set */ tdb_off_t reserved[29]; @@ -211,8 +211,6 @@ struct tdb_methods { 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 (*brlock)(struct tdb_context *, int, tdb_off_t, size_t, enum tdb_lock_flags); - int (*brunlock)(struct tdb_context *, int, tdb_off_t, size_t); }; struct tdb_context { @@ -250,6 +248,7 @@ struct tdb_context { /* internal prototypes */ +uint32_t hashcheck(struct tdb_context *tdb); int tdb_munmap(struct tdb_context *tdb); void tdb_mmap(struct tdb_context *tdb); int tdb_lock(struct tdb_context *tdb, int list, int ltype); @@ -284,7 +283,7 @@ 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); int tdb_lock_record(struct tdb_context *tdb, tdb_off_t off); int tdb_unlock_record(struct tdb_context *tdb, tdb_off_t off); -int _tdb_transaction_cancel(struct tdb_context *tdb, int ltype); +bool tdb_needs_recovery(struct tdb_context *tdb); int tdb_rec_read(struct tdb_context *tdb, tdb_off_t offset, struct tdb_record *rec); int tdb_rec_write(struct tdb_context *tdb, tdb_off_t offset, struct tdb_record *rec); int tdb_do_delete(struct tdb_context *tdb, tdb_off_t rec_ptr, struct tdb_record *rec);