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 11.0