#pragma lib "libbst.a" #pragma src "/sys/src/libbst" typedef struct Bst Bst; typedef struct Bsttree Bsttree; #pragma incomplete Bsttree struct Bst { Bst *c[2]; union { int color; int balance; }; }; enum { AVL, LLRB }; Bsttree *bstcreate(int, int(*cmp)(Bst*, Bst*)); Bst *bstroot(Bsttree*); Bst *bstlookup(Bsttree*, Bst*); Bst *bstdelete(Bsttree*, Bst*); Bst *bstinsert(Bsttree*, Bst*);