Deleted Added
full compact
libdwarf.h (179187) libdwarf.h (221569)
1/*-
2 * Copyright (c) 2007 John Birrell (jb@freebsd.org)
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2007 John Birrell (jb@freebsd.org)
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/lib/libdwarf/libdwarf.h 179187 2008-05-22 02:14:23Z jb $
26 * $FreeBSD: head/lib/libdwarf/libdwarf.h 221569 2011-05-07 01:05:31Z obrien $
27 */
28
29#ifndef _LIBDWARF_H_
30#define _LIBDWARF_H_
31
32#include <libelf.h>
33
34typedef int Dwarf_Bool;

--- 11 unchanged lines hidden (view full) ---

46typedef struct _Dwarf_Attribute *Dwarf_Attribute;
47typedef struct _Dwarf_AttrValue *Dwarf_AttrValue;
48typedef struct _Dwarf_CU *Dwarf_CU;
49typedef struct _Dwarf_Cie *Dwarf_Cie;
50typedef struct _Dwarf_Debug *Dwarf_Debug;
51typedef struct _Dwarf_Die *Dwarf_Die;
52typedef struct _Dwarf_Fde *Dwarf_Fde;
53typedef struct _Dwarf_Func *Dwarf_Func;
27 */
28
29#ifndef _LIBDWARF_H_
30#define _LIBDWARF_H_
31
32#include <libelf.h>
33
34typedef int Dwarf_Bool;

--- 11 unchanged lines hidden (view full) ---

46typedef struct _Dwarf_Attribute *Dwarf_Attribute;
47typedef struct _Dwarf_AttrValue *Dwarf_AttrValue;
48typedef struct _Dwarf_CU *Dwarf_CU;
49typedef struct _Dwarf_Cie *Dwarf_Cie;
50typedef struct _Dwarf_Debug *Dwarf_Debug;
51typedef struct _Dwarf_Die *Dwarf_Die;
52typedef struct _Dwarf_Fde *Dwarf_Fde;
53typedef struct _Dwarf_Func *Dwarf_Func;
54typedef struct _Dwarf_Inlined_Func *Dwarf_Inlined_Func;
54typedef struct _Dwarf_Global *Dwarf_Global;
55typedef struct _Dwarf_Line *Dwarf_Line;
56typedef struct _Dwarf_Type *Dwarf_Type;
57typedef struct _Dwarf_Var *Dwarf_Var;
58typedef struct _Dwarf_Weak *Dwarf_Weak;
59
60typedef struct {
61 Dwarf_Small lr_atom;

--- 4 unchanged lines hidden (view full) ---

66
67typedef struct {
68 Dwarf_Addr ld_lopc;
69 Dwarf_Addr ld_hipc;
70 Dwarf_Half ld_cents;
71 Dwarf_Loc *ld_s;
72} Dwarf_Locdesc;
73
55typedef struct _Dwarf_Global *Dwarf_Global;
56typedef struct _Dwarf_Line *Dwarf_Line;
57typedef struct _Dwarf_Type *Dwarf_Type;
58typedef struct _Dwarf_Var *Dwarf_Var;
59typedef struct _Dwarf_Weak *Dwarf_Weak;
60
61typedef struct {
62 Dwarf_Small lr_atom;

--- 4 unchanged lines hidden (view full) ---

67
68typedef struct {
69 Dwarf_Addr ld_lopc;
70 Dwarf_Addr ld_hipc;
71 Dwarf_Half ld_cents;
72 Dwarf_Loc *ld_s;
73} Dwarf_Locdesc;
74
75/* receiver function for dwarf_function_iterate_inlined_instance() API */
76typedef void (*Dwarf_Inlined_Callback)(Dwarf_Inlined_Func, void *);
77
74/*
75 * Error numbers which are specific to this implementation.
76 */
77enum {
78 DWARF_E_NONE, /* No error. */
79 DWARF_E_ERROR, /* An error! */
80 DWARF_E_NO_ENTRY, /* No entry. */
81 DWARF_E_ARGUMENT, /* Invalid argument. */

--- 70 unchanged lines hidden (view full) ---

152void dwarf_dump_die(Dwarf_Die);
153void dwarf_dump_die_at_offset(Dwarf_Debug, Dwarf_Off);
154void dwarf_dump_info(Dwarf_Debug);
155void dwarf_dump_shstrtab(Dwarf_Debug);
156void dwarf_dump_strtab(Dwarf_Debug);
157void dwarf_dump_symtab(Dwarf_Debug);
158void dwarf_dump_raw(Dwarf_Debug);
159void dwarf_dump_tree(Dwarf_Debug);
78/*
79 * Error numbers which are specific to this implementation.
80 */
81enum {
82 DWARF_E_NONE, /* No error. */
83 DWARF_E_ERROR, /* An error! */
84 DWARF_E_NO_ENTRY, /* No entry. */
85 DWARF_E_ARGUMENT, /* Invalid argument. */

--- 70 unchanged lines hidden (view full) ---

156void dwarf_dump_die(Dwarf_Die);
157void dwarf_dump_die_at_offset(Dwarf_Debug, Dwarf_Off);
158void dwarf_dump_info(Dwarf_Debug);
159void dwarf_dump_shstrtab(Dwarf_Debug);
160void dwarf_dump_strtab(Dwarf_Debug);
161void dwarf_dump_symtab(Dwarf_Debug);
162void dwarf_dump_raw(Dwarf_Debug);
163void dwarf_dump_tree(Dwarf_Debug);
164Dwarf_Func dwarf_find_function_by_offset(Dwarf_Debug dbg, Dwarf_Off off);
165Dwarf_Func dwarf_find_function_by_name(Dwarf_Debug dbg, const char *name);
166int dwarf_function_get_addr_range(Dwarf_Func f,
167 Dwarf_Addr *low_pc, Dwarf_Addr *high_pc);
168int dwarf_function_is_inlined(Dwarf_Func f);
169void dwarf_function_iterate_inlined_instance(Dwarf_Func func,
170 Dwarf_Inlined_Callback f, void *data);
171int dwarf_inlined_function_get_addr_range(Dwarf_Inlined_Func f,
172 Dwarf_Addr *low_pc, Dwarf_Addr *high_pc);
173
160__END_DECLS
161
162#endif /* !_LIBDWARF_H_ */
174__END_DECLS
175
176#endif /* !_LIBDWARF_H_ */