#ifndef HW_TREE
#define HW_TREE
struct hw *hw_tree_create
(SIM_DESC sd,
const char *device);
void hw_tree_delete
(struct hw *root);
struct hw *hw_tree_parse
(struct hw *root,
const char *fmt,
...) __attribute__ ((format (printf, 2, 3)));
struct hw *hw_tree_vparse
(struct hw *root,
const char *fmt,
va_list ap);
void hw_tree_finish
(struct hw *root);
typedef void (hw_tree_print_callback)
(void *,
const char *fmt,
...);
void hw_tree_print
(struct hw *root,
hw_tree_print_callback *print,
void *file);
typedef void (hw_tree_traverse_function)
(struct hw *device,
void *data);
void hw_tree_traverse
(struct hw *root,
hw_tree_traverse_function *prefix,
hw_tree_traverse_function *postfix,
void *data);
struct hw * hw_tree_find_device
(struct hw *root,
const char *path);
const struct hw_property *hw_tree_find_property
(struct hw *root,
const char *path_to_property);
int hw_tree_find_boolean_property
(struct hw *root,
const char *path_to_property);
signed_cell hw_tree_find_integer_property
(struct hw *root,
const char *path_to_property);
#if NOT_YET
device_instance *hw_tree_find_ihandle_property
(struct hw *root,
const char *path_to_property);
#endif
const char *hw_tree_find_string_property
(struct hw *root,
const char *path_to_property);
void hw_tree_reset
(struct hw *root);
#endif