opdis_info_t Struct Reference
[Configuration]

An opdis disassembler. More...

#include <opdis.h>

Data Fields

disassemble_info config
 libopcodes configuration structure
disassembler_ftype disassembler
 libopcodes print_insn routine
OPDIS_ERROR error_reporter
 callback for reporting errors encountered during disassembly
void * error_reporter_arg
OPDIS_DISPLAY display
 callback to display or store a disassembled instruction
void * display_arg
OPDIS_HANDLER handler
 callback which determines whether to continue disassembly
void * handler_arg
OPDIS_RESOLVER resolver
 callback for converting a virtual address to a buffer offset
void * resolver_arg
OPDIS_DECODER decoder
 callback to build an opdis_insn_t from libopcodes strings.
void * decoder_arg
opdis_insn_buf_t buf
 buffer for storing libopcodes strings as they are emitted.
opdis_vma_tree_t visited_addr
 Index of all VMAs that have been disassembled and displayed.
int debug
 Print debug info to STDERR.

Detailed Description

An opdis disassembler.

Note:
The visited_addr tree is NULL by default. Both opdis_disasm_cflow and opdis_disasm_bfd_cflow create this tree if visited_addr is NULL. This means that linear disassembly will not check if an address exists before invoking the display callback.

Field Documentation

libopcodes configuration structure

Note:
This is defined in dis-asm.h in the binutils distribution.

libopcodes print_insn routine

Note:
This is defined in dis-asm.h in the binutils distribution.

Index of all VMAs that have been disassembled and displayed.

A tree of all instructions that have been disassembled. If this is non-NULL, the default handler will check if the VMA for the current instruction is in the tree. If not, the instruction is added to the tree and the handler returns 1 (i.e. instruction will be displayed). Otherwise, the handler returns 0 (do not display the instruction, and stop disassembly).

Note:
Use of the visited addresses tree will ensure that no duplicate instructions are emitted, but will noticably slow down disassembly.

The documentation for this struct was generated from the following file:

Generated on Wed Mar 10 14:30:46 2010 for Opdis Disassembly Library by  doxygen 1.6.1