NAME
dwarf_hasform,
dwarf_whatform,
dwarf_whatform_direct —
query
attribute forms
LIBRARY
DWARF Access Library (libdwarf, -ldwarf)
SYNOPSIS
#include <libdwarf.h>
int
dwarf_hasform(
Dwarf_Attribute attr,
Dwarf_Half form,
Dwarf_Bool *ret,
Dwarf_Error *err);
int
dwarf_whatform(
Dwarf_Attribute attr,
Dwarf_Half *retform,
Dwarf_Error
*err);
int
dwarf_whatform_direct(
Dwarf_Attribute
attr,
Dwarf_Half *retform,
Dwarf_Error *err);
DESCRIPTION
Function
dwarf_hasform() indicates whether the DWARF attribute
denoted by argument
attr has the attribute form
specified by argument
form. If the attribute has the
specified form, then argument
ret is set to a non-zero
value, otherwise it is set to zero. If argument
err is
non-NULL, it will be used to return an error descriptor in case of an error.
Function
dwarf_whatform() sets the location specified by
argument
retform to the attribute form code for the
DWARF attribute referenced by argument
attr. If the
attribute referenced by argument
attr has an indirect
form attribute, this function will return the final form for the attribute. If
argument
err is non-NULL, it will be used to return an
error descriptor in case of an error.
Function
dwarf_whatform_direct() sets the location specified
by argument
retform to the attribute form code for the
DWARF attribute referenced by argument
attr. If the form
is an indirect form, the function sets the location specified by argument
retform to
DW_FORM_indirect
. If
argument
err is non-NULL, it will be used to return an
error descriptor in case of an error.
RETURN VALUES
These functions return
DW_DLV_OK
on success. In case of
an error, these functions return
DW_DLV_ERR
and set
argument
err.
ERRORS
These functions may fail with the following errors:
-
-
- [
DW_DLE_ARGUMENT
]
- Any of the arguments attr,
ret, or retform was NULL.
SEE ALSO
dwarf(3),
dwarf_attr(3),
dwarf_hasattr(3)