|
enum | { MAX_VLR_SIZE = sizeof(uvlr_t)
} |
enum | cmpop_t {
CMP_NZ
, CMP_Z
, CMP_AE
, CMP_B
,
CMP_A
, CMP_BE
, CMP_GT
, CMP_GE
,
CMP_LT
, CMP_LE
} |
enum | merror_t {
MERR_OK = 0
, MERR_BLOCK = 1
, MERR_INTERR = -1
, MERR_INSN = -2
,
MERR_MEM = -3
, MERR_BADBLK = -4
, MERR_BADSP = -5
, MERR_PROLOG = -6
,
MERR_SWITCH = -7
, MERR_EXCEPTION = -8
, MERR_HUGESTACK = -9
, MERR_LVARS = -10
,
MERR_BITNESS = -11
, MERR_BADCALL = -12
, MERR_BADFRAME = -13
, MERR_UNKTYPE = -14
,
MERR_BADIDB = -15
, MERR_SIZEOF = -16
, MERR_REDO = -17
, MERR_CANCELED = -18
,
MERR_RECDEPTH = -19
, MERR_OVERLAP = -20
, MERR_PARTINIT = -21
, MERR_COMPLEX = -22
,
MERR_LICENSE = -23
, MERR_ONLY32 = -24
, MERR_ONLY64 = -25
, MERR_BUSY = -26
,
MERR_FARPTR = -27
, MERR_EXTERN = -28
, MERR_FUNCSIZE = -29
, MERR_BADRANGES = -30
,
MERR_BADARCH = -31
, MERR_DSLOT = -32
, MERR_STOP = -33
, MERR_CLOUD = -34
,
MERR_EMULATOR = -35
, MERR_MAX_ERR = 35
, MERR_LOOP = -36
} |
enum | mcode_t {
m_nop = 0x00
, m_stx = 0x01
, m_ldx = 0x02
, m_ldc = 0x03
,
m_mov = 0x04
, m_neg = 0x05
, m_lnot = 0x06
, m_bnot = 0x07
,
m_xds = 0x08
, m_xdu = 0x09
, m_low = 0x0A
, m_high = 0x0B
,
m_add = 0x0C
, m_sub = 0x0D
, m_mul = 0x0E
, m_udiv = 0x0F
,
m_sdiv = 0x10
, m_umod = 0x11
, m_smod = 0x12
, m_or = 0x13
,
m_and = 0x14
, m_xor = 0x15
, m_shl = 0x16
, m_shr = 0x17
,
m_sar = 0x18
, m_cfadd = 0x19
, m_ofadd = 0x1A
, m_cfshl = 0x1B
,
m_cfshr = 0x1C
, m_sets = 0x1D
, m_seto = 0x1E
, m_setp = 0x1F
,
m_setnz = 0x20
, m_setz = 0x21
, m_setae = 0x22
, m_setb = 0x23
,
m_seta = 0x24
, m_setbe = 0x25
, m_setg = 0x26
, m_setge = 0x27
,
m_setl = 0x28
, m_setle = 0x29
, m_jcnd = 0x2A
, m_jnz = 0x2B
,
m_jz = 0x2C
, m_jae = 0x2D
, m_jb = 0x2E
, m_ja = 0x2F
,
m_jbe = 0x30
, m_jg = 0x31
, m_jge = 0x32
, m_jl = 0x33
,
m_jle = 0x34
, m_jtbl = 0x35
, m_ijmp = 0x36
, m_goto = 0x37
,
m_call = 0x38
, m_icall = 0x39
, m_ret = 0x3A
, m_push = 0x3B
,
m_pop = 0x3C
, m_und = 0x3D
, m_ext = 0x3E
, m_f2i = 0x3F
,
m_f2u = 0x40
, m_i2f = 0x41
, m_u2f = 0x42
, m_f2f = 0x43
,
m_fneg = 0x44
, m_fadd = 0x45
, m_fsub = 0x46
, m_fmul = 0x47
,
m_fdiv = 0x48
} |
enum | type_source_t {
GUESSED_NONE
, GUESSED_WEAK
, GUESSED_FUNC
, GUESSED_DATA
,
TS_NOELL = 0x8000000
, TS_SHRINK = 0x4000000
, TS_DONTREF = 0x2000000
, TS_MASK = 0xE000000
} |
| Type source (where the type information comes from) More...
|
enum | side_effect_t {
NO_SIDEFF
, WITH_SIDEFF
, ONLY_SIDEFF
, ANY_REGSIZE = 0x80
,
ANY_FPSIZE = 0x100
} |
| How to handle side effect of change_size() Sometimes we need to create a temporary operand and change its size in order to check some hypothesis. More...
|
enum | funcrole_t {
ROLE_UNK
, ROLE_EMPTY
, ROLE_MEMSET
, ROLE_MEMSET32
,
ROLE_MEMSET64
, ROLE_MEMCPY
, ROLE_STRCPY
, ROLE_STRLEN
,
ROLE_STRCAT
, ROLE_TAIL
, ROLE_BUG
, ROLE_ALLOCA
,
ROLE_BSWAP
, ROLE_PRESENT
, ROLE_CONTAINING_RECORD
, ROLE_FASTFAIL
,
ROLE_READFLAGS
, ROLE_IS_MUL_OK
, ROLE_SATURATED_MUL
, ROLE_BITTEST
,
ROLE_BITTESTANDSET
, ROLE_BITTESTANDRESET
, ROLE_BITTESTANDCOMPLEMENT
, ROLE_VA_ARG
,
ROLE_VA_COPY
, ROLE_VA_START
, ROLE_VA_END
, ROLE_ROL
,
ROLE_ROR
, ROLE_CFSUB3
, ROLE_OFSUB3
, ROLE_ABS
,
ROLE_3WAYCMP0
, ROLE_3WAYCMP1
, ROLE_WMEMCPY
, ROLE_WMEMSET
,
ROLE_WCSCPY
, ROLE_WCSLEN
, ROLE_WCSCAT
, ROLE_SSE_CMP4
,
ROLE_SSE_CMP8
} |
| Function roles. More...
|
enum | mblock_type_t {
BLT_NONE = 0
, BLT_STOP = 1
, BLT_0WAY = 2
, BLT_1WAY = 3
,
BLT_2WAY = 4
, BLT_NWAY = 5
, BLT_XTRN = 6
} |
| Basic block types. More...
|
enum | warnid_t {
WARN_VARARG_REGS
, WARN_ILL_PURGED
, WARN_ILL_FUNCTYPE
, WARN_VARARG_TCAL
,
WARN_VARARG_NOSTK
, WARN_VARARG_MANY
, WARN_ADDR_OUTARGS
, WARN_DEP_UNK_CALLS
,
WARN_ILL_ELLIPSIS
, WARN_GUESSED_TYPE
, WARN_EXP_LINVAR
, WARN_WIDEN_CHAINS
,
WARN_BAD_PURGED
, WARN_CBUILD_LOOPS
, WARN_NO_SAVE_REST
, WARN_ODD_INPUT_REG
,
WARN_ODD_ADDR_USE
, WARN_MUST_RET_FP
, WARN_ILL_FPU_STACK
, WARN_SELFREF_PROP
,
WARN_WOULD_OVERLAP
, WARN_ARRAY_INARG
, WARN_MAX_ARGS
, WARN_BAD_FIELD_TYPE
,
WARN_WRITE_CONST
, WARN_BAD_RETVAR
, WARN_FRAG_LVAR
, WARN_HUGE_STKOFF
,
WARN_UNINITED_REG
, WARN_FIXED_INSN
, WARN_WRONG_VA_OFF
, WARN_CR_NOFIELD
,
WARN_CR_BADOFF
, WARN_BAD_STROFF
, WARN_BAD_VARSIZE
, WARN_UNSUPP_REG
,
WARN_UNALIGNED_ARG
, WARN_BAD_STD_TYPE
, WARN_BAD_CALL_SP
, WARN_MISSED_SWITCH
,
WARN_BAD_SP
, WARN_BAD_STKPNT
, WARN_UNDEF_LVAR
, WARN_JUMPOUT
,
WARN_BAD_VALRNG
, WARN_BAD_SHADOW
, WARN_OPT_VALRNG
, WARN_RET_LOCREF
,
WARN_BAD_MAPDST
, WARN_BAD_INSN
, WARN_ODD_ABI
, WARN_UNBALANCED_STACK
,
WARN_OPT_VALRNG2
, WARN_OPT_VALRNG3
, WARN_OPT_USELESS_JCND
, WARN_SUBFRAME_OVERFLOW
,
WARN_OPT_VALRNG4
, WARN_MAX
} |
| Warning ids. More...
|
enum | mba_maturity_t {
MMAT_ZERO
, MMAT_GENERATED
, MMAT_PREOPTIMIZED
, MMAT_LOCOPT
,
MMAT_CALLS
, MMAT_GLBOPT1
, MMAT_GLBOPT2
, MMAT_GLBOPT3
,
MMAT_LVARS
} |
| Microcode maturity levels. More...
|
enum | memreg_index_t {
MMIDX_GLBLOW
, MMIDX_LVARS
, MMIDX_RETADDR
, MMIDX_SHADOW
,
MMIDX_ARGS
, MMIDX_GLBHIGH
} |
| < memory region types More...
|
enum | gctype_t {
GC_REGS_AND_STKVARS
, GC_ASR
, GC_XDSU
, GC_END
,
GC_DIRTY_ALL = (1 << (2*GC_END))-1
} |
| Kind of use-def and def-use chains. More...
|
enum | ctype_t {
cot_empty = 0
, cot_comma = 1
, cot_asg = 2
, cot_asgbor = 3
,
cot_asgxor = 4
, cot_asgband = 5
, cot_asgadd = 6
, cot_asgsub = 7
,
cot_asgmul = 8
, cot_asgsshr = 9
, cot_asgushr = 10
, cot_asgshl = 11
,
cot_asgsdiv = 12
, cot_asgudiv = 13
, cot_asgsmod = 14
, cot_asgumod = 15
,
cot_tern = 16
, cot_lor = 17
, cot_land = 18
, cot_bor = 19
,
cot_xor = 20
, cot_band = 21
, cot_eq = 22
, cot_ne = 23
,
cot_sge = 24
, cot_uge = 25
, cot_sle = 26
, cot_ule = 27
,
cot_sgt = 28
, cot_ugt = 29
, cot_slt = 30
, cot_ult = 31
,
cot_sshr = 32
, cot_ushr = 33
, cot_shl = 34
, cot_add = 35
,
cot_sub = 36
, cot_mul = 37
, cot_sdiv = 38
, cot_udiv = 39
,
cot_smod = 40
, cot_umod = 41
, cot_fadd = 42
, cot_fsub = 43
,
cot_fmul = 44
, cot_fdiv = 45
, cot_fneg = 46
, cot_neg = 47
,
cot_cast = 48
, cot_lnot = 49
, cot_bnot = 50
, cot_ptr = 51
,
cot_ref = 52
, cot_postinc = 53
, cot_postdec = 54
, cot_preinc = 55
,
cot_predec = 56
, cot_call = 57
, cot_idx = 58
, cot_memref = 59
,
cot_memptr = 60
, cot_num = 61
, cot_fnum = 62
, cot_str = 63
,
cot_obj = 64
, cot_var = 65
, cot_insn = 66
, cot_sizeof = 67
,
cot_helper = 68
, cot_type = 69
, cot_last = cot_type
, cit_empty = 70
,
cit_block = 71
, cit_expr = 72
, cit_if = 73
, cit_for = 74
,
cit_while = 75
, cit_do = 76
, cit_switch = 77
, cit_break = 78
,
cit_continue = 79
, cit_return = 80
, cit_goto = 81
, cit_asm = 82
,
cit_try = 83
, cit_throw = 84
, cit_end
} |
| Ctree item code. More...
|
enum | ctree_maturity_t {
CMAT_ZERO
, CMAT_BUILT
, CMAT_TRANS1
, CMAT_NICE
,
CMAT_TRANS2
, CMAT_CPA
, CMAT_TRANS3
, CMAT_CASTED
,
CMAT_FINAL
} |
| Ctree maturity level. More...
|
enum | item_preciser_t {
ITP_EMPTY
, ITP_ARG1
, ITP_ARG64 = ITP_ARG1+63
, ITP_BRACE1
,
ITP_INNER_LAST = ITP_BRACE1
, ITP_ASM
, ITP_ELSE
, ITP_DO
,
ITP_SEMI
, ITP_CURLY1
, ITP_CURLY2
, ITP_BRACE2
,
ITP_COLON
, ITP_BLOCK1
, ITP_BLOCK2
, ITP_TRY
,
ITP_CASE = 0x40000000
, ITP_SIGN = 0x20000000
} |
| Comment item preciser. More...
|
enum | cmt_retrieval_type_t { RETRIEVE_ONCE
, RETRIEVE_ALWAYS
} |
| Comment retrieval type. More...
|
enum | use_curly_t { CALC_CURLY_BRACES
, NO_CURLY_BRACES
, USE_CURLY_BRACES
} |
| Should curly braces be printed? More...
|
enum | cursor_item_type_t {
VDI_NONE
, VDI_EXPR
, VDI_LVAR
, VDI_FUNC
,
VDI_TAIL
} |
| Type of the cursor item. More...
|
enum | allow_unused_labels_t { FORBID_UNUSED_LABELS = 0
, ALLOW_UNUSED_LABELS = 1
} |
| Unused label disposition. More...
|
enum | input_device_t { USE_KEYBOARD = 0
, USE_MOUSE = 1
} |
| Type of the input device. More...
|
enum | hexcall_t {
hx_user_numforms_begin
, hx_user_numforms_end
, hx_user_numforms_next
, hx_user_numforms_prev
,
hx_user_numforms_first
, hx_user_numforms_second
, hx_user_numforms_find
, hx_user_numforms_insert
,
hx_user_numforms_erase
, hx_user_numforms_clear
, hx_user_numforms_size
, hx_user_numforms_free
,
hx_user_numforms_new
, hx_lvar_mapping_begin
, hx_lvar_mapping_end
, hx_lvar_mapping_next
,
hx_lvar_mapping_prev
, hx_lvar_mapping_first
, hx_lvar_mapping_second
, hx_lvar_mapping_find
,
hx_lvar_mapping_insert
, hx_lvar_mapping_erase
, hx_lvar_mapping_clear
, hx_lvar_mapping_size
,
hx_lvar_mapping_free
, hx_lvar_mapping_new
, hx_udcall_map_begin
, hx_udcall_map_end
,
hx_udcall_map_next
, hx_udcall_map_prev
, hx_udcall_map_first
, hx_udcall_map_second
,
hx_udcall_map_find
, hx_udcall_map_insert
, hx_udcall_map_erase
, hx_udcall_map_clear
,
hx_udcall_map_size
, hx_udcall_map_free
, hx_udcall_map_new
, hx_user_cmts_begin
,
hx_user_cmts_end
, hx_user_cmts_next
, hx_user_cmts_prev
, hx_user_cmts_first
,
hx_user_cmts_second
, hx_user_cmts_find
, hx_user_cmts_insert
, hx_user_cmts_erase
,
hx_user_cmts_clear
, hx_user_cmts_size
, hx_user_cmts_free
, hx_user_cmts_new
,
hx_user_iflags_begin
, hx_user_iflags_end
, hx_user_iflags_next
, hx_user_iflags_prev
,
hx_user_iflags_first
, hx_user_iflags_second
, hx_user_iflags_find
, hx_user_iflags_insert
,
hx_user_iflags_erase
, hx_user_iflags_clear
, hx_user_iflags_size
, hx_user_iflags_free
,
hx_user_iflags_new
, hx_user_unions_begin
, hx_user_unions_end
, hx_user_unions_next
,
hx_user_unions_prev
, hx_user_unions_first
, hx_user_unions_second
, hx_user_unions_find
,
hx_user_unions_insert
, hx_user_unions_erase
, hx_user_unions_clear
, hx_user_unions_size
,
hx_user_unions_free
, hx_user_unions_new
, hx_user_labels_begin
, hx_user_labels_end
,
hx_user_labels_next
, hx_user_labels_prev
, hx_user_labels_first
, hx_user_labels_second
,
hx_user_labels_find
, hx_user_labels_insert
, hx_user_labels_erase
, hx_user_labels_clear
,
hx_user_labels_size
, hx_user_labels_free
, hx_user_labels_new
, hx_eamap_begin
,
hx_eamap_end
, hx_eamap_next
, hx_eamap_prev
, hx_eamap_first
,
hx_eamap_second
, hx_eamap_find
, hx_eamap_insert
, hx_eamap_erase
,
hx_eamap_clear
, hx_eamap_size
, hx_eamap_free
, hx_eamap_new
,
hx_boundaries_begin
, hx_boundaries_end
, hx_boundaries_next
, hx_boundaries_prev
,
hx_boundaries_first
, hx_boundaries_second
, hx_boundaries_find
, hx_boundaries_insert
,
hx_boundaries_erase
, hx_boundaries_clear
, hx_boundaries_size
, hx_boundaries_free
,
hx_boundaries_new
, hx_block_chains_begin
, hx_block_chains_end
, hx_block_chains_next
,
hx_block_chains_prev
, hx_block_chains_get
, hx_block_chains_find
, hx_block_chains_insert
,
hx_block_chains_erase
, hx_block_chains_clear
, hx_block_chains_size
, hx_block_chains_free
,
hx_block_chains_new
, hx_hexrays_alloc
, hx_hexrays_free
, hx_valrng_t_clear
,
hx_valrng_t_copy
, hx_valrng_t_assign
, hx_valrng_t_compare
, hx_valrng_t_set_eq
,
hx_valrng_t_set_cmp
, hx_valrng_t_reduce_size
, hx_valrng_t_intersect_with
, hx_valrng_t_unite_with
,
hx_valrng_t_inverse
, hx_valrng_t_has
, hx_valrng_t_print
, hx_valrng_t_dstr
,
hx_valrng_t_cvt_to_single_value
, hx_valrng_t_cvt_to_cmp
, hx_get_merror_desc
, hx_must_mcode_close_block
,
hx_is_mcode_propagatable
, hx_negate_mcode_relation
, hx_swap_mcode_relation
, hx_get_signed_mcode
,
hx_get_unsigned_mcode
, hx_mcode_modifies_d
, hx_operand_locator_t_compare
, hx_vd_printer_t_print
,
hx_file_printer_t_print
, hx_qstring_printer_t_print
, hx_dstr
, hx_is_type_correct
,
hx_is_small_udt
, hx_is_nonbool_type
, hx_is_bool_type
, hx_partial_type_num
,
hx_get_float_type
, hx_get_int_type_by_width_and_sign
, hx_get_unk_type
, hx_dummy_ptrtype
,
hx_get_member_type
, hx_make_pointer
, hx_create_typedef
, hx_get_type
,
hx_set_type
, hx_vdloc_t_dstr
, hx_vdloc_t_compare
, hx_vdloc_t_is_aliasable
,
hx_print_vdloc
, hx_arglocs_overlap
, hx_lvar_locator_t_compare
, hx_lvar_locator_t_dstr
,
hx_lvar_t_dstr
, hx_lvar_t_is_promoted_arg
, hx_lvar_t_accepts_type
, hx_lvar_t_set_lvar_type
,
hx_lvar_t_set_width
, hx_lvar_t_append_list
, hx_lvar_t_append_list_
, hx_lvars_t_find_stkvar
,
hx_lvars_t_find
, hx_lvars_t_find_lvar
, hx_restore_user_lvar_settings
, hx_save_user_lvar_settings
,
hx_modify_user_lvars
, hx_modify_user_lvar_info
, hx_locate_lvar
, hx_restore_user_defined_calls
,
hx_save_user_defined_calls
, hx_parse_user_call
, hx_convert_to_user_call
, hx_install_microcode_filter
,
hx_udc_filter_t_cleanup
, hx_udc_filter_t_init
, hx_udc_filter_t_apply
, hx_bitset_t_bitset_t
,
hx_bitset_t_copy
, hx_bitset_t_add
, hx_bitset_t_add_
, hx_bitset_t_add__
,
hx_bitset_t_sub
, hx_bitset_t_sub_
, hx_bitset_t_sub__
, hx_bitset_t_cut_at
,
hx_bitset_t_shift_down
, hx_bitset_t_has
, hx_bitset_t_has_all
, hx_bitset_t_has_any
,
hx_bitset_t_dstr
, hx_bitset_t_empty
, hx_bitset_t_count
, hx_bitset_t_count_
,
hx_bitset_t_last
, hx_bitset_t_fill_with_ones
, hx_bitset_t_fill_gaps
, hx_bitset_t_has_common
,
hx_bitset_t_intersect
, hx_bitset_t_is_subset_of
, hx_bitset_t_compare
, hx_bitset_t_goup
,
hx_ivl_t_dstr
, hx_ivl_t_compare
, hx_ivlset_t_add
, hx_ivlset_t_add_
,
hx_ivlset_t_addmasked
, hx_ivlset_t_sub
, hx_ivlset_t_sub_
, hx_ivlset_t_has_common
,
hx_ivlset_t_print
, hx_ivlset_t_dstr
, hx_ivlset_t_count
, hx_ivlset_t_has_common_
,
hx_ivlset_t_contains
, hx_ivlset_t_includes
, hx_ivlset_t_intersect
, hx_ivlset_t_compare
,
hx_rlist_t_print
, hx_rlist_t_dstr
, hx_mlist_t_addmem
, hx_mlist_t_print
,
hx_mlist_t_dstr
, hx_mlist_t_compare
, hx_get_temp_regs
, hx_is_kreg
,
hx_reg2mreg
, hx_mreg2reg
, hx_get_mreg_name
, hx_install_optinsn_handler
,
hx_remove_optinsn_handler
, hx_install_optblock_handler
, hx_remove_optblock_handler
, hx_simple_graph_t_compute_dominators
,
hx_simple_graph_t_compute_immediate_dominators
, hx_simple_graph_t_depth_first_preorder
, hx_simple_graph_t_depth_first_postorder
, hx_simple_graph_t_goup
,
hx_mutable_graph_t_resize
, hx_mutable_graph_t_goup
, hx_mutable_graph_t_del_edge
, hx_lvar_ref_t_compare
,
hx_lvar_ref_t_var
, hx_stkvar_ref_t_compare
, hx_stkvar_ref_t_get_stkvar
, hx_fnumber_t_print
,
hx_fnumber_t_dstr
, hx_mop_t_copy
, hx_mop_t_assign
, hx_mop_t_swap
,
hx_mop_t_erase
, hx_mop_t_print
, hx_mop_t_dstr
, hx_mop_t_create_from_mlist
,
hx_mop_t_create_from_ivlset
, hx_mop_t_create_from_vdloc
, hx_mop_t_create_from_scattered_vdloc
, hx_mop_t_create_from_insn
,
hx_mop_t_make_number
, hx_mop_t_make_fpnum
, hx_mop_t__make_gvar
, hx_mop_t_make_gvar
,
hx_mop_t_make_reg_pair
, hx_mop_t_make_helper
, hx_mop_t_is_bit_reg
, hx_mop_t_may_use_aliased_memory
,
hx_mop_t_is01
, hx_mop_t_is_sign_extended_from
, hx_mop_t_is_zero_extended_from
, hx_mop_t_equal_mops
,
hx_mop_t_lexcompare
, hx_mop_t_for_all_ops
, hx_mop_t_for_all_scattered_submops
, hx_mop_t_is_constant
,
hx_mop_t_get_stkoff
, hx_mop_t_make_low_half
, hx_mop_t_make_high_half
, hx_mop_t_make_first_half
,
hx_mop_t_make_second_half
, hx_mop_t_shift_mop
, hx_mop_t_change_size
, hx_mop_t_preserve_side_effects
,
hx_mop_t_apply_ld_mcode
, hx_mcallarg_t_print
, hx_mcallarg_t_dstr
, hx_mcallarg_t_set_regarg
,
hx_mcallinfo_t_lexcompare
, hx_mcallinfo_t_set_type
, hx_mcallinfo_t_get_type
, hx_mcallinfo_t_print
,
hx_mcallinfo_t_dstr
, hx_mcases_t_compare
, hx_mcases_t_print
, hx_mcases_t_dstr
,
hx_vivl_t_extend_to_cover
, hx_vivl_t_intersect
, hx_vivl_t_print
, hx_vivl_t_dstr
,
hx_chain_t_print
, hx_chain_t_dstr
, hx_chain_t_append_list
, hx_chain_t_append_list_
,
hx_block_chains_t_get_chain
, hx_block_chains_t_print
, hx_block_chains_t_dstr
, hx_graph_chains_t_for_all_chains
,
hx_graph_chains_t_release
, hx_minsn_t_init
, hx_minsn_t_copy
, hx_minsn_t_set_combined
,
hx_minsn_t_swap
, hx_minsn_t_print
, hx_minsn_t_dstr
, hx_minsn_t_setaddr
,
hx_minsn_t_optimize_subtree
, hx_minsn_t_for_all_ops
, hx_minsn_t_for_all_insns
, hx_minsn_t__make_nop
,
hx_minsn_t_equal_insns
, hx_minsn_t_lexcompare
, hx_minsn_t_is_noret_call
, hx_minsn_t_is_helper
,
hx_minsn_t_find_call
, hx_minsn_t_has_side_effects
, hx_minsn_t_find_opcode
, hx_minsn_t_find_ins_op
,
hx_minsn_t_find_num_op
, hx_minsn_t_modifies_d
, hx_minsn_t_is_between
, hx_minsn_t_may_use_aliased_memory
,
hx_minsn_t_serialize
, hx_minsn_t_deserialize
, hx_getf_reginsn
, hx_getb_reginsn
,
hx_mblock_t_init
, hx_mblock_t_print
, hx_mblock_t_dump
, hx_mblock_t_vdump_block
,
hx_mblock_t_insert_into_block
, hx_mblock_t_remove_from_block
, hx_mblock_t_for_all_insns
, hx_mblock_t_for_all_ops
,
hx_mblock_t_for_all_uses
, hx_mblock_t_optimize_insn
, hx_mblock_t_optimize_block
, hx_mblock_t_build_lists
,
hx_mblock_t_optimize_useless_jump
, hx_mblock_t_append_use_list
, hx_mblock_t_append_def_list
, hx_mblock_t_build_use_list
,
hx_mblock_t_build_def_list
, hx_mblock_t_find_first_use
, hx_mblock_t_find_redefinition
, hx_mblock_t_is_rhs_redefined
,
hx_mblock_t_find_access
, hx_mblock_t_get_valranges
, hx_mblock_t_get_valranges_
, hx_mblock_t_get_reginsn_qty
,
hx_mba_ranges_t_range_contains
, hx_mba_t_stkoff_vd2ida
, hx_mba_t_stkoff_ida2vd
, hx_mba_t_idaloc2vd
,
hx_mba_t_idaloc2vd_
, hx_mba_t_vd2idaloc
, hx_mba_t_vd2idaloc_
, hx_mba_t_term
,
hx_mba_t_get_curfunc
, hx_mba_t_set_maturity
, hx_mba_t_optimize_local
, hx_mba_t_build_graph
,
hx_mba_t_get_graph
, hx_mba_t_analyze_calls
, hx_mba_t_optimize_global
, hx_mba_t_alloc_lvars
,
hx_mba_t_dump
, hx_mba_t_vdump_mba
, hx_mba_t_print
, hx_mba_t_verify
,
hx_mba_t_mark_chains_dirty
, hx_mba_t_insert_block
, hx_mba_t_remove_block
, hx_mba_t_copy_block
,
hx_mba_t_remove_empty_and_unreachable_blocks
, hx_mba_t_merge_blocks
, hx_mba_t_for_all_ops
, hx_mba_t_for_all_insns
,
hx_mba_t_for_all_topinsns
, hx_mba_t_find_mop
, hx_mba_t_create_helper_call
, hx_mba_t_get_func_output_lists
,
hx_mba_t_arg
, hx_mba_t_alloc_fict_ea
, hx_mba_t_map_fict_ea
, hx_mba_t_serialize
,
hx_mba_t_deserialize
, hx_mba_t_save_snapshot
, hx_mba_t_alloc_kreg
, hx_mba_t_free_kreg
,
hx_mba_t_inline_func
, hx_mba_t_locate_stkpnt
, hx_mba_t_set_lvar_name
, hx_mbl_graph_t_is_accessed_globally
,
hx_mbl_graph_t_get_ud
, hx_mbl_graph_t_get_du
, hx_cdg_insn_iterator_t_next
, hx_codegen_t_clear
,
hx_codegen_t_emit
, hx_codegen_t_emit_
, hx_change_hexrays_config
, hx_get_hexrays_version
,
hx_open_pseudocode
, hx_close_pseudocode
, hx_get_widget_vdui
, hx_decompile_many
,
hx_hexrays_failure_t_desc
, hx_send_database
, hx_gco_info_t_append_to_list
, hx_get_current_operand
,
hx_remitem
, hx_negated_relation
, hx_swapped_relation
, hx_get_op_signness
,
hx_asgop
, hx_asgop_revert
, hx_cnumber_t_print
, hx_cnumber_t_value
,
hx_cnumber_t_assign
, hx_cnumber_t_compare
, hx_var_ref_t_compare
, hx_ctree_visitor_t_apply_to
,
hx_ctree_visitor_t_apply_to_exprs
, hx_ctree_parentee_t_recalc_parent_types
, hx_cfunc_parentee_t_calc_rvalue_type
, hx_citem_locator_t_compare
,
hx_citem_t_contains_expr
, hx_citem_t_contains_label
, hx_citem_t_find_parent_of
, hx_citem_t_find_closest_addr
,
hx_cexpr_t_assign
, hx_cexpr_t_compare
, hx_cexpr_t_replace_by
, hx_cexpr_t_cleanup
,
hx_cexpr_t_put_number
, hx_cexpr_t_print1
, hx_cexpr_t_calc_type
, hx_cexpr_t_equal_effect
,
hx_cexpr_t_is_child_of
, hx_cexpr_t_contains_operator
, hx_cexpr_t_get_high_nbit_bound
, hx_cexpr_t_get_low_nbit_bound
,
hx_cexpr_t_requires_lvalue
, hx_cexpr_t_has_side_effects
, hx_cexpr_t_maybe_ptr
, hx_cexpr_t_dstr
,
hx_cif_t_assign
, hx_cif_t_compare
, hx_cloop_t_assign
, hx_cfor_t_compare
,
hx_cwhile_t_compare
, hx_cdo_t_compare
, hx_creturn_t_compare
, hx_cthrow_t_compare
,
hx_cgoto_t_compare
, hx_casm_t_compare
, hx_cinsn_t_assign
, hx_cinsn_t_compare
,
hx_cinsn_t_replace_by
, hx_cinsn_t_cleanup
, hx_cinsn_t_new_insn
, hx_cinsn_t_create_if
,
hx_cinsn_t_print
, hx_cinsn_t_print1
, hx_cinsn_t_is_ordinary_flow
, hx_cinsn_t_contains_insn
,
hx_cinsn_t_collect_free_breaks
, hx_cinsn_t_collect_free_continues
, hx_cinsn_t_dstr
, hx_cblock_t_compare
,
hx_carglist_t_compare
, hx_ccase_t_compare
, hx_ccases_t_compare
, hx_cswitch_t_compare
,
hx_ccatch_t_compare
, hx_ctry_t_compare
, hx_ctree_item_t_get_udm
, hx_ctree_item_t_get_edm
,
hx_ctree_item_t_get_lvar
, hx_ctree_item_t_get_ea
, hx_ctree_item_t_get_label_num
, hx_ctree_item_t_print
,
hx_ctree_item_t_dstr
, hx_lnot
, hx_new_block
, hx_vcreate_helper
,
hx_vcall_helper
, hx_make_num
, hx_make_ref
, hx_dereference
,
hx_save_user_labels
, hx_save_user_cmts
, hx_save_user_numforms
, hx_save_user_iflags
,
hx_save_user_unions
, hx_restore_user_labels
, hx_restore_user_cmts
, hx_restore_user_numforms
,
hx_restore_user_iflags
, hx_restore_user_unions
, hx_cfunc_t_build_c_tree
, hx_cfunc_t_verify
,
hx_cfunc_t_print_dcl
, hx_cfunc_t_print_func
, hx_cfunc_t_get_func_type
, hx_cfunc_t_get_lvars
,
hx_cfunc_t_get_stkoff_delta
, hx_cfunc_t_find_label
, hx_cfunc_t_remove_unused_labels
, hx_cfunc_t_get_user_cmt
,
hx_cfunc_t_set_user_cmt
, hx_cfunc_t_get_user_iflags
, hx_cfunc_t_set_user_iflags
, hx_cfunc_t_has_orphan_cmts
,
hx_cfunc_t_del_orphan_cmts
, hx_cfunc_t_get_user_union_selection
, hx_cfunc_t_set_user_union_selection
, hx_cfunc_t_save_user_labels
,
hx_cfunc_t_save_user_cmts
, hx_cfunc_t_save_user_numforms
, hx_cfunc_t_save_user_iflags
, hx_cfunc_t_save_user_unions
,
hx_cfunc_t_get_line_item
, hx_cfunc_t_get_warnings
, hx_cfunc_t_get_eamap
, hx_cfunc_t_get_boundaries
,
hx_cfunc_t_get_pseudocode
, hx_cfunc_t_refresh_func_ctext
, hx_cfunc_t_gather_derefs
, hx_cfunc_t_find_item_coords
,
hx_cfunc_t_cleanup
, hx_close_hexrays_waitbox
, hx_decompile
, hx_gen_microcode
,
hx_create_cfunc
, hx_mark_cfunc_dirty
, hx_clear_cached_cfuncs
, hx_has_cached_cfunc
,
hx_get_ctype_name
, hx_create_field_name
, hx_install_hexrays_callback
, hx_remove_hexrays_callback
,
hx_vdui_t_set_locked
, hx_vdui_t_refresh_view
, hx_vdui_t_refresh_ctext
, hx_vdui_t_switch_to
,
hx_vdui_t_get_number
, hx_vdui_t_get_current_label
, hx_vdui_t_clear
, hx_vdui_t_refresh_cpos
,
hx_vdui_t_get_current_item
, hx_vdui_t_ui_rename_lvar
, hx_vdui_t_rename_lvar
, hx_vdui_t_ui_set_call_type
,
hx_vdui_t_ui_set_lvar_type
, hx_vdui_t_set_lvar_type
, hx_vdui_t_set_noptr_lvar
, hx_vdui_t_ui_edit_lvar_cmt
,
hx_vdui_t_set_lvar_cmt
, hx_vdui_t_ui_map_lvar
, hx_vdui_t_ui_unmap_lvar
, hx_vdui_t_map_lvar
,
hx_vdui_t_set_udm_type
, hx_vdui_t_rename_udm
, hx_vdui_t_set_global_type
, hx_vdui_t_rename_global
,
hx_vdui_t_rename_label
, hx_vdui_t_jump_enter
, hx_vdui_t_ctree_to_disasm
, hx_vdui_t_calc_cmt_type
,
hx_vdui_t_edit_cmt
, hx_vdui_t_edit_func_cmt
, hx_vdui_t_del_orphan_cmts
, hx_vdui_t_set_num_radix
,
hx_vdui_t_set_num_enum
, hx_vdui_t_set_num_stroff
, hx_vdui_t_invert_sign
, hx_vdui_t_invert_bits
,
hx_vdui_t_collapse_item
, hx_vdui_t_collapse_lvars
, hx_vdui_t_split_item
, hx_select_udt_by_offset
,
hx_catchexpr_t_compare
, hx_mba_t_split_block
, hx_mba_t_remove_blocks
, hx_cfunc_t_recalc_item_addresses
,
hx_int64_emulator_t_mop_value
, hx_int64_emulator_t_minsn_value
} |
| API call numbers. More...
|
|
void *hexapi | hexrays_alloc (size_t size) |
void hexapi | hexrays_free (void *ptr) |
uvlr_t | max_vlr_value (int size) |
uvlr_t | min_vlr_svalue (int size) |
uvlr_t | max_vlr_svalue (int size) |
bool | is_unsigned_cmpop (cmpop_t cmpop) |
bool | is_signed_cmpop (cmpop_t cmpop) |
bool | is_cmpop_with_eq (cmpop_t cmpop) |
bool | is_cmpop_without_eq (cmpop_t cmpop) |
| DECLARE_TYPE_AS_MOVABLE (valrng_t) |
THREAD_SAFE bool | is_may_access (maymust_t maymust) |
ea_t hexapi | get_merror_desc (qstring *out, merror_t code, mba_t *mba) |
| Get textual description of an error code.
|
THREAD_SAFE bool hexapi | must_mcode_close_block (mcode_t mcode, bool including_calls) |
| Must an instruction with the given opcode be the last one in a block?
|
THREAD_SAFE bool hexapi | is_mcode_propagatable (mcode_t mcode) |
| May opcode be propagated?
|
THREAD_SAFE bool | is_mcode_addsub (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_xdsu (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_set (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_set1 (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_j1 (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_jcond (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_convertible_to_jmp (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_convertible_to_set (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_call (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_fpu (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_commutative (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_shift (mcode_t mcode) |
THREAD_SAFE bool | is_mcode_divmod (mcode_t op) |
THREAD_SAFE bool | has_mcode_seloff (mcode_t op) |
THREAD_SAFE mcode_t | set2jcnd (mcode_t code) |
THREAD_SAFE mcode_t | jcnd2set (mcode_t code) |
THREAD_SAFE mcode_t hexapi | negate_mcode_relation (mcode_t code) |
THREAD_SAFE mcode_t hexapi | swap_mcode_relation (mcode_t code) |
THREAD_SAFE mcode_t hexapi | get_signed_mcode (mcode_t code) |
THREAD_SAFE mcode_t hexapi | get_unsigned_mcode (mcode_t code) |
THREAD_SAFE bool | is_signed_mcode (mcode_t code) |
THREAD_SAFE bool | is_unsigned_mcode (mcode_t code) |
THREAD_SAFE bool hexapi | mcode_modifies_d (mcode_t mcode) |
const char *hexapi | dstr (const tinfo_t *tif) |
| Print the specified type info.
|
bool hexapi | is_type_correct (const type_t *ptr) |
| Verify a type string.
|
bool hexapi | is_small_udt (const tinfo_t &tif) |
| Is a small structure or union?
|
bool hexapi | is_nonbool_type (const tinfo_t &type) |
| Is definitely a non-boolean type?
|
bool hexapi | is_bool_type (const tinfo_t &type) |
| Is a boolean type?
|
THREAD_SAFE bool | is_ptr_or_array (type_t t) |
| Is a pointer or array type?
|
THREAD_SAFE bool | is_paf (type_t t) |
| Is a pointer, array, or function type?
|
THREAD_SAFE bool | is_inplace_def (const tinfo_t &type) |
| Is struct/union/enum definition (not declaration)?
|
int hexapi | partial_type_num (const tinfo_t &type) |
| Calculate number of partial subtypes.
|
tinfo_t hexapi | get_float_type (int width) |
| Get a type of a floating point value with the specified width.
|
tinfo_t hexapi | get_int_type_by_width_and_sign (int srcwidth, type_sign_t sign) |
| Create a type info by width and sign.
|
tinfo_t hexapi | get_unk_type (int size) |
| Create a partial type info by width.
|
tinfo_t hexapi | dummy_ptrtype (int ptrsize, bool isfp) |
| Generate a dummy pointer type.
|
tinfo_t hexapi | make_pointer (const tinfo_t &type) |
| Create a pointer type.
|
tinfo_t hexapi | create_typedef (const char *name) |
| Create a reference to a named type.
|
tinfo_t | create_typedef (int n) |
| Create a reference to an ordinal type.
|
bool hexapi | get_type (uval_t id, tinfo_t *tif, type_source_t guess) |
| Get a global type.
|
bool hexapi | set_type (uval_t id, const tinfo_t &tif, type_source_t source, bool force=false) |
| Set a global type.
|
void hexapi | print_vdloc (qstring *vout, const vdloc_t &loc, int nbytes) |
| Print vdloc.
|
bool hexapi | arglocs_overlap (const vdloc_t &loc1, size_t w1, const vdloc_t &loc2, size_t w2) |
| Do two arglocs overlap?
|
| DECLARE_TYPE_AS_MOVABLE (lvar_t) |
| DECLARE_TYPE_AS_MOVABLE (lvar_saved_info_t) |
bool hexapi | restore_user_lvar_settings (lvar_uservec_t *lvinf, ea_t func_ea) |
| Restore user defined local variable settings in the database.
|
void hexapi | save_user_lvar_settings (ea_t func_ea, const lvar_uservec_t &lvinf) |
| Save user defined local variable settings into the database.
|
bool hexapi | modify_user_lvars (ea_t entry_ea, user_lvar_modifier_t &mlv) |
| Modify saved local variable settings.
|
bool hexapi | modify_user_lvar_info (ea_t func_ea, uint mli_flags, const lvar_saved_info_t &info) |
| Modify saved local variable settings of one variable.
|
bool hexapi | locate_lvar (lvar_locator_t *out, ea_t func_ea, const char *varname) |
| Find a variable by name.
|
bool | rename_lvar (ea_t func_ea, const char *oldname, const char *newname) |
| Rename a local variable.
|
bool hexapi | restore_user_defined_calls (udcall_map_t *udcalls, ea_t func_ea) |
| Restore user defined function calls from the database.
|
void hexapi | save_user_defined_calls (ea_t func_ea, const udcall_map_t &udcalls) |
| Save user defined local function calls into the database.
|
bool hexapi | parse_user_call (udcall_t *udc, const char *decl, bool silent) |
| Convert function type declaration into internal structure.
|
merror_t hexapi | convert_to_user_call (const udcall_t &udc, codegen_t &cdg) |
| try to generate user-defined call for an instruction
|
bool hexapi | install_microcode_filter (microcode_filter_t *filter, bool install=true) |
| register/unregister non-standard microcode generator
|
| DECLARE_TYPE_AS_MOVABLE (bitset_t) |
| DECLARE_TYPE_AS_MOVABLE (node_bitset_t) |
| DECLARE_TYPE_AS_MOVABLE (ivl_t) |
| DECLARE_TYPE_AS_MOVABLE (ivlset_t) |
| DECLARE_TYPE_AS_MOVABLE (rlist_t) |
| DECLARE_TYPE_AS_MOVABLE (mlist_t) |
| DECLARE_TYPE_AS_MOVABLE (mlistvec_t) |
const mlist_t &hexapi | get_temp_regs () |
| Get list of temporary registers.
|
bool hexapi | is_kreg (mreg_t r) |
| Is a kernel register?
|
mreg_t hexapi | reg2mreg (int reg) |
| Map a processor register to a microregister.
|
int hexapi | mreg2reg (mreg_t reg, int width) |
| Map a microregister to a processor register.
|
int hexapi | get_mreg_name (qstring *out, mreg_t reg, int width, void *ud=nullptr) |
| Get the microregister name.
|
void hexapi | install_optinsn_handler (optinsn_t *opt) |
| Install an instruction level custom optimizer.
|
bool hexapi | remove_optinsn_handler (optinsn_t *opt) |
| Remove an instruction level custom optimizer.
|
void hexapi | install_optblock_handler (optblock_t *opt) |
| Install a block level custom optimizer.
|
bool hexapi | remove_optblock_handler (optblock_t *opt) |
| Remove a block level custom optimizer.
|
| DECLARE_TYPE_AS_MOVABLE (mop_t) |
| DECLARE_TYPE_AS_MOVABLE (mcallarg_t) |
const minsn_t *hexapi | getf_reginsn (const minsn_t *ins) |
| Skip assertions forward.
|
const minsn_t *hexapi | getb_reginsn (const minsn_t *ins) |
| Skip assertions backward.
|
minsn_t * | getf_reginsn (minsn_t *ins) |
minsn_t * | getb_reginsn (minsn_t *ins) |
| DECLARE_TYPE_AS_MOVABLE (hexwarn_t) |
bool hexapi | change_hexrays_config (const char *directive) |
| Parse DIRECTIVE and update the current configuration variables.
|
const char *hexapi | get_hexrays_version () |
| Get decompiler version.
|
vdui_t *hexapi | open_pseudocode (ea_t ea, int flags) |
| Open pseudocode window.
|
bool hexapi | close_pseudocode (TWidget *f) |
| Close pseudocode window.
|
vdui_t *hexapi | get_widget_vdui (TWidget *f) |
| Get the vdui_t instance associated to the TWidget.
|
bool hexapi | decompile_many (const char *outfile, const eavec_t *funcaddrs, int flags) |
| Batch decompilation.
|
void hexapi | send_database (const hexrays_failure_t &err, bool silent) |
| Send the database to Hex-Rays.
|
bool hexapi | get_current_operand (gco_info_t *out) |
| Get the instruction operand under the cursor.
|
void hexapi | remitem (const citem_t *e) |
ctype_t hexapi | negated_relation (ctype_t op) |
| Negate a comparison operator. For example, cot_sge becomes cot_slt.
|
ctype_t hexapi | swapped_relation (ctype_t op) |
| Swap a comparison operator. For example, cot_sge becomes cot_sle.
|
type_sign_t hexapi | get_op_signness (ctype_t op) |
| Get operator sign. Meaningful for sign-dependent operators, like cot_sdiv.
|
ctype_t hexapi | asgop (ctype_t cop) |
| Convert plain operator into assignment operator. For example, cot_add returns cot_asgadd.
|
ctype_t hexapi | asgop_revert (ctype_t cop) |
| Convert assignment operator into plain operator.
|
bool | op_uses_x (ctype_t op) |
| Does operator use the 'x' field of cexpr_t?
|
bool | op_uses_y (ctype_t op) |
| Does operator use the 'y' field of cexpr_t?
|
bool | op_uses_z (ctype_t op) |
| Does operator use the 'z' field of cexpr_t?
|
bool | is_binary (ctype_t op) |
| Is binary operator?
|
bool | is_unary (ctype_t op) |
| Is unary operator?
|
bool | is_relational (ctype_t op) |
| Is comparison operator?
|
bool | is_assignment (ctype_t op) |
| Is assignment operator?
|
bool | accepts_udts (ctype_t op) |
bool | is_prepost (ctype_t op) |
| Is pre/post increment/decrement operator?
|
bool | is_commutative (ctype_t op) |
| Is commutative operator?
|
bool | is_additive (ctype_t op) |
| Is additive operator?
|
bool | is_multiplicative (ctype_t op) |
| Is multiplicative operator?
|
bool | is_bitop (ctype_t op) |
| Is bit related operator?
|
bool | is_logical (ctype_t op) |
| Is logical operator?
|
bool | is_loop (ctype_t op) |
| Is loop statement code?
|
bool | is_break_consumer (ctype_t op) |
| Does a break statement influence the specified statement code?
|
bool | is_lvalue (ctype_t op) |
| Is Lvalue operator?
|
bool | accepts_small_udts (ctype_t op) |
| Is the operator allowed on small structure or union?
|
| DECLARE_TYPE_AS_MOVABLE (citem_t) |
| DECLARE_TYPE_AS_MOVABLE (cexpr_t) |
| DECLARE_TYPE_AS_MOVABLE (ceinsn_t) |
| DECLARE_TYPE_AS_MOVABLE (cinsn_t) |
| DECLARE_TYPE_AS_MOVABLE (carg_t) |
| DECLARE_TYPE_AS_MOVABLE (ccase_t) |
| DECLARE_TYPE_AS_MOVABLE (catchexpr_t) |
| DECLARE_TYPE_AS_MOVABLE (cblock_pos_t) |
cexpr_t *hexapi | lnot (cexpr_t *e) |
| Logically negate the specified expression.
|
cinsn_t *hexapi | new_block () |
| Create a new block-statement.
|
| AS_PRINTF (3, 0) cexpr_t *hexapi vcreate_helper(bool standalone |
| Create a helper object.
|
const tinfo_t const char | va_start (va, format) |
| va_end (va) |
| AS_PRINTF (3, 0) cexpr_t *hexapi vcall_helper(const tinfo_t &rettype |
| Create a helper call expression.
|
| AS_PRINTF (3, 4) inline cexpr_t *call_helper(const tinfo_t &rettype |
| Create a helper call.
|
cexpr_t *hexapi | make_num (uint64 n, cfunc_t *func=nullptr, ea_t ea=BADADDR, int opnum=0, type_sign_t sign=no_sign, int size=0) |
| Create a number expression.
|
cexpr_t *hexapi | make_ref (cexpr_t *e) |
| Create a reference.
|
cexpr_t *hexapi | dereference (cexpr_t *e, int ptrsize, bool is_flt=false) |
| Dereference a pointer.
|
void hexapi | save_user_labels (ea_t func_ea, const user_labels_t *user_labels, const cfunc_t *func=nullptr) |
| Save user defined labels into the database.
|
void hexapi | save_user_cmts (ea_t func_ea, const user_cmts_t *user_cmts) |
| Save user defined comments into the database.
|
void hexapi | save_user_numforms (ea_t func_ea, const user_numforms_t *numforms) |
| Save user defined number formats into the database.
|
void hexapi | save_user_iflags (ea_t func_ea, const user_iflags_t *iflags) |
| Save user defined citem iflags into the database.
|
void hexapi | save_user_unions (ea_t func_ea, const user_unions_t *unions) |
| Save user defined union field selections into the database.
|
user_labels_t *hexapi | restore_user_labels (ea_t func_ea, const cfunc_t *func=nullptr) |
| Restore user defined labels from the database.
|
user_cmts_t *hexapi | restore_user_cmts (ea_t func_ea) |
| Restore user defined comments from the database.
|
user_numforms_t *hexapi | restore_user_numforms (ea_t func_ea) |
| Restore user defined number formats from the database.
|
user_iflags_t *hexapi | restore_user_iflags (ea_t func_ea) |
| Restore user defined citem iflags from the database.
|
user_unions_t *hexapi | restore_user_unions (ea_t func_ea) |
| Restore user defined union field selections from the database.
|
void hexapi | close_hexrays_waitbox () |
| Close the waitbox displayed by the decompiler.
|
cfuncptr_t hexapi | decompile (const mba_ranges_t &mbr, hexrays_failure_t *hf=nullptr, int decomp_flags=0) |
| Decompile a snippet or a function.
|
cfuncptr_t | decompile_func (func_t *pfn, hexrays_failure_t *hf=nullptr, int decomp_flags=0) |
| Decompile a function.
|
cfuncptr_t | decompile_snippet (const rangevec_t &ranges, hexrays_failure_t *hf=nullptr, int decomp_flags=0) |
| Decompile a snippet.
|
mba_t *hexapi | gen_microcode (const mba_ranges_t &mbr, hexrays_failure_t *hf=nullptr, const mlist_t *retlist=nullptr, int decomp_flags=0, mba_maturity_t reqmat=MMAT_GLBOPT3) |
| Generate microcode of an arbitrary code snippet.
|
mba_t * | create_empty_mba (const mba_ranges_t &mbr, hexrays_failure_t *hf=nullptr) |
| Create an empty microcode object.
|
cfuncptr_t hexapi | create_cfunc (mba_t *mba) |
| Create a new cfunc_t object.
|
bool hexapi | mark_cfunc_dirty (ea_t ea, bool close_views=false) |
| Flush the cached decompilation results.
|
void hexapi | clear_cached_cfuncs () |
| Flush all cached decompilation results.
|
bool hexapi | has_cached_cfunc (ea_t ea) |
| Do we have a cached decompilation result for 'ea'?
|
const char *hexapi | get_ctype_name (ctype_t op) |
qstring hexapi | create_field_name (const tinfo_t &type, uval_t offset=BADADDR) |
enum hexrays_event_t | ENUM_SIZE (int) |
| Decompiler events.
|
bool hexapi | install_hexrays_callback (hexrays_cb_t *callback, void *ud) |
| Install handler for decompiler events.
|
int hexapi | remove_hexrays_callback (hexrays_cb_t *callback, void *ud) |
| Uninstall handler for decompiler events.
|
| DECLARE_TYPE_AS_MOVABLE (ui_stroff_op_t) |
int hexapi | select_udt_by_offset (const qvector< tinfo_t > *udts, const ui_stroff_ops_t &ops, ui_stroff_applicator_t &applicator) |
| Select UDT.
|
bool | init_hexrays_plugin (int flags=0) |
| Check that your plugin is compatible with hex-rays decompiler.
|
void | term_hexrays_plugin () |
| Stop working with hex-rays decompiler.
|
operand_locator_t const & | user_numforms_first (user_numforms_iterator_t p) |
| Get reference to the current map key.
|
number_format_t & | user_numforms_second (user_numforms_iterator_t p) |
| Get reference to the current map value.
|
user_numforms_iterator_t | user_numforms_find (const user_numforms_t *map, const operand_locator_t &key) |
| Find the specified key in user_numforms_t.
|
user_numforms_iterator_t | user_numforms_insert (user_numforms_t *map, const operand_locator_t &key, const number_format_t &val) |
| Insert new (operand_locator_t, number_format_t) pair into user_numforms_t.
|
user_numforms_iterator_t | user_numforms_begin (const user_numforms_t *map) |
| Get iterator pointing to the beginning of user_numforms_t.
|
user_numforms_iterator_t | user_numforms_end (const user_numforms_t *map) |
| Get iterator pointing to the end of user_numforms_t.
|
user_numforms_iterator_t | user_numforms_next (user_numforms_iterator_t p) |
| Move to the next element.
|
user_numforms_iterator_t | user_numforms_prev (user_numforms_iterator_t p) |
| Move to the previous element.
|
void | user_numforms_erase (user_numforms_t *map, user_numforms_iterator_t p) |
| Erase current element from user_numforms_t.
|
void | user_numforms_clear (user_numforms_t *map) |
| Clear user_numforms_t.
|
size_t | user_numforms_size (user_numforms_t *map) |
| Get size of user_numforms_t.
|
void | user_numforms_free (user_numforms_t *map) |
| Delete user_numforms_t instance.
|
user_numforms_t * | user_numforms_new () |
| Create a new user_numforms_t instance.
|
lvar_locator_t const & | lvar_mapping_first (lvar_mapping_iterator_t p) |
| Get reference to the current map key.
|
lvar_locator_t & | lvar_mapping_second (lvar_mapping_iterator_t p) |
| Get reference to the current map value.
|
lvar_mapping_iterator_t | lvar_mapping_find (const lvar_mapping_t *map, const lvar_locator_t &key) |
| Find the specified key in lvar_mapping_t.
|
lvar_mapping_iterator_t | lvar_mapping_insert (lvar_mapping_t *map, const lvar_locator_t &key, const lvar_locator_t &val) |
| Insert new (lvar_locator_t, lvar_locator_t) pair into lvar_mapping_t.
|
lvar_mapping_iterator_t | lvar_mapping_begin (const lvar_mapping_t *map) |
| Get iterator pointing to the beginning of lvar_mapping_t.
|
lvar_mapping_iterator_t | lvar_mapping_end (const lvar_mapping_t *map) |
| Get iterator pointing to the end of lvar_mapping_t.
|
lvar_mapping_iterator_t | lvar_mapping_next (lvar_mapping_iterator_t p) |
| Move to the next element.
|
lvar_mapping_iterator_t | lvar_mapping_prev (lvar_mapping_iterator_t p) |
| Move to the previous element.
|
void | lvar_mapping_erase (lvar_mapping_t *map, lvar_mapping_iterator_t p) |
| Erase current element from lvar_mapping_t.
|
void | lvar_mapping_clear (lvar_mapping_t *map) |
| Clear lvar_mapping_t.
|
size_t | lvar_mapping_size (lvar_mapping_t *map) |
| Get size of lvar_mapping_t.
|
void | lvar_mapping_free (lvar_mapping_t *map) |
| Delete lvar_mapping_t instance.
|
lvar_mapping_t * | lvar_mapping_new () |
| Create a new lvar_mapping_t instance.
|
ea_t const & | udcall_map_first (udcall_map_iterator_t p) |
| Get reference to the current map key.
|
udcall_t & | udcall_map_second (udcall_map_iterator_t p) |
| Get reference to the current map value.
|
udcall_map_iterator_t | udcall_map_find (const udcall_map_t *map, const ea_t &key) |
| Find the specified key in udcall_map_t.
|
udcall_map_iterator_t | udcall_map_insert (udcall_map_t *map, const ea_t &key, const udcall_t &val) |
| Insert new (ea_t, udcall_t) pair into udcall_map_t.
|
udcall_map_iterator_t | udcall_map_begin (const udcall_map_t *map) |
| Get iterator pointing to the beginning of udcall_map_t.
|
udcall_map_iterator_t | udcall_map_end (const udcall_map_t *map) |
| Get iterator pointing to the end of udcall_map_t.
|
udcall_map_iterator_t | udcall_map_next (udcall_map_iterator_t p) |
| Move to the next element.
|
udcall_map_iterator_t | udcall_map_prev (udcall_map_iterator_t p) |
| Move to the previous element.
|
void | udcall_map_erase (udcall_map_t *map, udcall_map_iterator_t p) |
| Erase current element from udcall_map_t.
|
void | udcall_map_clear (udcall_map_t *map) |
| Clear udcall_map_t.
|
size_t | udcall_map_size (udcall_map_t *map) |
| Get size of udcall_map_t.
|
void | udcall_map_free (udcall_map_t *map) |
| Delete udcall_map_t instance.
|
udcall_map_t * | udcall_map_new () |
| Create a new udcall_map_t instance.
|
treeloc_t const & | user_cmts_first (user_cmts_iterator_t p) |
| Get reference to the current map key.
|
citem_cmt_t & | user_cmts_second (user_cmts_iterator_t p) |
| Get reference to the current map value.
|
user_cmts_iterator_t | user_cmts_find (const user_cmts_t *map, const treeloc_t &key) |
| Find the specified key in user_cmts_t.
|
user_cmts_iterator_t | user_cmts_insert (user_cmts_t *map, const treeloc_t &key, const citem_cmt_t &val) |
| Insert new (treeloc_t, citem_cmt_t) pair into user_cmts_t.
|
user_cmts_iterator_t | user_cmts_begin (const user_cmts_t *map) |
| Get iterator pointing to the beginning of user_cmts_t.
|
user_cmts_iterator_t | user_cmts_end (const user_cmts_t *map) |
| Get iterator pointing to the end of user_cmts_t.
|
user_cmts_iterator_t | user_cmts_next (user_cmts_iterator_t p) |
| Move to the next element.
|
user_cmts_iterator_t | user_cmts_prev (user_cmts_iterator_t p) |
| Move to the previous element.
|
void | user_cmts_erase (user_cmts_t *map, user_cmts_iterator_t p) |
| Erase current element from user_cmts_t.
|
void | user_cmts_clear (user_cmts_t *map) |
| Clear user_cmts_t.
|
size_t | user_cmts_size (user_cmts_t *map) |
| Get size of user_cmts_t.
|
void | user_cmts_free (user_cmts_t *map) |
| Delete user_cmts_t instance.
|
user_cmts_t * | user_cmts_new () |
| Create a new user_cmts_t instance.
|
citem_locator_t const & | user_iflags_first (user_iflags_iterator_t p) |
| Get reference to the current map key.
|
int32 & | user_iflags_second (user_iflags_iterator_t p) |
| Get reference to the current map value.
|
user_iflags_iterator_t | user_iflags_find (const user_iflags_t *map, const citem_locator_t &key) |
| Find the specified key in user_iflags_t.
|
user_iflags_iterator_t | user_iflags_insert (user_iflags_t *map, const citem_locator_t &key, const int32 &val) |
| Insert new (citem_locator_t, int32) pair into user_iflags_t.
|
user_iflags_iterator_t | user_iflags_begin (const user_iflags_t *map) |
| Get iterator pointing to the beginning of user_iflags_t.
|
user_iflags_iterator_t | user_iflags_end (const user_iflags_t *map) |
| Get iterator pointing to the end of user_iflags_t.
|
user_iflags_iterator_t | user_iflags_next (user_iflags_iterator_t p) |
| Move to the next element.
|
user_iflags_iterator_t | user_iflags_prev (user_iflags_iterator_t p) |
| Move to the previous element.
|
void | user_iflags_erase (user_iflags_t *map, user_iflags_iterator_t p) |
| Erase current element from user_iflags_t.
|
void | user_iflags_clear (user_iflags_t *map) |
| Clear user_iflags_t.
|
size_t | user_iflags_size (user_iflags_t *map) |
| Get size of user_iflags_t.
|
void | user_iflags_free (user_iflags_t *map) |
| Delete user_iflags_t instance.
|
user_iflags_t * | user_iflags_new () |
| Create a new user_iflags_t instance.
|
ea_t const & | user_unions_first (user_unions_iterator_t p) |
| Get reference to the current map key.
|
intvec_t & | user_unions_second (user_unions_iterator_t p) |
| Get reference to the current map value.
|
user_unions_iterator_t | user_unions_find (const user_unions_t *map, const ea_t &key) |
| Find the specified key in user_unions_t.
|
user_unions_iterator_t | user_unions_insert (user_unions_t *map, const ea_t &key, const intvec_t &val) |
| Insert new (ea_t, intvec_t) pair into user_unions_t.
|
user_unions_iterator_t | user_unions_begin (const user_unions_t *map) |
| Get iterator pointing to the beginning of user_unions_t.
|
user_unions_iterator_t | user_unions_end (const user_unions_t *map) |
| Get iterator pointing to the end of user_unions_t.
|
user_unions_iterator_t | user_unions_next (user_unions_iterator_t p) |
| Move to the next element.
|
user_unions_iterator_t | user_unions_prev (user_unions_iterator_t p) |
| Move to the previous element.
|
void | user_unions_erase (user_unions_t *map, user_unions_iterator_t p) |
| Erase current element from user_unions_t.
|
void | user_unions_clear (user_unions_t *map) |
| Clear user_unions_t.
|
size_t | user_unions_size (user_unions_t *map) |
| Get size of user_unions_t.
|
void | user_unions_free (user_unions_t *map) |
| Delete user_unions_t instance.
|
user_unions_t * | user_unions_new () |
| Create a new user_unions_t instance.
|
int const & | user_labels_first (user_labels_iterator_t p) |
| Get reference to the current map key.
|
qstring & | user_labels_second (user_labels_iterator_t p) |
| Get reference to the current map value.
|
user_labels_iterator_t | user_labels_find (const user_labels_t *map, const int &key) |
| Find the specified key in user_labels_t.
|
user_labels_iterator_t | user_labels_insert (user_labels_t *map, const int &key, const qstring &val) |
| Insert new (int, qstring) pair into user_labels_t.
|
user_labels_iterator_t | user_labels_begin (const user_labels_t *map) |
| Get iterator pointing to the beginning of user_labels_t.
|
user_labels_iterator_t | user_labels_end (const user_labels_t *map) |
| Get iterator pointing to the end of user_labels_t.
|
user_labels_iterator_t | user_labels_next (user_labels_iterator_t p) |
| Move to the next element.
|
user_labels_iterator_t | user_labels_prev (user_labels_iterator_t p) |
| Move to the previous element.
|
void | user_labels_erase (user_labels_t *map, user_labels_iterator_t p) |
| Erase current element from user_labels_t.
|
void | user_labels_clear (user_labels_t *map) |
| Clear user_labels_t.
|
size_t | user_labels_size (user_labels_t *map) |
| Get size of user_labels_t.
|
void | user_labels_free (user_labels_t *map) |
| Delete user_labels_t instance.
|
user_labels_t * | user_labels_new () |
| Create a new user_labels_t instance.
|
ea_t const & | eamap_first (eamap_iterator_t p) |
| Get reference to the current map key.
|
cinsnptrvec_t & | eamap_second (eamap_iterator_t p) |
| Get reference to the current map value.
|
eamap_iterator_t | eamap_find (const eamap_t *map, const ea_t &key) |
| Find the specified key in eamap_t.
|
eamap_iterator_t | eamap_insert (eamap_t *map, const ea_t &key, const cinsnptrvec_t &val) |
| Insert new (ea_t, cinsnptrvec_t) pair into eamap_t.
|
eamap_iterator_t | eamap_begin (const eamap_t *map) |
| Get iterator pointing to the beginning of eamap_t.
|
eamap_iterator_t | eamap_end (const eamap_t *map) |
| Get iterator pointing to the end of eamap_t.
|
eamap_iterator_t | eamap_next (eamap_iterator_t p) |
| Move to the next element.
|
eamap_iterator_t | eamap_prev (eamap_iterator_t p) |
| Move to the previous element.
|
void | eamap_erase (eamap_t *map, eamap_iterator_t p) |
| Erase current element from eamap_t.
|
void | eamap_clear (eamap_t *map) |
| Clear eamap_t.
|
size_t | eamap_size (eamap_t *map) |
| Get size of eamap_t.
|
void | eamap_free (eamap_t *map) |
| Delete eamap_t instance.
|
eamap_t * | eamap_new () |
| Create a new eamap_t instance.
|
cinsn_t *const & | boundaries_first (boundaries_iterator_t p) |
| Get reference to the current map key.
|
rangeset_t & | boundaries_second (boundaries_iterator_t p) |
| Get reference to the current map value.
|
boundaries_iterator_t | boundaries_find (const boundaries_t *map, const cinsn_t *&key) |
| Find the specified key in boundaries_t.
|
boundaries_iterator_t | boundaries_insert (boundaries_t *map, const cinsn_t *&key, const rangeset_t &val) |
| Insert new (cinsn_t *, rangeset_t) pair into boundaries_t.
|
boundaries_iterator_t | boundaries_begin (const boundaries_t *map) |
| Get iterator pointing to the beginning of boundaries_t.
|
boundaries_iterator_t | boundaries_end (const boundaries_t *map) |
| Get iterator pointing to the end of boundaries_t.
|
boundaries_iterator_t | boundaries_next (boundaries_iterator_t p) |
| Move to the next element.
|
boundaries_iterator_t | boundaries_prev (boundaries_iterator_t p) |
| Move to the previous element.
|
void | boundaries_erase (boundaries_t *map, boundaries_iterator_t p) |
| Erase current element from boundaries_t.
|
void | boundaries_clear (boundaries_t *map) |
| Clear boundaries_t.
|
size_t | boundaries_size (boundaries_t *map) |
| Get size of boundaries_t.
|
void | boundaries_free (boundaries_t *map) |
| Delete boundaries_t instance.
|
boundaries_t * | boundaries_new () |
| Create a new boundaries_t instance.
|
chain_t & | block_chains_get (block_chains_iterator_t p) |
| Get reference to the current set value.
|
block_chains_iterator_t | block_chains_find (const block_chains_t *set, const chain_t &val) |
| Find the specified key in set block_chains_t.
|
block_chains_iterator_t | block_chains_insert (block_chains_t *set, const chain_t &val) |
| Insert new (chain_t) into set block_chains_t.
|
block_chains_iterator_t | block_chains_begin (const block_chains_t *set) |
| Get iterator pointing to the beginning of block_chains_t.
|
block_chains_iterator_t | block_chains_end (const block_chains_t *set) |
| Get iterator pointing to the end of block_chains_t.
|
block_chains_iterator_t | block_chains_next (block_chains_iterator_t p) |
| Move to the next element.
|
block_chains_iterator_t | block_chains_prev (block_chains_iterator_t p) |
| Move to the previous element.
|
void | block_chains_erase (block_chains_t *set, block_chains_iterator_t p) |
| Erase current element from block_chains_t.
|
void | block_chains_clear (block_chains_t *set) |
| Clear block_chains_t.
|
size_t | block_chains_size (block_chains_t *set) |
| Get size of block_chains_t.
|
void | block_chains_free (block_chains_t *set) |
| Delete block_chains_t instance.
|
block_chains_t * | block_chains_new () |
| Create a new block_chains_t instance.
|
| AS_PRINTF (2, 0) void mblock_t |
| AS_PRINTF (3, 4) inline cexpr_t *create_helper(bool standalone |
| Create a helper object..
|