DWARF_FORMEXPRLOC(3)

DWARF_FORMEXPRLOC(3) | Library Functions Manual | DWARF_FORMEXPRLOC(3)

# NAME

`dwarf_formexprloc` —
return information about a location expression

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

int
`dwarf_formexprloc`(Dwarf_Attribute attr, Dwarf_Unsigned *retlen, Dwarf_Ptr *retexpr, Dwarf_Error *err);

# DESCRIPTION

Function `dwarf_formexprloc`() allows an application to retrieve the length and the bytes of a DWARF location expression.

Argument attr should reference a DWARF attribute of the form `DW_FORM_exprloc`. Argument retlen should point to a location that will be set to the length of the location expression. Argument retexpr should point to a location that will be set to a pointer to the content of the location expression itself.

If argument err is not NULL, it will be used to return an error descriptor in case of an error.

## Memory Management

The application should not attempt to free the memory area referenced by the pointer returned in argument retexpr.

# RETURN VALUES

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

# ERRORS

Function `dwarf_formexprloc`() may fail with the following errors:

[`DW_DLE_ARGUMENT`]
  One of arguments attr, retlen or retexpr was NULL.
[`DW_DLE_ATTR_FORM_BAD`]
  The attribute referenced by argument attr was not of form `DW_FORM_exprloc`.

# SEE ALSO

dwarf(3), dwarf_attr(3), dwarf_formblock(3), dwarf_formflag(3), dwarf_formref(3), dwarf_formsdata(3), dwarf_formsig8(3), dwarf_formstring(3), dwarf_formudata(3), dwarf_hasattr(3)

July 25, 2010 | NetBSD 9.5