DWARF_FORMBLOCK(3)

DWARF_FORMBLOCK(3) | Library Functions Manual | DWARF_FORMBLOCK(3)

# NAME

dwarf_formblock — return the value of a BLOCK attribute

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# 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 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)

July 23, 2010 | NetBSD 8.0