NAME
dwarf_get_cie_info —
retrieve
information associated with a CIE descriptor
LIBRARY
DWARF Access Library (libdwarf, -ldwarf)
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)