| Main index | Section 3 | Options |
#include <libdwarf.h>
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.
| Dwarf_Obj_Access_Interface | |
This structure bundles together a set of file access methods along
with a pointer to application-private state.
typedef struct {
void *object;
const Dwarf_Obj_Access_Methods *methods;
} Dwarf_Obj_Access_Interface;
| |
| object | This field points to application-specific state that will be passed as the first parameter to the actual access object methods. |
| methods | |
| This structure contains pointers to the functions implementing the access methods, as described below. | |
| Dwarf_Obj_Access_Methods | |
This structure specifies the functions implementing low-level access.
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;
| |
| get_byte_order | This function should return the endianness of the DWARF object by returning one of the constants DW_OBJECT_MSB or DW_OBJECT_LSB. |
| get_length_size | This function should return the number of bytes needed to represent a DWARF offset in the object being debugged. |
| get_pointer_size | This function should return the size in bytes, in the object being debugged, of a memory address. |
| get_section_count | |
| This function should return the number of sections in the object being debugged. | |
| get_section_info | This function should return information about the section at the index ndx by filling in the structure of type Dwarf_Obj_Access_Section pointed to by argument ret. The Dwarf_Obj_Access_Section structure is described below. |
| load_section | This function should load the section specified by argument ndx into memory and place a pointer to the section's data into the location pointed to by argument ret_data. |
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.
| Dwarf_Obj_Access_Section | |
This structure describes the layout of a section in the DWARF object.
typedef struct {
Dwarf_Addr addr;
Dwarf_Unsigned size;
const char *name;
} Dwarf_Obj_Access_Section;
| |
| addr | A pointer to the start of the section's data. |
| size | The size of the section in bytes. |
| name | A pointer to a NUL-terminated string containing the name of the section. |
| [DW_DLE_ARGUMENT] | One of the arguments iface or dbg was NULL. |
| [DW_DLE_DEBUG_INFO_NULL] | The underlying object did not contain debugging information. |
| [DW_DLE_MEMORY] | An out of memory condition was encountered during the execution of the function. |
| DWARF_OBJECT_INIT (3) | September 29, 2011 |
| Main index | Section 3 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
| “ | LISP = Lots of Irritating Silly Parentheses | ” |