tail head cat sleep
QR code linking to this page

Manual Pages  — DWARF_NEXT_TYPES_SECTION

NAME

dwarf_next_types_section – step through .debug_types sections in a debug context

CONTENTS

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 "amp;.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 "amp;.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 "amp;.debug_types" section present. On stepping past the last "amp;.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 "amp;.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 "amp;.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 "amp;.debug_types" sections left to traverse, it returns DW_DLV_NO_ENTRY.

EXAMPLES

To iterate though every type unit in all the "amp;.debug_types" sections found in a debug context:
Dwarf_Debug dbg;
Dwarf_Sig8 sig8;
Dwarf_Unsigned typeoff;
Dwarf_Error de;

amp;... 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)

DWARF_NEXT_TYPES_SECTION (3) December 20, 2014

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.