dwarf_formudata
,
dwarf_formsdata
— return the
value of a CONSTANT class attribute
DWARF Access Library (libdwarf,
-ldwarf)
#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);
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.
These functions return DW_DLV_OK
on
success. In case of an error, they return
DW_DLV_ERROR
and set argument
err.
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.