diff options
Diffstat (limited to 'sim/common/sim-arange.h')
-rw-r--r-- | sim/common/sim-arange.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/sim/common/sim-arange.h b/sim/common/sim-arange.h deleted file mode 100644 index 10ba0f4..0000000 --- a/sim/common/sim-arange.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Address ranges. - Copyright (C) 1998 Free Software Foundation, Inc. - Contributed by Cygnus Solutions. - -This file is part of the GNU Simulators. - -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, 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. */ - -/* This file is meant to be included by sim-basics.h. */ - -#ifndef SIM_ARANGE_H -#define SIM_ARANGE_H - -/* A list of address ranges. */ - -typedef struct _addr_subrange { - struct _addr_subrange *next; - - /* Range of addresses to be traced is [start,end]. */ - address_word start,end; -} ADDR_SUBRANGE; - -/* For speed, searching is done on a tree. */ - -typedef struct _addr_range_tree { - struct _addr_range_tree *lower; - struct _addr_range_tree *higher; - - /* Range of addresses to be traced is [start,end]. */ - address_word start,end; -} ADDR_RANGE_TREE; - -/* The top level struct. */ - -typedef struct _addr_range { - ADDR_SUBRANGE *ranges; -#define ADDR_RANGE_RANGES(ar) ((ar)->ranges) - ADDR_RANGE_TREE *range_tree; -#define ADDR_RANGE_TREE(ar) ((ar)->range_tree) -} ADDR_RANGE; - -/* Add address range START,END to AR. */ -extern void sim_addr_range_add (ADDR_RANGE * /*ar*/, - address_word /*start*/, - address_word /*end*/); - -/* Delete address range START,END from AR. */ -extern void sim_addr_range_delete (ADDR_RANGE * /*ar*/, - address_word /*start*/, - address_word /*end*/); - -/* Return non-zero if ADDR is in range AR, traversing the entire tree. - If no range is specified, that is defined to mean "everything". */ -extern INLINE int -sim_addr_range_hit_p (ADDR_RANGE * /*ar*/, address_word /*addr*/); -#define ADDR_RANGE_HIT_P(ar, addr) \ - ((ar)->range_tree == NULL || sim_addr_range_hit_p ((ar), (addr))) - -#ifdef HAVE_INLINE -#ifdef SIM_ARANGE_C -#define SIM_ARANGE_INLINE INLINE -#else -#define SIM_ARANGE_INLINE EXTERN_INLINE -#endif -#include "sim-arange.c" -#else -#define SIM_ARANGE_INLINE -#endif -#define SIM_ARANGE_C_INCLUDED - -#endif /* SIM_ARANGE_H */ |