X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Flayout.h;h=96ecb683b8427e4aeaeaba30d21ccaab65021214;hb=b87e14495d5b07e1b247218a72329f10ecb3da7f;hp=216fe297a8fa6b84aa8312dce37d9da76f042855;hpb=d70577b6aff24ccf6815896509dabb8c9ac07904;p=ccan diff --git a/ccan/tdb2/test/layout.h b/ccan/tdb2/test/layout.h index 216fe297..96ecb683 100644 --- a/ccan/tdb2/test/layout.h +++ b/ccan/tdb2/test/layout.h @@ -3,8 +3,9 @@ #include struct tdb_layout *new_tdb_layout(const char *filename); -void tdb_layout_add_freelist(struct tdb_layout *layout); -void tdb_layout_add_free(struct tdb_layout *layout, tdb_len_t len); +void tdb_layout_add_freetable(struct tdb_layout *layout); +void tdb_layout_add_free(struct tdb_layout *layout, tdb_len_t len, + unsigned ftable); void tdb_layout_add_used(struct tdb_layout *layout, TDB_DATA key, TDB_DATA data, tdb_len_t extra); @@ -14,10 +15,12 @@ void tdb_layout_add_hashtable(struct tdb_layout *layout, unsigned int bucket, tdb_len_t extra); #endif -struct tdb_context *tdb_layout_get(struct tdb_layout *layout); +struct tdb_context *tdb_layout_get(struct tdb_layout *layout, + union tdb_attribute *attr); +void tdb_layout_free(struct tdb_layout *layout); enum layout_type { - FREELIST, FREE, DATA, HASHTABLE, + FREETABLE, FREE, DATA, HASHTABLE, }; /* Shared by all union members. */ @@ -26,13 +29,14 @@ struct tle_base { tdb_off_t off; }; -struct tle_freelist { +struct tle_freetable { struct tle_base base; }; struct tle_free { struct tle_base base; tdb_len_t len; + unsigned ftable_num; }; struct tle_used { @@ -51,7 +55,7 @@ struct tle_hashtable { union tdb_layout_elem { struct tle_base base; - struct tle_freelist flist; + struct tle_freetable ftable; struct tle_free free; struct tle_used used; struct tle_hashtable hashtable;