Logo
  • add_auto_stkpnt
  • add_bpt
  • add_cref
  • add_default_til
  • add_dref
  • add_entry
  • add_enum
  • add_enum_member
  • add_func
  • add_hidden_range
  • add_idc_hotkey
  • add_segm_ex
  • add_sourcefile
  • add_struc
  • add_struc_member
  • add_user_stkpnt
  • append_func_tail
  • apply_type
  • ask_addr
  • ask_file
  • ask_long
  • ask_seg
  • ask_str
  • ask_yn
  • atoa
  • atol
  • attach_process
  • auto_mark
  • auto_mark_range
  • auto_unmark
  • auto_wait
  • batch
  • begin_type_updating
  • byte
  • byte_value
  • calc_gtn_flags
  • call_system
  • can_exc_continue
  • check_bpt
  • choose_func
  • cleanup_appcall
  • clear_selection
  • clear_trace
  • clr_database_flag
  • collect_stack_trace
  • compile_idc_file
  • compile_idc_text
  • create_align
  • create_array
  • create_byte
  • create_custom_data
  • create_data
  • create_double
  • create_dword
  • create_enum_type
  • create_float
  • create_insn
  • create_oword
  • create_pack_real
  • create_qword
  • create_strlit
  • create_struct
  • create_tbyte
  • create_word
  • create_yword
  • dalvik_get_array_elem
  • dalvik_get_array_size
  • dalvik_get_instance_fld
  • dalvik_get_local
  • dalvik_get_local_typed
  • dbg_appcall
  • decode_insn
  • define_exception
  • define_local_var
  • del_array_element
  • del_bpt
  • del_cref
  • del_dref
  • del_enum
  • del_enum_member
  • del_extra_cmt
  • del_fixup
  • del_func
  • del_hash_string
  • del_hidden_range
  • del_idc_hotkey
  • del_items
  • del_segm
  • del_selector
  • del_source_linnum
  • del_sourcefile
  • del_stkpnt
  • del_struc
  • del_struc_member
  • del_user_info
  • delattr
  • delete_all_segments
  • delete_array
  • demangle_name
  • detach_process
  • diff_trace_file
  • dword
  • enable_bpt
  • enable_tracing
  • end_type_updating
  • error
  • eval
  • EVAL_FAILURE
  • eval_python
  • exec_idc
  • exec_python
  • exit_process
  • expand_struc
  • fclose
  • fgetc
  • filelength
  • find_binary
  • find_code
  • find_custom_data_format
  • find_custom_data_type
  • find_data
  • find_defined
  • find_func_end
  • find_imm
  • find_selector
  • find_suspop
  • find_text
  • find_unknown
  • first_func_chunk
  • firstattr
  • fopen
  • force_bl_call
  • force_bl_jump
  • forget_exception
  • format_cdata
  • fprintf
  • fputc
  • fseek
  • ftell
  • func_contains
  • gen_file
  • gen_flow_graph
  • gen_simple_call_chart
  • generate_disasm_line
  • get_appcall_options
  • get_array_element
  • get_array_id
  • get_bmask_cmt
  • get_bmask_name
  • get_bookmark
  • get_bookmark_desc
  • get_bpt_attr
  • get_bpt_ea
  • get_bpt_qty
  • get_bpt_tev_ea
  • get_bytes
  • get_call_tev_callee
  • get_cmt
  • get_color
  • get_curline
  • get_current_tev
  • get_current_thread
  • get_db_byte
  • get_debug_name
  • get_debug_name_ea
  • get_debugger_event_cond
  • get_double
  • get_entry
  • get_entry_name
  • get_entry_ordinal
  • get_entry_qty
  • get_enum
  • get_enum_cmt
  • get_enum_flag
  • get_enum_member
  • get_enum_member_bmask
  • get_enum_member_by_name
  • get_enum_member_cmt
  • get_enum_member_enum
  • get_enum_member_name
  • get_enum_member_value
  • get_enum_name
  • get_enum_size
  • get_enum_width
  • get_event_bpt_hea
  • get_event_ea
  • get_event_exc_code
  • get_event_exc_ea
  • get_event_exc_info
  • get_event_exit_code
  • get_event_id
  • get_event_info
  • get_event_module_base
  • get_event_module_name
  • get_event_module_size
  • get_event_pid
  • get_event_tid
  • get_exception_code
  • get_exception_flags
  • get_exception_name
  • get_exception_qty
  • get_extra_cmt
  • get_fchunk_attr
  • get_fchunk_referer
  • get_field_ea
  • get_file_ext
  • get_first_bmask
  • get_first_cref_from
  • get_first_cref_to
  • get_first_dref_from
  • get_first_dref_to
  • get_first_enum_member
  • get_first_fcref_from
  • get_first_fcref_to
  • get_first_hash_key
  • get_first_index
  • get_first_member
  • get_first_module
  • get_first_seg
  • get_fixup_target_dis
  • get_fixup_target_flags
  • get_fixup_target_off
  • get_fixup_target_sel
  • get_fixup_target_type
  • get_flags
  • get_float
  • get_forced_operand
  • get_fpnum
  • get_frame_args_size
  • get_frame_id
  • get_frame_lvar_size
  • get_frame_regs_size
  • get_frame_size
  • get_full_flags
  • get_func_attr
  • get_func_cmt
  • get_func_flags
  • get_func_name
  • get_func_off_str
  • get_gotea
  • get_hash_long
  • get_hash_string
  • get_idb_path
  • get_imagebase
  • get_inf_attr
  • get_input_file_path
  • get_ip_val
  • get_item_end
  • get_item_head
  • get_item_size
  • get_last_bmask
  • get_last_enum_member
  • get_last_hash_key
  • get_last_index
  • get_last_member
  • get_local_tinfo
  • get_manual_insn
  • get_member_by_idx
  • get_member_cmt
  • get_member_flag
  • get_member_id
  • get_member_name
  • get_member_offset
  • get_member_qty
  • get_member_size
  • get_member_strid
  • get_min_spd_ea
  • get_module_info
  • get_module_name
  • get_module_size
  • get_name
  • get_name_ea
  • get_name_ea_simple
  • get_named_type_tid
  • get_next_bmask
  • get_next_cref_from
  • get_next_cref_to
  • get_next_dref_from
  • get_next_dref_to
  • get_next_enum_member
  • get_next_fchunk
  • get_next_fcref_from
  • get_next_fcref_to
  • get_next_fixup_ea
  • get_next_func
  • get_next_hash_key
  • get_next_index
  • get_next_module
  • get_next_offset
  • get_next_seg
  • get_nsec_stamp
  • get_numbered_type_name
  • get_numbered_type_tid
  • get_operand_type
  • get_operand_value
  • get_ordinal_limit
  • get_original_byte
  • get_prev_bmask
  • get_prev_enum_member
  • get_prev_fchunk
  • get_prev_fixup_ea
  • get_prev_func
  • get_prev_hash_key
  • get_prev_index
  • get_prev_offset
  • get_process_state
  • get_processes
  • get_processor_name
  • get_qword
  • get_reg_value
  • get_ret_tev_return
  • get_root_filename
  • get_screen_ea
  • get_segm_attr
  • get_segm_by_sel
  • get_segm_end
  • get_segm_name
  • get_segm_start
  • get_source_linnum
  • get_sourcefile
  • get_sp_delta
  • get_spd
  • get_sreg
  • get_step_trace_options
  • get_str_type
  • get_strlit_contents
  • get_struc_cmt
  • get_struc_id
  • get_struc_name
  • get_struc_size
  • get_tev_ea
  • get_tev_mem
  • get_tev_mem_ea
  • get_tev_mem_qty
  • get_tev_qty
  • get_tev_reg
  • get_tev_tid
  • get_tev_type
  • get_thread_qty
  • get_tinfo
  • get_trace_file_desc
  • get_type
  • get_wide_byte
  • get_wide_dword
  • get_wide_word
  • get_xref_type
  • getattr
  • getn_thread
  • getn_thread_name
  • guess_type
  • has_name
  • has_user_name
  • has_value
  • has_xref
  • hasattr
  • idadir
  • import_type
  • inf_is_32bit_or_higher
  • inf_is_64bit
  • inf_set_32bit
  • inf_set_64bit
  • is_align
  • is_bf
  • is_bin0
  • is_bin1
  • is_byte
  • is_char0
  • is_char1
  • is_code
  • is_code_far
  • is_custfmt0
  • is_custfmt1
  • is_custom
  • is_data
  • is_data_far
  • is_dec0
  • is_dec1
  • is_defarg0
  • is_defarg1
  • is_double
  • is_dword
  • is_enum0
  • is_enum1
  • is_event_handled
  • is_extra_cmts
  • is_float
  • is_float0
  • is_float1
  • is_flow
  • is_head
  • is_hex0
  • is_hex1
  • is_loaded
  • is_manual0
  • is_manual1
  • is_mapped
  • is_member_id
  • is_oct0
  • is_oct1
  • is_off0
  • is_off1
  • is_oword
  • is_pack_real
  • is_qword
  • is_seg0
  • is_seg1
  • is_stkvar0
  • is_stkvar1
  • is_strlit
  • is_stroff0
  • is_stroff1
  • is_struct
  • is_tail
  • is_tbyte
  • is_union
  • is_unknown
  • is_valid_trace_file
  • is_word
  • is_yword
  • JDWP_ArrayReference_GetValues
  • JDWP_ArrayReference_Length
  • JDWP_Method_Bytecodes
  • JDWP_Method_VariableTable
  • JDWP_Method_VariableTableWithGeneric
  • JDWP_ObjectReference_ReferenceType
  • JDWP_ReferenceType_Fields
  • JDWP_ReferenceType_Instances
  • JDWP_ReferenceType_Methods
  • JDWP_ReferenceType_NestedTypes
  • JDWP_ReferenceType_Signature
  • JDWP_ReferenceType_SourceFile
  • JDWP_StackFrame_GetValue
  • JDWP_StringReference_Value
  • JDWP_ThreadReference_Frames
  • JDWP_ThreadReference_ThreadGroup
  • JDWP_VirtualMachine_AllClasses
  • JDWP_VirtualMachine_AllThreads
  • JDWP_VirtualMachine_ClassesBySignature
  • JDWP_VirtualMachine_IDSizes
  • JDWP_VirtualMachine_Version
  • jumpto
  • lastattr
  • load_and_run_plugin
  • load_debugger
  • load_trace_file
  • load_type
  • loader_input_t_close
  • loader_input_t_getc
  • loader_input_t_gets
  • loader_input_t_getz
  • loader_input_t_read
  • loader_input_t_readbytes
  • loader_input_t_seek
  • loader_input_t_size
  • loader_input_t_tell
  • loadfile
  • ltoa
  • make_array
  • mkdir
  • move_segm
  • msg
  • next_addr
  • next_func_chunk
  • next_head
  • next_not_tail
  • nextattr
  • object_retrieve
  • object_store
  • op_bin
  • op_chr
  • op_dec
  • op_enum
  • op_flt
  • op_hex
  • op_man
  • op_num
  • op_oct
  • op_offset
  • op_offset_high16
  • op_plain_offset
  • op_seg
  • op_stkvar
  • op_stroff
  • open_loader_input
  • ord
  • parse_decl
  • parse_decls
  • patch_byte
  • patch_dbg_byte
  • patch_dword
  • patch_qword
  • patch_word
  • plan_and_wait
  • plan_to_apply_idasgn
  • prev_addr
  • prev_head
  • prev_not_tail
  • prevattr
  • print
  • print_decls
  • print_insn_mnem
  • print_operand
  • process_config_directive
  • process_ui_action
  • put_bookmark
  • qbasename
  • qdirname
  • qexit
  • qisabspath
  • qmake_full_path
  • qmakefile
  • qsleep
  • qword
  • read_dbg_byte
  • read_dbg_dword
  • read_dbg_memory
  • read_dbg_qword
  • read_dbg_word
  • read_msr
  • read_selection_end
  • read_selection_start
  • readlong
  • readshort
  • readstr
  • rebase_program
  • recalc_spd
  • refresh_choosers
  • refresh_debugger_memory
  • refresh_idaview_anyway
  • remove_fchunk
  • rename
  • rename_array
  • rename_entry
  • resume_process
  • resume_thread
  • retrieve_input_file_md5
  • rotate_byte
  • rotate_dword
  • rotate_left
  • rotate_word
  • run_to
  • sanitize_file_name
  • save_database
  • save_trace_file
  • savefile
  • search_path
  • sel2para
  • select_thread
  • selector_by_name
  • send_dbg_command
  • set_appcall_options
  • SET_APPCALL_TIMEOUT
  • set_array_long
  • set_array_params
  • set_array_string
  • set_bmask_cmt
  • set_bmask_name
  • set_bpt_attr
  • set_bpt_cond
  • set_cmt
  • set_color
  • set_current_tev
  • set_database_flag
  • set_debugger_event_cond
  • set_debugger_options
  • set_default_sreg_value
  • set_enum_bf
  • set_enum_cmt
  • set_enum_flag
  • set_enum_member_cmt
  • set_enum_member_name
  • set_enum_name
  • set_enum_width
  • set_exception_flags
  • set_fchunk_attr
  • set_fixup
  • set_flag
  • set_frame_size
  • set_func_attr
  • set_func_cmt
  • set_func_end
  • set_func_flags
  • set_func_start
  • set_hash_long
  • set_hash_string
  • set_ida_state
  • set_inf_attr
  • set_local_type
  • set_manual_insn
  • set_member_cmt
  • set_member_name
  • set_member_type
  • set_name
  • set_named_type
  • set_numbered_type
  • set_processor_type
  • set_reg_value
  • set_remote_debugger
  • set_root_filename
  • set_segm_addressing
  • set_segm_alignment
  • set_segm_attr
  • set_segm_class
  • set_segm_combination
  • set_segm_name
  • set_segm_type
  • set_segment_bounds
  • set_selector
  • set_source_linnum
  • set_step_trace_options
  • set_storage_type
  • set_struc_cmt
  • set_struc_name
  • set_tail_owner
  • set_target_assembler
  • set_trace_file_desc
  • setattr
  • sizeof
  • split_sreg_range
  • sprintf
  • start_process
  • step_back
  • step_into
  • step_over
  • step_until_ret
  • strfill
  • stristr
  • strlen
  • strstr
  • STRTERM1
  • STRTERM2
  • substr
  • suspend_process
  • suspend_thread
  • take_memory_snapshot
  • tinfo_errstr
  • to_ea
  • TO_LONG
  • toggle_bnot
  • toggle_sign
  • tolower
  • toupper
  • trim
  • TRUNC
  • typeinfo_print
  • typeinfo_size
  • unlink
  • update_extra_cmt
  • update_hidden_range
  • validate_idb_names
  • value_is_float
  • value_is_func
  • value_is_int64
  • value_is_long
  • value_is_object
  • value_is_pvoid
  • value_is_string
  • wait_for_next_event
  • warning
  • word
  • write_dbg_memory
  • write_msr
  • writelong
  • writeshort
  • writestr
  • xtol
IDC References
  • Function chunk related functions
  • View page source

Function chunk related functions


// Get a function chunk attribute
//       ea     - any address in the chunk
//       attr   - one of: FUNCATTR_START, FUNCATTR_END
//                        FUNCATTR_OWNER, FUNCATTR_REFQTY
// returns: desired attribute or -1

long get_fchunk_attr(long ea, long attr);

// Set a function chunk attribute
//       ea     - any address in the chunk
//       attr   - nothing defined yet
//       value  - desired bg color (RGB)
// returns: 0 if failed, 1 if success

success set_fchunk_attr(long ea, long attr, long value);

// Get a function chunk referer
//       ea     - any address in the chunk
//       idx    - referer index (0..get_fchunk_attr(FUNCATTR_REFQTY))
// returns: referer address or BADADDR

long get_fchunk_referer(long ea, long idx);

// Get next function chunk
//       ea     - any address
// returns: the starting address of the next
//          function chunk or BADADDR
// This function enumerates all chunks of all functions in the database

long get_next_fchunk(long ea);

// Get previous function chunk
//       ea     - any address
// returns: the starting address of the previous
//          function chunk or BADADDR
// This function enumerates all chunks of all functions in the database

long get_prev_fchunk(long ea);

// Append a function chunk to the function
//       funcea   - any address in the function
//       ea1, ea2 - boundaries of a function tail to add.
//                  If a chunk exists at the specified addresses,
//                  it must have exactly the specified boundaries
// returns: 0 if failed, 1 if success

success append_func_tail(long funcea, long ea1, long ea2);

// Remove a function chunk from the function
//       funcea - any address in the function
//       ea1    - any address in the function chunk to remove
// returns: 0 if failed, 1 if success

success remove_fchunk(long funcea, long tailea);

// Change the function chunk owner
//       tailea - any address in the function chunk
//       funcea - the starting address of the new owner
// returns: 0 if failed, 1 if success
// The new owner must already have the chunk appended before the call

success set_tail_owner(long tailea, long funcea);

// Get the first function chunk of the specified function
//       funcea - any address in the function
// returns: the function entry point or BADADDR
// This function returns the first (main) chunk of the specified function

long first_func_chunk(long funcea);

// Get the next function chunk of the specified function
//         arguments:      funcea - any address in the function
//                         tailea - any address in the current chunk
//         returns:        the starting address of the next
//                         function chunk or BADADDR
// This function returns the next chunk of the specified function

long next_func_chunk(long funcea, long tailea);
Previous Next

© Copyright 2025, Hex-Rays.

Built with Sphinx using a theme provided by Read the Docs.