DWARF_FORMUDATA(3)

DWARF_FORMUDATA(3) | Library Functions Manual | DWARF_FORMUDATA(3)

# NAME

`dwarf_formudata`, `dwarf_formsdata` —
return the value of a CONSTANT class attribute

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

int
`dwarf_formudata`(Dwarf_Attribute attr, Dwarf_Unsigned *ret, Dwarf_Error *err);

int
`dwarf_formsdata`(Dwarf_Attribute attr, Dwarf_Signed *ret, Dwarf_Error *err);

# DESCRIPTION

These functions return the value associated with a DWARF attribute describing a constant.

Function `dwarf_formudata`() sets the location pointed to by argument ret to the value of the attribute referenced by argument attr, treating the value as an unsigned quantity. Argument attr must have one of the following forms: `DW_FORM_data1`, `DW_FORM_data2`, `DW_FORM_data4`, `DW_FORM_data8` and `DW_FORM_udata`.

Function `dwarf_formsdata`() sets the location pointed to by argument ret to the value of the attribute referenced by argument attr, appropriately sign extended. Argument attr must have one of the following forms: `DW_FORM_data1`, `DW_FORM_data2`, `DW_FORM_data4`, `DW_FORM_data8` and `DW_FORM_sdata`.

If argument err is not NULL, it will be used to return an error descriptor in case of an error.

# RETURN VALUES

These functions return `DW_DLV_OK` on success. In case of an error, they return `DW_DLV_ERROR` and set argument err.

# ERRORS

These functions may fail with the following errors:

[`DW_DLE_ARGUMENT`]
  Either of arguments attr or ret was NULL.
[`DW_DLE_ATTR_FORM_BAD`]
  The attribute referenced by argument attr was not of a permitted kind.

# SEE ALSO

dwarf(3), dwarf_attr(3), dwarf_formblock(3), dwarf_formflag(3), dwarf_formref(3), dwarf_formsig8(3), dwarf_formstring(3), dwarf_hasattr(3)

June 21, 2010 | NetBSD 9.5