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(const char *filename);
6 void tdb_layout_add_freelist(struct tdb_layout *layout);
7 void tdb_layout_add_free(struct tdb_layout *layout, tdb_len_t len);
8 void tdb_layout_add_used(struct tdb_layout *layout,
9 TDB_DATA key, TDB_DATA data,
11 #if 0 /* FIXME: Allow allocation of subtables */
12 void tdb_layout_add_hashtable(struct tdb_layout *layout,
13 int htable_parent, /* -1 == toplevel */
17 struct tdb_context *tdb_layout_get(struct tdb_layout *layout);
20 FREELIST, FREE, DATA, HASHTABLE,
23 /* Shared by all union members. */
25 enum layout_type type;
45 struct tle_hashtable {
52 union tdb_layout_elem {
54 struct tle_freelist flist;
57 struct tle_hashtable hashtable;
62 unsigned int num_elems;
63 union tdb_layout_elem *elem;
65 #endif /* TDB2_TEST_LAYOUT_H */