1 #ifndef TDB2_TEST_LAYOUT_H
2 #define TDB2_TEST_LAYOUT_H
3 #include <ccan/tdb2/private.h>
5 struct tdb_layout *new_tdb_layout(void);
6 void tdb_layout_add_zone(struct tdb_layout *layout,
7 unsigned int zone_bits,
9 void tdb_layout_add_free(struct tdb_layout *layout, tdb_len_t len);
10 void tdb_layout_add_used(struct tdb_layout *layout,
11 TDB_DATA key, TDB_DATA data,
13 void tdb_layout_add_hashtable(struct tdb_layout *layout,
14 unsigned int hash_bits,
16 struct tdb_context *tdb_layout_get(struct tdb_layout *layout);
19 ZONE, FREE, DATA, HASHTABLE,
22 /* Shared by all union members. */
24 enum layout_type type;
30 unsigned int zone_bits;
45 struct tle_hashtable {
51 union tdb_layout_elem {
56 struct tle_hashtable hashtable;
60 unsigned int num_elems;
61 union tdb_layout_elem *elem;
64 #endif /* TDB2_TEST_LAYOUT_H */