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

FreeBSD Manual Pages

  
 
  

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

NAME
     dwarf_attrval_flag, dwarf_attrval_signed, dwarf_attrval_string,
     dwarf_attrval_unsigned -- retrieve	the value of an	attribute within a
     DWARF debugging information entry

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_attrval_flag(Dwarf_Die die, Dwarf_Half attr,	Dwarf_Bool *ret,
	 Dwarf_Error *err);

     int
     dwarf_attrval_signed(Dwarf_Die die, Dwarf_Half attr, Dwarf_Signed *ret,
	 Dwarf_Error *err);

     int
     dwarf_attrval_string(Dwarf_Die die, Dwarf_Half attr, const	char **ret,
	 Dwarf_Error *err);

     int
     dwarf_attrval_unsigned(Dwarf_Die die, Dwarf_Half attr,
	 Dwarf_Unsigned	*ret, Dwarf_Error *err);

DESCRIPTION
     These functions search the	debugging information entry referenced by ar-
     gument die	for the	attribute named	by argument attr.  If the named	attri-
     bute is found, the	functions set the location pointed to by argument ret
     to	the value of the attribute.  The argument err, if non NULL, will be
     used to return an error descriptor	in case	of an error.

     Function dwarf_attrval_flag() sets	the location pointed to	by argument
     ret to either 0 or	1. If the form of the attribute	named by argument attr
     is	DW_FORM_flag, function dwarf_attrval_flag() sets the location pointed
     to	by argument ret	to 1 if	the attribute has a non-zero value, or to 0
     otherwise.	 If the	form of	the attribute named by argument	attr is
     DW_FORM_flag_present, function dwarf_attrval_flag() unconditionally sets
     the location pointed to by	argument ret to	1.  The	form of	the attribute
     must be one of DW_FORM_flag or DW_FORM_flag_present.

     Function dwarf_attrval_signed() stores the	value for the attribute	named
     by	argument attr, into the	location pointed to by argument	ret.  The at-
     tribute's value is	treated	as a signed integral quantity and is sign-ex-
     tended as needed.	The attribute named by the argument attr must belong
     to	the CONSTANT class and must have one of	the following forms:
     DW_FORM_data1, DW_FORM_data2, DW_FORM_data4, DW_FORM_data8	or
     DW_FORM_sdata.

     Function dwarf_attrval_string() sets the location pointed to by argument
     ret to a pointer to a NUL-terminated string that is the value of the at-
     tribute named by argument attr.  The form of the attribute	must be	one of
     DW_FORM_string or DW_FORM_strp.

     Function dwarf_attrval_unsigned() stores the value	for the	attribute
     named by argument attr into the location pointed to by argument ret.  The
     attribute's value is treated as an	unsigned integral quantity, and	is
     zero-extended as needed.  The named attribute must	belong to one of the
     CONSTANT, ADDRESS or REFERENCE classes and	must have one of the following
     forms: DW_FORM_addr, DW_FORM_data1, DW_FORM_data2,	DW_FORM_data4,
     DW_FORM_data8, DW_FORM_udata, DW_FORM_ref1, DW_FORM_ref2, DW_FORM_ref4,
     DW_FORM_ref8, or DW_FORM_ref_udata.

     If	the attribute named by argument	attr is	DW_AT_type and is not present
     in	the debugging information entry	referenced by argument die, and	if a
     DW_AT_abstract_origin or DW_AT_specification attribute is present in the
     debugging information entry, function dwarf_attrval_unsigned() will
     search for	the named attribute in the debugging information entry refer-
     enced by the DW_AT_abstract_origin	or DW_AT_specification attribute.

RETURN VALUES
     On	success, these functions returns DW_DLV_OK.  If	the named attribute
     was not found in the specified debugging information entry	descriptor
     these functions return DW_DLV_NO_ENTRY and	set argument err.  For other
     errors, these functions return DW_DLV_ERROR and set argument err.

COMPATIBILITY
     These functions are extensions added by this implementation of the
     DWARF(3) API.

ERRORS
     These functions may fail with the following errors:

     [DW_DLE_ARGUMENT]	     Either of the arguments die or ret	was NULL.

     [DW_DLE_NO_ENTRY]	     Argument die did not contain an attribute corre-
			     sponding to the value in argument attr.

     [DW_DLE_ATTR_FORM_BAD]  The attribute named by argument attr was not of a
			     permitted form.

SEE ALSO
     dwarf(3), dwarf_attr(3), dwarf_hasattr(3)

BSD			       December	26, 2016			   BSD

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

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

home | help