typedef struct b_node_t b_node_t; struct b_node_t { /* left child */ b_node_t *left; /* right child */ b_node_t *right; /* data contained by the node */ void *data; }; typedef struct b_tree_t b_tree_t; struct b_tree_t { /* root of the tree */ b_node_t *root; };