DWARF_ADD_AT_CONST_VALUE_STRING(3) | Library Functions Manual | DWARF_ADD_AT_CONST_VALUE_STRING(3)

# NAME

`dwarf_add_AT_const_value_signedint`, `dwarf_add_AT_const_value_string`, `dwarf_add_AT_const_value_unsignedint` —
create and attach a DW_AT_const_value attribute

# LIBRARY

DWARF Access Library (libdwarf, -ldwarf)

# SYNOPSIS

`#include <libdwarf.h>`

Dwarf_P_Attribute
`dwarf_add_AT_const_value_signedint`(Dwarf_P_Die die, Dwarf_Signed value, Dwarf_Error *err);

Dwarf_P_Attribute
`dwarf_add_AT_const_value_string`(Dwarf_P_Die die, char *str, Dwarf_Error *err);

Dwarf_P_Attribute
`dwarf_add_AT_const_value_unsignedint`(Dwarf_P_Die die, Dwarf_Unsigned value, Dwarf_Error *err);

# DESCRIPTION

These functions create a `DW_AT_const_value` attribute descriptor and attach it to the debugging information entry referenced by argument die.

Argument die should reference a debugging information entry allocated using dwarf_new_die(3).

Function `dwarf_add_AT_const_value_signedint`() creates a `DW_AT_const_value` attribute descriptor containing the signed value specified by argument value. The created attribute descriptor will have DWARF form `DW_FORM_sdata`.

Function `dwarf_add_AT_const_value_unsignedint`() creates a `DW_AT_const_value` attribute descriptor containing the unsigned value specified by argument value. The created attribute descriptor will have DWARF form `DW_FORM_udata`.

Function `dwarf_add_AT_const_value_string`() creates a `DW_AT_const_value` attribute descriptor containing the string pointed to by the NUL-terminated argument str. The created attribute descriptor will have DWARF form `DW_FORM_strp`.

If argument err is not NULL, it will be used by these functions to store error information in case of an error.

# RETURN VALUES

On success, these functions return the created attribute descriptor. In case of an error, these functions return `DW_DLV_BADADDR` and set the argument err.

# ERRORS

These functions can fail with:

[`DW_DLE_ARGUMENT`]
  Either of the arguments die or str was NULL.
[`DW_DLE_MEMORY`]
  An out of memory condition was encountered during execution.

# SEE ALSO

dwarf(3), dwarf_add_AT_name(3), dwarf_add_AT_signed_const(3), dwarf_add_AT_string(3), dwarf_add_AT_unsigned_const(3), dwarf_new_die(3)

September 4, 2011 | NetBSD 9.2