Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


DWARF_ATTR(3)              Library Functions Manual              DWARF_ATTR(3)

NAME
     dwarf_attr - retrieve an attribute descriptor associated with a DWARF
     debugging information entry

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_attr(Dwarf_Die die, Dwarf_Half attr, Dwarf_Attribute *atp,
         Dwarf_Error *err);

DESCRIPTION
     Function dwarf_attr() retrieves the attribute descriptor for an attribute
     associated with the DWARF debugging information entry descriptor in
     argument die.

     DWARF attribute descriptors are represented by value of the opaque type
     Dwarf_Attribute, see dwarf(3).

     Argument attr names the desired DWARF attribute.  Legal values for
     argument attr are those denoted by the DW_AT_* constants in the DWARF
     specification.

     Argument atp points to a location into which the returned attribute
     descriptor will be written.  The returned descriptor may then be passed
     to the form query functions in the dwarf(3) API set to access the data
     associated with the attribute.

     If argument err is non-NULL, it will be used to return an error
     descriptor in case of an error.

RETURN VALUES
     Function dwarf_attr() returns DW_DLV_OK on success.

     If the debugging information entry descriptor denoted by argument die
     does not contain the named attribute, the function returns
     DW_DLV_NO_ENTRY and sets argument err.  For other errors, it returns
     DW_DLV_ERROR and sets argument err.

ERRORS
     Function dwarf_attr() can fail with the following errors:

     [DW_DLE_ARGUMENT]       Either of arguments die or atp was NULL.

     [DW_DLE_NO_ENTRY]       Argument die had no attribute corresponding to
                             the value in argument attr.

SEE ALSO
     dwarf(3), dwarf_attrlist(3), dwarf_attroffset(3), dwarf_hasattr(3),
     dwarf_hasform(3), dwarf_whatattr(3), dwarf_whatform(3)

NetBSD 10.99                     April 8, 2010                    NetBSD 10.99