diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
commit | 071ea11e85eb9d529cc5eb3d35f6247466a21b99 (patch) | |
tree | 5deda65b8d7b04d1f4cbc534c3206d328e1267ec /sim/common/sim-arange.h | |
parent | 1730ec6b1848f0f32154277f788fb29f88d8475b (diff) | |
download | gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.zip gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.gz gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.bz2 |
Initial creation of sourceware repository
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 */ |