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.
dwarf(3),
dwarf_attr(3),
dwarf_formblock(3),
dwarf_formflag(3),
dwarf_formref(3),
dwarf_formsig8(3),
dwarf_formstring(3),
dwarf_hasattr(3)