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 7.2