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.

If at first you don't succeed, you must be a programmer.