URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [branches/] [oc/] [gdb-5.0/] [sim/] [common/] [hw-tree.h] - Rev 1765
Compare with Previous | Blame | View Log
/* This file is part of the program psim. Copyright (C) 1994-1997, Andrew Cagney <cagney@highland.com.au> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #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); /* Tree traversal:: The entire device tree can be traversed using the <<device_tree_traverse()>> function. The traversal can be in either prefix or postfix order. */ 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); /* Tree lookup:: The function <<hw_tree_find_device()>> will attempt to locate the specified device within the tree. If the device is not found a NULL device is returned. */ 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); /* Perform a soft reset on the created tree. */ void hw_tree_reset (struct hw *root); #endif