DWARF_GET_CIE_INFO(3)

NAME
dwarf_get_cie_info - retrieve information associated with a CIE descriptor

LIBRARY
libdwarf

SYNOPSIS
#include <libdwarf.h>
int
dwarf_get_cie_info(Dwarf_Cie cie, Dwarf_Unsigned *cie_byte_len, Dwarf_Small *version, char **augmentation, Dwarf_Unsigned *caf, Dwarf_Unsigned *daf, Dwarf_Half *ra, Dwarf_Ptr *init_inst, Dwarf_Unsigned *inst_len, Dwarf_Error *err);

DESCRIPTION
Function dwarf_get_cie_info() retrieves the information associated with a given CIE descriptor.

Argument cie should reference a valid DWARF CIE descriptor, such as would be returned by function dwarf_get_cie_of_fde(3).

Argument cie_byte_len should point to a location that will hold the length in bytes of the CIE descriptor itself.

Argument version should point to a location that will hold the version number of the CIE descriptor.

Arugment augmentation should point to a location that will be set to a pointer to a NUL-terminated string containing augmentation data encoded as UTF-8.

Argument caf should point to a location that will hold the code alignment factor recorded in the CIE descriptor.

Arugment daf should point to a location that will hold the data alignment factor recorded in the CIE descriptor.

Argument ra should point to a location that will hold the return address recorded in the CIE descriptor.

Argument init_inst should point to a location that will be set to a pointer to an array of bytes containing the initial instructions associated with the CIE descriptor.

Argument inst_len should point to a location that will hold the length in bytes of the initial instructions returned in argument init_inst.

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

RETURN VALUES
Function dwarf_get_cie_info() returns DW_DLV_OK when it succeeds. In case of an error, it returns DW_DLV_ERROR and sets the argument err.

ERRORS
Function dwarf_get_cie_info() can fail with:

[DW_DLE_ARGUMENT]
    One of the arguments cie, cie_byte_len, version, augmentation, caf, daf, ra, init_inst or inst_len was NULL.

SEE ALSO
dwarf(3), dwarf_get_cie_index(3), dwarf_get_cie_of_fde(3), dwarf_get_fde_at_pc(3), dwarf_get_fde_info_for_all_regs(3), dwarf_get_fde_info_for_all_regs3(3), dwarf_get_fde_info_for_cfa_reg3(3), dwarf_get_fde_info_for_reg(3), dwarf_get_fde_info_for_reg3(3), dwarf_get_fde_instr_bytes(3), dwarf_get_fde_list(3), dwarf_get_fde_list_eh(3), dwarf_get_fde_n(3), dwarf_get_fde_range(3)