OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [sim/] [common/] [hw-tree.h] - Diff between revs 835 and 841

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 835 Rev 841
/* The common simulator framework for GDB, the GNU Debugger.
/* The common simulator framework for GDB, the GNU Debugger.
 
 
   Copyright 2002, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
   Copyright 2002, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 
   Contributed by Andrew Cagney and Red Hat.
   Contributed by Andrew Cagney and Red Hat.
 
 
   This file is part of GDB.
   This file is part of GDB.
 
 
   This program is free software; you can redistribute it and/or modify
   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
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.
   (at your option) any later version.
 
 
   This program is distributed in the hope that it will be useful,
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
 
 
#ifndef HW_TREE
#ifndef HW_TREE
#define HW_TREE
#define HW_TREE
 
 
 
 
struct hw *hw_tree_create
struct hw *hw_tree_create
(SIM_DESC sd,
(SIM_DESC sd,
 const char *device);
 const char *device);
 
 
void hw_tree_delete
void hw_tree_delete
(struct hw *root);
(struct hw *root);
 
 
struct hw *hw_tree_parse
struct hw *hw_tree_parse
(struct hw *root,
(struct hw *root,
 const char *fmt,
 const char *fmt,
 ...) __attribute__ ((format (printf, 2, 3)));
 ...) __attribute__ ((format (printf, 2, 3)));
 
 
struct hw *hw_tree_vparse
struct hw *hw_tree_vparse
(struct hw *root,
(struct hw *root,
 const char *fmt,
 const char *fmt,
 va_list ap);
 va_list ap);
 
 
 
 
void hw_tree_finish
void hw_tree_finish
(struct hw *root);
(struct hw *root);
 
 
typedef void (hw_tree_print_callback)
typedef void (hw_tree_print_callback)
     (void *,
     (void *,
      const char *fmt,
      const char *fmt,
      ...);
      ...);
 
 
void hw_tree_print
void hw_tree_print
(struct hw *root,
(struct hw *root,
 hw_tree_print_callback *print,
 hw_tree_print_callback *print,
 void *file);
 void *file);
 
 
 
 
/* Tree traversal::
/* Tree traversal::
 
 
   The entire device tree can be traversed using the
   The entire device tree can be traversed using the
   <<device_tree_traverse()>> function.  The traversal can be in
   <<device_tree_traverse()>> function.  The traversal can be in
   either prefix or postfix order.
   either prefix or postfix order.
 
 
   */
   */
 
 
typedef void (hw_tree_traverse_function)
typedef void (hw_tree_traverse_function)
     (struct hw *device,
     (struct hw *device,
      void *data);
      void *data);
 
 
void hw_tree_traverse
void hw_tree_traverse
(struct hw *root,
(struct hw *root,
 hw_tree_traverse_function *prefix,
 hw_tree_traverse_function *prefix,
 hw_tree_traverse_function *postfix,
 hw_tree_traverse_function *postfix,
 void *data);
 void *data);
 
 
 
 
/* Tree lookup::
/* Tree lookup::
 
 
   The function <<hw_tree_find_device()>> will attempt to locate the
   The function <<hw_tree_find_device()>> will attempt to locate the
   specified device within the tree.  If the device is not found a
   specified device within the tree.  If the device is not found a
   NULL device is returned.
   NULL device is returned.
 
 
   */
   */
 
 
struct hw * hw_tree_find_device
struct hw * hw_tree_find_device
(struct hw *root,
(struct hw *root,
 const char *path);
 const char *path);
 
 
 
 
const struct hw_property *hw_tree_find_property
const struct hw_property *hw_tree_find_property
(struct hw *root,
(struct hw *root,
 const char *path_to_property);
 const char *path_to_property);
 
 
int hw_tree_find_boolean_property
int hw_tree_find_boolean_property
(struct hw *root,
(struct hw *root,
 const char *path_to_property);
 const char *path_to_property);
 
 
signed_cell hw_tree_find_integer_property
signed_cell hw_tree_find_integer_property
(struct hw *root,
(struct hw *root,
 const char *path_to_property);
 const char *path_to_property);
 
 
#if NOT_YET
#if NOT_YET
device_instance *hw_tree_find_ihandle_property
device_instance *hw_tree_find_ihandle_property
(struct hw *root,
(struct hw *root,
 const char *path_to_property);
 const char *path_to_property);
#endif
#endif
 
 
const char *hw_tree_find_string_property
const char *hw_tree_find_string_property
(struct hw *root,
(struct hw *root,
 const char *path_to_property);
 const char *path_to_property);
 
 
 
 
/* Perform a soft reset on the created tree. */
/* Perform a soft reset on the created tree. */
 
 
void hw_tree_reset
void hw_tree_reset
(struct hw *root);
(struct hw *root);
 
 
 
 
#endif
#endif
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.