DWARF_DEALLOC(3)

NAME
dwarf_dealloc, dwarf_fde_cie_list_dealloc, dwarf_funcs_dealloc, dwarf_globals_dealloc, dwarf_pubtypes_dealloc, dwarf_ranges_dealloc, dwarf_srclines_dealloc, dwarf_types_dealloc, dwarf_vars_dealloc, dwarf_weaks_dealloc - release resources

LIBRARY
libdwarf

SYNOPSIS
#include <libdwarf.h>
void
dwarf_dealloc(Dwarf_Debug dbg, Dwarf_Ptr ptr, Dwarf_Unsigned type);
dwarf_fde_cie_list_dealloc(Dwarf_Debug dbg, Dwarf_Cie *cie_list, Dwarf_Signed cie_count, Dwarf_Fde *fde_list, Dwarf_Signed fde_count);
void
dwarf_funcs_dealloc(Dwarf_Debug dbg, Dwarf_Func *funcs, Dwarf_Signed funccount);
void
dwarf_globals_dealloc(Dwarf_Debug dbg, Dwarf_Global *globals, Dwarf_Signed globalcount);
void
dwarf_pubtypes_dealloc(Dwarf_Debug dbg, Dwarf_Type *pubtypes, Dwarf_Signed pubtypecount);
void
dwarf_ranges_dealloc(Dwarf_Debug dbg, Dwarf_Ranges *ranges, Dwarf_Signed rangecount);
void
dwarf_srclines_dealloc(Dwarf_Debug dbg, Dwarf_Line *lines, Dwarf_Signed linecount);
void
dwarf_types_dealloc(Dwarf_Debug dbg, Dwarf_Type *types, Dwarf_Signed typecount);
void
dwarf_vars_dealloc(Dwarf_Debug dbg, Dwarf_Var *vars, Dwarf_Signed varcount);
void
dwarf_weaks_dealloc(Dwarf_Debug dbg, Dwarf_Weak *weaks, Dwarf_Signed weakcount);

DESCRIPTION
The function dwarf_dealloc() is used by applications to indicate that memory areas returned by libdwarf may be safely disposed off. Due to the way memory is managed in the current implementation, the use of dwarf_dealloc() is only necessary for a small set of DWARF types.

Argument dbg should reference a valid debugging context allocated using dwarf_init(3).

Argument ptr should point to an object or memory area obtained by a prior call to a DWARF(3) function.

Argument type indicates the type of object being deallocated. The indicated type must match that of the object being passed in argument ptr. Valid values for the type argument are:

DW_DLA_ABBREV
    An object of type Dwarf_Abbrev, as returned by a call to the function dwarf_get_abbrev(3).

DW_DLA_DIE
    An object of type Dwarf_Die, as returned by calls to the functions dwarf_child(3), dwarf_offdie(3) or dwarf_siblingof(3).

DW_DLA_FRAME_BLOCK
    An array of objects of type Dwarf_Frame_op, as returned by a call to the function dwarf_expand_frame_instructions(3).

Calls to dwarf_dealloc() with other values for argument type are no-ops in this implementation.

The functions dwarf_fde_cie_list_dealloc(), dwarf_funcs_dealloc(), dwarf_globals_dealloc(), dwarf_pubtypes_dealloc(), dwarf_ranges_dealloc(), dwarf_srclines_dealloc(), dwarf_types_dealloc(), dwarf_vars_dealloc() and dwarf_weaks_dealloc() are provided for compatibility with other implementations of the DWARF(3) API. Due to the way memory is managed in the current implementation, these functions are effectively no-ops.

See dwarf(3) for more information about the memory management scheme in this implementation of the DWARF(3) API.

RETURN VALUES
Functions dwarf_dealloc(), dwarf_fde_cie_list_dealloc(), dwarf_funcs_dealloc(), dwarf_globals_dealloc(), dwarf_pubtypes_dealloc(), dwarf_ranges_dealloc(), dwarf_srclines_dealloc(), dwarf_types_dealloc(), dwarf_vars_dealloc() and dwarf_weaks_dealloc() have no return value.

SEE ALSO
dwarf(3), dwarf_child(3), dwarf_expand_frame_instructions(3), dwarf_get_abbrev(3), dwarf_offdie(3), dwarf_siblingof(3)