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 11.0