DWARF_OBJECT_INIT(3) | Library Functions Manual | DWARF_OBJECT_INIT(3) |
dwarf_object_init
—
#include <libdwarf.h>
int
dwarf_object_init
(Dwarf_Obj_Access_Interface
*iface, Dwarf_Handler errhand,
Dwarf_Ptr errarg, Dwarf_Debug
*dbg, Dwarf_Error *err);
dwarf_object_init
() function allocates and returns a
Dwarf_Debug instance that uses application-supplied
access methods to read file content.
The argument iface should point to a populated Dwarf_Obj_Access_Interface structure. The contents of the Dwarf_Obj_Access_Interface structure are described in the section Object Access Functions below.
The argument errhand should point to a
function to be called in case of an error. If this argument is
NULL
then a default error handling scheme is used.
See dwarf(3) for a description
of the error handling schemes available.
The argument errarg will be passed to the error handler function pointed to by argument errhand.
The argument dbg should point to a memory location that will be set to a reference to the returned Dwarf_Debug descriptor.
The argument err will be used to return a Dwarf_Error descriptor in case of an error.
<libdwarf.h>
.
typedef struct { void *object; const Dwarf_Obj_Access_Methods *methods; } Dwarf_Obj_Access_Interface;
typedef struct { int (*get_section_info)(void *obj, Dwarf_Half index, Dwarf_Obj_Access_Section *ret, int *error); Dwarf_Endianness (*get_byte_order)(void *obj); Dwarf_Small (*get_length_size)(void *obj); Dwarf_Small (*get_pointer_size)(void *obj); Dwarf_Unsigned (*get_section_count)(void *obj); int (*load_section)(void *obj, Dwarf_Half ndx, Dwarf_Small **ret_data, int *error); } Dwarf_Obj_Access_Methods;
DW_OBJECT_MSB
or DW_OBJECT_LSB
.The argument obj passed to these functions will be set to the pointer value in the object field of the associated Dwarf_Obj_Access_Interface structure.
The argument error is used to return an error code in case of an error.
typedef struct { Dwarf_Addr addr; Dwarf_Unsigned size; const char *name; } Dwarf_Obj_Access_Section;
dwarf_object_init
() function returns
DW_DLV_OK
. In case of an error, the function returns
DW_DLV_ERROR
and sets the argument
err.
dwarf_object_init
() function may fail with the
following errors:
DW_DLE_ARGUMENT
]DW_DLE_DEBUG_INFO_NULL
]DW_DLE_MEMORY
]September 29, 2011 | NetBSD 9.2 |