Updated: 2022/Sep/29

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


DWARF_FORMUDATA(3)         Library Functions Manual         DWARF_FORMUDATA(3)

NAME
     dwarf_formudata, dwarf_formsdata - return the value of a CONSTANT class
     attribute

LIBRARY
     DWARF Access Library (libdwarf, -ldwarf)

SYNOPSIS
     #include <libdwarf.h>

     int
     dwarf_formudata(Dwarf_Attribute attr, Dwarf_Unsigned *ret,
         Dwarf_Error *err);

     int
     dwarf_formsdata(Dwarf_Attribute attr, Dwarf_Signed *ret,
         Dwarf_Error *err);

DESCRIPTION
     These functions return the value associated with a DWARF attribute
     describing a constant.

     Function dwarf_formudata() sets the location pointed to by argument ret
     to the value of the attribute referenced by argument attr, treating the
     value as an unsigned quantity.  Argument attr must have one of the
     following forms: DW_FORM_data1, DW_FORM_data2, DW_FORM_data4,
     DW_FORM_data8 and DW_FORM_udata.

     Function dwarf_formsdata() sets the location pointed to by argument ret
     to the value of the attribute referenced by argument attr, appropriately
     sign extended.  Argument attr must have one of the following forms:
     DW_FORM_data1, DW_FORM_data2, DW_FORM_data4, DW_FORM_data8 and
     DW_FORM_sdata.

     If argument err is not 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, they
     return DW_DLV_ERROR and set argument err.

ERRORS
     These functions may fail with the following errors:

     [DW_DLE_ARGUMENT]            Either of arguments attr or ret was NULL.

     [DW_DLE_ATTR_FORM_BAD]       The attribute referenced by argument attr
                                  was not of a permitted kind.

SEE ALSO
     dwarf(3), dwarf_attr(3), dwarf_formblock(3), dwarf_formflag(3),
     dwarf_formref(3), dwarf_formsig8(3), dwarf_formstring(3),
     dwarf_hasattr(3)

NetBSD 10.99                     June 21, 2010                    NetBSD 10.99