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_freetable(struct tdb_layout
*layout
);
7 void tdb_layout_add_free(struct tdb_layout
*layout
, tdb_len_t len
,
9 void tdb_layout_add_used(struct tdb_layout
*layout
,
10 TDB_DATA key
, TDB_DATA data
,
12 #if 0 /* FIXME: Allow allocation of subtables */
13 void tdb_layout_add_hashtable(struct tdb_layout
*layout
,
14 int htable_parent
, /* -1 == toplevel */
18 struct tdb_context
*tdb_layout_get(struct tdb_layout
*layout
);
19 void tdb_layout_free(struct tdb_layout
*layout
);
22 FREETABLE
, FREE
, DATA
, HASHTABLE
,
25 /* Shared by all union members. */
27 enum layout_type type
;
31 struct tle_freetable
{
48 struct tle_hashtable
{
55 union tdb_layout_elem
{
57 struct tle_freetable ftable
;
60 struct tle_hashtable hashtable
;
65 unsigned int num_elems
;
66 union tdb_layout_elem
*elem
;
68 #endif /* TDB2_TEST_LAYOUT_H */