]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/test/layout.h
tdb2: feature support.
[ccan] / ccan / tdb2 / test / layout.h
index 6cbf3d0d2f727bc0392a5f599bb0fedb9cea1834..6e2e6657a70451050db62ee2879657e6e8cb9f8b 100644 (file)
@@ -3,10 +3,9 @@
 #include <ccan/tdb2/private.h>
 
 struct tdb_layout *new_tdb_layout(const char *filename);
-void tdb_layout_add_zone(struct tdb_layout *layout,
-                        unsigned int zone_bits,
-                        bool fill_prev);
-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);
@@ -17,9 +16,10 @@ void tdb_layout_add_hashtable(struct tdb_layout *layout,
                              tdb_len_t extra);
 #endif
 struct tdb_context *tdb_layout_get(struct tdb_layout *layout);
+void tdb_layout_free(struct tdb_layout *layout);
 
 enum layout_type {
-       ZONE, FREE, DATA, HASHTABLE,
+       FREETABLE, FREE, DATA, HASHTABLE,
 };
 
 /* Shared by all union members. */
@@ -28,14 +28,14 @@ struct tle_base {
        tdb_off_t off;
 };
 
-struct tle_zone {
+struct tle_freetable {
        struct tle_base base;
-       unsigned int zone_bits;
 };
 
 struct tle_free {
        struct tle_base base;
        tdb_len_t len;
+       unsigned ftable_num;
 };
 
 struct tle_used {
@@ -54,7 +54,7 @@ struct tle_hashtable {
 
 union tdb_layout_elem {
        struct tle_base base;
-       struct tle_zone zone;
+       struct tle_freetable ftable;
        struct tle_free free;
        struct tle_used used;
        struct tle_hashtable hashtable;