Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DWARF_ADD_EXPR_GEN(3)	 BSD Library Functions Manual	 DWARF_ADD_EXPR_GEN(3)

NAME
     dwarf_add_expr_gen	-- add an operator to a	location expression descriptor

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     Dwarf_Unsigned
     dwarf_add_expr_gen(Dwarf_P_Expr expr, Dwarf_Small opcode,
	 Dwarf_Unsigned	val1, Dwarf_Unsigned val2, Dwarf_Error *err);

DESCRIPTION
     Function dwarf_add_expr_gen() adds	a location expression operator to the
     location expression descriptor referenced by argument expr.

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

     Argument opcode specifies the operation code of the location expression
     operator.	Valid values for this argument are those denoted by the
     DW_OP_* constants defined in <libdwarf.h>.

     To	generate a DW_OP_addr operation, application code should instead use
     dwarf_add_expr_addr_b(3).

     Argument val1 specifies the first operand of the location expression op-
     erator.

     Argument val2 specifies the second	operand	of the location	expression op-
     erator.

     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_add_expr_gen() returns the size	in bytes of
     the location expression byte stream generated.  In	case of	an error,
     function dwarf_add_expr_gen() returns DW_DLV_NOCOUNT and sets the argu-
     ment err.

ERRORS
     Function dwarf_add_expr_gen() can fail with:

     [DW_DLE_ARGUMENT]	    Argument expr was NULL.

     [DW_DLE_LOC_EXPR_BAD]  The	operation code specified in argument opcode
			    was	invalid.

     [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_expr_current_offset(3),
     dwarf_expr_into_block(3), dwarf_new_expr(3)

BSD			       September 9, 2011			   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dwarf_add_expr_gen&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help