DWARF_NEXT_TYPES_SECTION(3) FreeBSD Library Functions Manual
NAME
dwarf_next_types_section - step through .debug_types sections in a debug
context
LIBRARY
DWARF Access Library (libdwarf, -ldwarf)
SYNOPSIS
#include <libdwarf.h>
int
dwarf_next_types_section(Dwarf_Debug dbg, Dwarf_Error *err);
DESCRIPTION
Function dwarf_next_types_section() steps through the ".debug_types"
sections found in a debug context.
Argument dbg should reference a DWARF debug context allocated using
dwarf_init(3). Argument err should point to a location that will hold an
error descriptor in case of an error.
When a DWARF debug context is allocated using dwarf_init(3), an internal
pointer associated with the context will point to the first
".debug_types" section present in the debug object. When the application
calls function dwarf_next_types_section(), this internal pointer will
move to the next ".debug_types" section present. On stepping past the
last ".debug_types" section left in the debug context, function
dwarf_next_types_section() returns DW_DLV_NO_ENTRY. The next call to the
function will restart from the first ".debug_types" section in the debug
context.
Application code should call function dwarf_next_cu_header_c(3) to
iterate though the type units associated with the current ".debug_types"
section.
RETURN VALUES
On success, function dwarf_next_types_section() returns DW_DLV_OK.
In case of an error, it returns DW_DLV_ERROR and sets argument err. When
there are no more ".debug_types" sections left to traverse, it returns
DW_DLV_NO_ENTRY.
EXAMPLES
To iterate though every type unit in all the ".debug_types" sections
found in a debug context:
Dwarf_Debug dbg;
Dwarf_Sig8 sig8;
Dwarf_Unsigned typeoff;
Dwarf_Error de;
... allocate dbg using dwarf_init() etc ...
do {
while ((ret = dwarf_next_cu_header_c(dbg, 0, NULL, NULL, NULL,
NULL, NULL, NULL, &sig8, &typeoff, NULL, &de)) == DW_DLV_OK) {
/* Access DIEs etc ... */
}
} while (dwarf_next_types_section(dbg, &de) == DW_DLV_OK);
COMPATIBILITY
This function is an extension to the DWARF(3) API.
ERRORS
The dwarf_next_types_section() function may fail with the following
errors:
[DW_DLE_ARGUMENT] Argument dbg was NULL.
SEE ALSO
dwarf(3), dwarf_init(3), dwarf_next_cu_header_c(3)
FreeBSD 15.1-STABLE-HBSD December 20, 2014 DWARF_NEXT_TYPES_SECTION(3)