X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;ds=sidebyside;f=ccan%2Ftdb2%2Ftdb1_private.h;h=cb22b9f332cb3671ab8274574ba4829f24a14b21;hb=836119375a6c477747bc85a4a384a98599610f73;hp=13c51df9f344c4acc49b3da7b14abaf05499fbe5;hpb=ceb2f3eacbad917ee990afbc3dd800bfb0607887;p=ccan diff --git a/ccan/tdb2/tdb1_private.h b/ccan/tdb2/tdb1_private.h index 13c51df9..cb22b9f3 100644 --- a/ccan/tdb2/tdb1_private.h +++ b/ccan/tdb2/tdb1_private.h @@ -26,7 +26,6 @@ */ #include "private.h" -#include "tdb1.h" #include @@ -113,7 +112,7 @@ struct tdb1_methods { int (*tdb1_read)(struct tdb_context *, tdb1_off_t , void *, tdb1_len_t , int ); int (*tdb1_write)(struct tdb_context *, tdb1_off_t, const void *, tdb1_len_t); void (*next_hash_chain)(struct tdb_context *, uint32_t *); - int (*tdb1_oob)(struct tdb_context *, tdb1_off_t , int ); + int (*tdb1_oob)(struct tdb_context *, tdb1_off_t, tdb1_len_t, int ); int (*tdb1_expand_file)(struct tdb_context *, tdb1_off_t , tdb1_off_t ); }; @@ -154,20 +153,22 @@ int tdb1_ofs_read(struct tdb_context *tdb, tdb1_off_t offset, tdb1_off_t *d); int tdb1_ofs_write(struct tdb_context *tdb, tdb1_off_t offset, tdb1_off_t *d); int tdb1_lock_record(struct tdb_context *tdb, tdb1_off_t off); int tdb1_unlock_record(struct tdb_context *tdb, tdb1_off_t off); -bool tdb1_needs_recovery(struct tdb_context *tdb); +tdb_bool_err tdb1_needs_recovery(struct tdb_context *tdb); int tdb1_rec_read(struct tdb_context *tdb, tdb1_off_t offset, struct tdb1_record *rec); int tdb1_rec_write(struct tdb_context *tdb, tdb1_off_t offset, struct tdb1_record *rec); int tdb1_do_delete(struct tdb_context *tdb, tdb1_off_t rec_ptr, struct tdb1_record *rec); unsigned char *tdb1_alloc_read(struct tdb_context *tdb, tdb1_off_t offset, tdb1_len_t len); -int tdb1_parse_data(struct tdb_context *tdb, TDB_DATA key, - tdb1_off_t offset, tdb1_len_t len, - int (*parser)(TDB_DATA key, TDB_DATA data, - void *private_data), - void *private_data); +enum TDB_ERROR tdb1_parse_data(struct tdb_context *tdb, TDB_DATA key, + tdb1_off_t offset, tdb1_len_t len, + enum TDB_ERROR (*parser)(TDB_DATA key, + TDB_DATA data, + void *private_data), + void *private_data); tdb1_off_t tdb1_find_lock_hash(struct tdb_context *tdb, TDB_DATA key, uint32_t hash, int locktype, struct tdb1_record *rec); void tdb1_io_init(struct tdb_context *tdb); int tdb1_expand(struct tdb_context *tdb, tdb1_off_t size); +tdb1_off_t tdb1_expand_adjust(tdb1_off_t map_size, tdb1_off_t size, int page_size); int tdb1_rec_free_read(struct tdb_context *tdb, tdb1_off_t off, struct tdb1_record *rec); bool tdb1_write_all(int fd, const void *buf, size_t count);