DWARF_EXPR_INTO_BLOCK(3)

NAME
dwarf_expr_into_block - retrieve the byte stream for a location expression

LIBRARY
libdwarf

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)