DWARF_HIGHPC(3) | Library Functions Manual | DWARF_HIGHPC(3)

# NAME

`dwarf_arrayorder`, `dwarf_bitoffset`, `dwarf_bitsize`, `dwarf_bytesize`, `dwarf_highpc`, `dwarf_highpc_b`, `dwarf_lowpc`, `dwarf_srclang` —
retrieve the value of a DWARF attribute

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

int
`dwarf_arrayorder`(Dwarf_Die die, Dwarf_Unsigned *ret_order, Dwarf_Error *err);

int
`dwarf_bitoffset`(Dwarf_Die die, Dwarf_Unsigned *ret_size, Dwarf_Error *err);

int
`dwarf_bitsize`(Dwarf_Die die, Dwarf_Unsigned *ret_size, Dwarf_Error *err);

int
`dwarf_bytesize`(Dwarf_Die die, Dwarf_Unsigned *ret_size, Dwarf_Error *err);

int
`dwarf_highpc`(Dwarf_Die die, Dwarf_Addr *ret_highpc, Dwarf_Error *err);

int
`dwarf_highpc_b`(Dwarf_Die die, Dwarf_Addr *ret_highpc, Dwarf_Half *ret_form, enum Dwarf_Form_Class *ret_class, Dwarf_Error *err);

int
`dwarf_lowpc`(Dwarf_Die die, Dwarf_Addr *ret_lowpc, Dwarf_Error *err);

int
`dwarf_srclang`(Dwarf_Die die, Dwarf_Unsigned *ret_lang, Dwarf_Error *err);

# DESCRIPTION

These convenience functions are used to retrieve DWARF attribute values associated with a Debugging Information Entry (DIE) descriptor denoted by argument die. These functions store the value of the requested attribute into the location pointed to by their second argument, provided that the requested attribute exists in the debugging information entry.

The list of functions and the DWARF attribute that they retrieve are:

`dwarf_arrayorder`()
  Retrieve the `DW_AT_ordering` attribute value.
`dwarf_bitoffset`()
  Retrieve the `DW_AT_bit_offset` attribute value.
`dwarf_bitsize`()
  Retrieve the `DW_AT_bit_size` attribute value.
`dwarf_bytesize`()
  Retrieve the `DW_AT_byte_size` attribute value.
`dwarf_highpc`()
  Retrieve the `DW_AT_high_pc` attribute value.
`dwarf_highpc_b`()
  Retrieve the `DW_AT_high_pc` attribute value.
`dwarf_lowpc`()
  Retrieve the `DW_AT_low_pc` attribute value.
`dwarf_srclang`()
  Retrieve the `DW_AT_language` attribute value.

Function `dwarf_highpc_b`() is an enhanced version of function `dwarf_highpc`(). It sets the location specified by argument ret_form to the form code of the attribute `DW_AT_high_pc`, and sets the location specified by argument ret_class to the class of that form. A value of NULL may be used for either of the arguments ret_form or ret_class if the caller is not interested in the respective value.

# RETURN VALUES

These functions return `DW_DLV_OK on success.`

If the debugging information entry descriptor denoted by argument die does not contain the requested attribute, these functions return `DW_DLV_NO_ENTRY` and set argument err. For other errors, they return `DW_DLV_ERROR` and set argument err.

# ERRORS

These functions can fail with the following errors:

[`DW_DLE_ARGUMENT`]
  Arguments die, ret_highpc, ret_lowpc, ret_size, ret_lang or ret_order were NULL.
[`DW_DLE_NO_ENTRY`]
  Argument die had no requested attribute.

# SEE ALSO

dwarf(3), dwarf_attr(3), dwarf_attrlist(3), dwarf_hasattr(3), dwarf_get_form_class(3)

July 22, 2014 | NetBSD 9.2