149d3bc91SRichard Lowe /*
249d3bc91SRichard Lowe 
3*4d9fdb46SRobert Mustacchi    Copyright (C) 2000 Silicon Graphics, Inc.  All Rights Reserved.
4*4d9fdb46SRobert Mustacchi    Portions Copyright (C) 2011 David Anderson. All Rights Reserved.
549d3bc91SRichard Lowe 
6*4d9fdb46SRobert Mustacchi    This program is free software; you can redistribute it and/or modify it
7*4d9fdb46SRobert Mustacchi    under the terms of version 2.1 of the GNU Lesser General Public License
8*4d9fdb46SRobert Mustacchi    as published by the Free Software Foundation.
949d3bc91SRichard Lowe 
10*4d9fdb46SRobert Mustacchi    This program is distributed in the hope that it would be useful, but
11*4d9fdb46SRobert Mustacchi    WITHOUT ANY WARRANTY; without even the implied warranty of
12*4d9fdb46SRobert Mustacchi    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1349d3bc91SRichard Lowe 
14*4d9fdb46SRobert Mustacchi    Further, this software is distributed without any warranty that it is
15*4d9fdb46SRobert Mustacchi    free of the rightful claim of any third person regarding infringement
16*4d9fdb46SRobert Mustacchi    or the like.  Any license provided herein, whether implied or
17*4d9fdb46SRobert Mustacchi    otherwise, applies only to this software file.  Patent licenses, if
18*4d9fdb46SRobert Mustacchi    any, provided herein do not apply to combinations of this program with
19*4d9fdb46SRobert Mustacchi    other software, or any other product whatsoever.
2049d3bc91SRichard Lowe 
21*4d9fdb46SRobert Mustacchi    You should have received a copy of the GNU Lesser General Public
22*4d9fdb46SRobert Mustacchi    License along with this program; if not, write the Free Software
23*4d9fdb46SRobert Mustacchi    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston MA 02110-1301,
24*4d9fdb46SRobert Mustacchi    USA.
2549d3bc91SRichard Lowe 
2649d3bc91SRichard Lowe */
2749d3bc91SRichard Lowe 
2849d3bc91SRichard Lowe 
2949d3bc91SRichard Lowe 
30*4d9fdb46SRobert Mustacchi /*  This structure is used to read an arange into. */
3149d3bc91SRichard Lowe struct Dwarf_Arange_s {
3249d3bc91SRichard Lowe 
33*4d9fdb46SRobert Mustacchi     /*  The segment selector. Only non-zero if Dwarf4, only
34*4d9fdb46SRobert Mustacchi         meaningful if ar_segment_selector_size non-zero   */
3507dc1947SRichard Lowe     Dwarf_Unsigned ar_segment_selector;
3607dc1947SRichard Lowe 
3749d3bc91SRichard Lowe     /* Starting address of the arange, ie low-pc. */
3849d3bc91SRichard Lowe     Dwarf_Addr ar_address;
3949d3bc91SRichard Lowe 
4049d3bc91SRichard Lowe     /* Length of the arange. */
4149d3bc91SRichard Lowe     Dwarf_Unsigned ar_length;
4249d3bc91SRichard Lowe 
4307dc1947SRichard Lowe 
44*4d9fdb46SRobert Mustacchi     /*  Offset into .debug_info of the start of the compilation-unit
45*4d9fdb46SRobert Mustacchi         containing this set of aranges.
46*4d9fdb46SRobert Mustacchi         Applies only to .debug_info, not .debug_types. */
4749d3bc91SRichard Lowe     Dwarf_Off ar_info_offset;
4849d3bc91SRichard Lowe 
4949d3bc91SRichard Lowe     /* Corresponding Dwarf_Debug. */
5049d3bc91SRichard Lowe     Dwarf_Debug ar_dbg;
5107dc1947SRichard Lowe 
5207dc1947SRichard Lowe     Dwarf_Half ar_segment_selector_size;
5349d3bc91SRichard Lowe };
5449d3bc91SRichard Lowe 
5549d3bc91SRichard Lowe 
5649d3bc91SRichard Lowe 
5749d3bc91SRichard Lowe int
58*4d9fdb46SRobert Mustacchi _dwarf_get_aranges_addr_offsets(Dwarf_Debug dbg,
59*4d9fdb46SRobert Mustacchi     Dwarf_Addr ** addrs,
60*4d9fdb46SRobert Mustacchi     Dwarf_Off ** offsets,
61*4d9fdb46SRobert Mustacchi     Dwarf_Signed * count,
62*4d9fdb46SRobert Mustacchi     Dwarf_Error * error);
63