/* drwtreefns.h */


#ifdef __cplusplus 
extern "C" {
#endif

extern void drw_treefns_init(void);
extern treenode *drw_inst_tree_node(drwGP info, drw_tree_node *parent);
extern drw_tree_node *drw_tree_append_child(drwGP info,
                                            drw_tree_node *tnode,
                                            int makecurrent);
extern os_error *drw_tree_walk_preord(drw_tree_node *tnode,
                               drw_tree_loop_count set_loop_count,
                               drw_tree_node_action action,
                               drw_tree_node_isaction isaction,
                               drw_tree_node_ieaction ieaction,
                               void *userdata,
                               int stop_after_find,
                               int stop_on_error,
                               int deletetree);
extern os_error *drw_tree_walk_preorder(drw_tree_node *tnode,
                                 drw_tree_node_walk_data *twd);
extern int drw_tree_stop_after_find(void *listval, void *findval);
extern void drw_walk_sub_tree_preorder(void *userfndata, void *userval);
extern os_error *drw_tree_walk_children_preord(drw_tree_node *tnode,
                                               drw_tree_node_walk_data *twd);
extern drw_tree_init_NR_data(void *dataptr);
extern os_error *drw_tree_walk_inord(drw_tree_node *tnode,
                               drw_tree_loop_count set_loop_count,
                               drw_tree_node_action action,
                               drw_tree_node_isaction isaction,
                               drw_tree_node_ieaction ieaction,
                               void *userdata,
                               int stop_after_find,
                               int stop_on_error,
                               int deletetree);
extern os_error *drw_tree_walk_inorder(drw_tree_node *tnode,
                                       drw_tree_node_walk_data *twd);
extern void drw_walk_sub_tree_inorder(void *userfndata, void *userval);
extern os_error *drw_tree_walk_children_inord(drw_tree_node *tnode,
                                              drw_tree_node_walk_data *twd);
extern os_error *drw_tree_walk_postord(drw_tree_node *tnode,
                               drw_tree_loop_count set_loop_count,
                               drw_tree_node_action action,
                               drw_tree_node_isaction isaction,
                               drw_tree_node_ieaction ieaction,
                               void *userdata,
                               int stop_after_find,
                               int stop_on_error,
                               int deletetree);
extern os_error *drw_tree_walk_postorder(drw_tree_node *tnode,
                                         drw_tree_node_walk_data *twd);
extern void drw_walk_sub_tree_postorder(void *userfndata, void *userval);
extern os_error *drw_tree_walk_children_postord(drw_tree_node *tnode,
                                                drw_tree_node_walk_data *twd);
extern os_error *drw_tree_walk_preord_NR(drw_tree_node *tnode,
                        drw_tree_loop_count set_loop_count,
                        drw_tree_node_action action,
                        drw_tree_node_isaction isaction,
                        drw_tree_node_ieaction ieaction,
                        void *userdata,
                        int stop_after_find,
                        int stop_on_error,
                        int deletetree);
extern os_error *drw_tree_walk_postord_NR(drw_tree_node *tnode,
                        drw_tree_loop_count set_loop_count,
                        drw_tree_node_action action,
                        drw_tree_node_isaction isaction,
                        drw_tree_node_ieaction ieaction,
                        void *userdata,
                        int stop_after_find,
                        int stop_on_error,
                        int deletetree);
extern os_error *drw_tree_walk_inord_NR(drw_tree_node *tnode,
                        drw_tree_loop_count set_loop_count,
                        drw_tree_node_action action,
                        drw_tree_node_isaction isaction,
                        drw_tree_node_ieaction ieaction,
                        void *userdata,
                        int stop_after_find,
                        int stop_on_error,
                        int deletetree);

#ifdef __cplusplus
}
#endif

