DWARF_EXPR_INTO_BLOCK(3)

DWARF_EXPR_INTO_BLOCK(3) | Library Functions Manual | DWARF_EXPR_INTO_BLOCK(3)

# NAME

`dwarf_expr_into_block` —
retrieve the byte stream for a location expression

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

Dwarf_Addr
`dwarf_expr_into_block`(Dwarf_P_Expr expr, Dwarf_Unsigned *length, Dwarf_Error *err);

# DESCRIPTION

Function `dwarf_expr_into_block`() retrieves the byte stream representation of a location expression.

Argument expr should reference a location expression descriptor allocated using dwarf_new_expr(3).

Argument length should point to a location which will hold the size in bytes of the retrieved byte stream.

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

# RETURN VALUES

On success, function `dwarf_expr_into_block`() returns the address of the first byte of the generated byte stream. In case of an error, function `dwarf_expr_into_block`() returns `DW_DLV_BADADDR` and sets the argument err.

# ERRORS

Function `dwarf_expr_into_block`() can fail with:

[`DW_DLE_ARGUMENT`]
  One of the arguments expr or length was NULL.
[`DW_DLE_MEMORY`]
  An out of memory condition was encountered during the execution of the function.

# SEE ALSO

dwarf(3), dwarf_add_AT_location_expr(3), dwarf_add_expr_addr(3), dwarf_add_expr_addr_b(3), dwarf_add_expr_gen(3), dwarf_expr_current_offset(3), dwarf_new_expr(3)

September 13, 2011 | NetBSD 9.5