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 8.3