DWARF_FORMBLOCK(3)

NAME
dwarf_formblock - return the value of a BLOCK attribute

LIBRARY
libdwarf

SYNOPSIS
#include <libdwarf.h>
int
dwarf_formblock(Dwarf_Attribute attr, Dwarf_Block **ret, Dwarf_Error *err);

DESCRIPTION
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.

  Memory Management
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 by using dwarf_dealloc(3).

RETURN VALUES
Function dwarf_formblock() returns DW_DLV_OK on success. In case of an error, it returns DW_DLV_ERROR and sets argument err.

ERRORS
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.

SEE ALSO
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)