IDA C++ SDK 9.2
Loading...
Searching...
No Matches
jumptable.hpp File Reference

Go to the source code of this file.

Classes

struct  backward_flow_iterator_t< State, Ctrl >
struct  backward_flow_iterator_t< State, Ctrl >::state_t
struct  no_regs_t
struct  simple_bfi_t

Typedefs

typedef qvector< op_ttracked_regs_t
typedef int is_pattern_t(switch_info_t *si, const insn_t &insn, procmod_t *procmod)
typedef int table_checker_t(switch_info_t *si, ea_t jump_ea, int is_pattern_res, procmod_t *pm)

Enumerations

enum  { JT_NONE = 0 , JT_SWITCH , JT_CALL }

Functions

 DECLARE_JUMP_PATTERN_HELPERS (idaman) class jump_pattern_t
idaman int ida_export check_flat_jump_table (switch_info_t *si, ea_t jump_ea, int is_pattern_res=JT_SWITCH)
idaman bool ida_export check_for_table_jump (switch_info_t *si, const insn_t &insn, is_pattern_t *const patterns[], size_t qty, table_checker_t *check_table=nullptr, const char *name=nullptr)
idaman void ida_export trim_jtable (switch_info_t *si, ea_t jump_ea, bool ignore_refs=false)
idaman bool ida_export find_jtable_size (switch_info_t *si)
idaman ea_t ida_export find_defjump_from_table (ea_t jump_ea, const switch_info_t &si)
idaman ea_t ida_export get_jtable_target (ea_t jump_ea, const switch_info_t &si, int i)

Typedef Documentation

◆ tracked_regs_t

◆ is_pattern_t

typedef int is_pattern_t(switch_info_t *si, const insn_t &insn, procmod_t *procmod)

◆ table_checker_t

typedef int table_checker_t(switch_info_t *si, ea_t jump_ea, int is_pattern_res, procmod_t *pm)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
JT_NONE 
JT_SWITCH 
JT_CALL 

Function Documentation

◆ DECLARE_JUMP_PATTERN_HELPERS()

DECLARE_JUMP_PATTERN_HELPERS ( idaman )

◆ check_flat_jump_table()

idaman int ida_export check_flat_jump_table ( switch_info_t * si,
ea_t jump_ea,
int is_pattern_res = JT_SWITCH )

◆ check_for_table_jump()

idaman bool ida_export check_for_table_jump ( switch_info_t * si,
const insn_t & insn,
is_pattern_t *const patterns[],
size_t qty,
table_checker_t * check_table = nullptr,
const char * name = nullptr )

◆ trim_jtable()

idaman void ida_export trim_jtable ( switch_info_t * si,
ea_t jump_ea,
bool ignore_refs = false )

◆ find_jtable_size()

idaman bool ida_export find_jtable_size ( switch_info_t * si)

◆ find_defjump_from_table()

idaman ea_t ida_export find_defjump_from_table ( ea_t jump_ea,
const switch_info_t & si )

◆ get_jtable_target()

idaman ea_t ida_export get_jtable_target ( ea_t jump_ea,
const switch_info_t & si,
int i )