DWARF_FORMUDATA(3)

NAME
dwarf_formudata, dwarf_formsdata - return the value of a CONSTANT class attribute

LIBRARY
libdwarf

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)