dwarf_formblock —
return the value of a BLOCK attribute
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
int
dwarf_formblock(
Dwarf_Attribute
attr,
Dwarf_Block **ret,
Dwarf_Error *err);
Function
dwarf_formblock() sets the location
pointed to by argument
ret to a pointer to a
Dwarf_Block structure containing the value of
the attribute referenced by argument
attr.
The form of argument
attr must be one of
DW_FORM_block
,
DW_FORM_block1
,
DW_FORM_block2
or
DW_FORM_block4
.
If argument
err is not NULL, it will be used to
return an error descriptor in case of an error.
The memory area referenced by the returned pointer is managed by the DWARF(3)
library. The application should not attempt to free this memory area. Portable
code may indicate that the memory area is to be freed by using
dwarf_dealloc(3).
Function
dwarf_formblock() returns
DW_DLV_OK
on success. In case of an error,
it returns
DW_DLV_ERROR
and sets argument
err.
Function
dwarf_formblock() 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_formflag(3),
dwarf_formref(3),
dwarf_formsdata(3),
dwarf_formsig8(3),
dwarf_formstring(3),
dwarf_formudata(3),
dwarf_hasattr(3)