RB_PROTOTYPE2
RB_PROTOTYPE2(id_tree, id_map, rb_node, id_map_cmp, int);
RB_PROTOTYPE2(thread_tree, evtr_thread, rb_node, thread_cmp, void *);
RB_PROTOTYPE2(collect_rb_tree, collect, entry, collect_compare, hammer_off_t);
RB_PROTOTYPE2(sim_dedup_entry_rb_tree, sim_dedup_entry, rb_entry,
RB_PROTOTYPE2(dedup_entry_rb_tree, dedup_entry, rb_entry,
RB_PROTOTYPE2(bigblock_rb_tree, bigblock, entry, bigblock_cmp, hammer_off_t);
RB_PROTOTYPE2(mbuf_rb_tree, mbtrack, rb_node, mbtrack_cmp, struct mbuf *);
RB_PROTOTYPE2(pv_entry_rb_tree, pv_entry, pv_entry,
RB_PROTOTYPE2(pv_entry_rb_tree, pv_entry, pv_entry,
RB_PROTOTYPE2(buf_rb_tree, buf, b_rbnode, rb_buf_compare, off_t);
RB_PROTOTYPE2(buf_rb_hash, buf, b_rbhash, rb_buf_compare, off_t);
RB_PROTOTYPE2(dev_ops_rb_tree, dev_ops_maj, rbnode, rb_dev_ops_compare, int);
RB_PROTOTYPE2(lwp_rb_tree, lwp, u.lwp_rbnode, rb_lwp_compare, lwpid_t);
RB_PROTOTYPE2(sysref_rb_tree, sysref, rbnode, rb_sysref_compare, sysid_t);
RB_PROTOTYPE2(name, type, field, cmp, datatype); \
RB_PROTOTYPE2(name, type, field, cmp, datatype); \
RB_PROTOTYPE2(fuse_node_tree, fuse_node, entry, fuse_node_cmp, uint64_t);
RB_PROTOTYPE2(hammer_pfs_rb_tree, hammer_pseudofs_inmem, rb_node,
RB_PROTOTYPE2(hammer_redo_rb_tree, hammer_inode, rb_redonode,
RB_PROTOTYPE2(hammer_vol_rb_tree, hammer_volume, rb_node,
RB_PROTOTYPE2(hammer_buf_rb_tree, hammer_buffer, rb_node,
RB_PROTOTYPE2(hammer_nod_rb_tree, hammer_node, rb_node,
RB_PROTOTYPE2(hammer_und_rb_tree, hammer_undo, rb_node,
RB_PROTOTYPE2(hammer_res_rb_tree, hammer_reserve, rb_node,
RB_PROTOTYPE2(hammer_mod_rb_tree, hammer_io, rb_node,
RB_PROTOTYPE2(swblock_rb_tree, swblock, swb_entry, rb_swblock_compare,
RB_PROTOTYPE2(vm_page_rb_tree, vm_page, rb_entry,
RB_PROTOTYPE2(rbmap_tree, rbmap, rbentry, rbmap_cmp, hammer_off_t);
RB_PROTOTYPE2(mbuf_rb_tree, mbtrack, rb_node, mbtrack_cmp, struct mbuf *);
RB_PROTOTYPE2(undo_hist_entry_rb_tree, undo_hist_entry, rbnode,