dwarf_attr —
retrieve an attribute descriptor associated with a
DWARF debugging information entry
DWARF Access Library (libdwarf, -ldwarf)
#include
<libdwarf.h>
int
dwarf_attr(
Dwarf_Die
die,
Dwarf_Half attr,
Dwarf_Attribute *atp,
Dwarf_Error *err);
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.
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.
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.
dwarf(3),
dwarf_attrlist(3),
dwarf_attroffset(3),
dwarf_hasattr(3),
dwarf_hasform(3),
dwarf_whatattr(3),
dwarf_whatform(3)