### idp.hpp

Renamed:
- InstrIsSet -> has_insn_feature

[*]: arguments and/or return value meaning has changed from 6.95
[IDB]: event has been moved to the HT_IDB event group.

Renamed IDP events:
- add_cref -> ev_add_cref
- add_dref -> ev_add_dref
- add_func -> func_added [IDB]
- adjust_libfunc_ea -> ev_adjust_libfunc_ea [*]
- adjust_refinfo -> ev_adjust_refinfo [*]
- auto_empty_finally -> [IDB]
- auto_queue_empty -> ev_auto_queue_empty [*]
- calc_arglocs3 -> ev_calc_arglocs [*]
- calc_cdecl_purged_bytes2 -> ev_calc_cdecl_purged_bytes [*]
- calc_next_eas -> ev_calc_next_eas [*]
- calc_purged_bytes3 -> ev_calc_purged_bytes [*]
- calc_retloc3 -> ev_calc_retloc [*]
- calc_step_over -> ev_calc_step_over [*]
- calc_switch_cases -> ev_calc_switch_cases [*]
- calc_varglocs3 -> ev_calc_varglocs [*]
- clean_tbit -> ev_clean_tbit [*]
- closebase -> [IDB]
- cmp_opnd -> ev_cmp_operands [*]
- coagulate -> ev_coagulate [*]
- coagulate_dref -> ev_coagulate_dref
- create_flat_group -> ev_create_flat_group
- create_switch_xrefs -> ev_create_switch_xrefs [*]
- custom_ana -> ev_ana_insn [*]
- custom_emu -> ev_emu_insn [*]
- custom_mnem -> ev_out_mnem [*]
- custom_out -> ev_out_insn [*]
- custom_outop -> ev_out_operand [*]
- decorate_name -> ev_decorate_name [*]
- decorate_name3 -> ev_decorate_name [*]
- del_cref -> ev_del_cref
- del_dref -> ev_del_dref
- del_func -> deleting_func [IDB]
- delay_slot_insn ->ev_delay_slot_insn [*]
- determined_main -> [IDB]
- endbinary -> ev_endbinary
- extlang_changed -> [IDB]
- func_bounds -> ev_func_bounds
- gen_asm_or_lst -> ev_gen_asm_or_lst
- get_autocmt -> ev_get_autocmt [*]
- get_bg_color -> ev_get_bg_color [*]
- get_dbr_opnum -> ev_get_dbr_opnum [*]
- get_default_enum_size -> ev_get_default_enum_size
- get_fastcall_regs3 -> ev_get_cc_regs [*]
- get_func_cvtarg_map -> ev_lower_func_type [*]
- get_macro_insn_head -> ev_get_macro_insn_head [*]
- get_operand_info -> ev_get_idd_opinfo [*]
- get_operand_string -> ev_get_operand_string [*]
- get_reg_info2 -> ev_get_reg_info [*]
- get_reg_name -> ev_get_reg_name [*]
- get_simd_types -> ev_get_simd_types [*]
- get_stkarg_offset2 -> ev_get_stkarg_offset [*]
- get_stkvar_scale_factor -> ev_get_stkvar_scale_factor
- get_thiscall_regs3 -> ev_get_cc_regs [*]
- get_varcall_regs3 -> ev_get_cc_regs [*]
- init -> ev_init [*]
- insn_reads_tbit -> ev_insn_reads_tbit [*]
- is_alloca_probe -> ev_is_alloca_probe [*]
- is_call_insn -> ev_is_call_insn [*]
- is_indirect_jump -> ev_is_indirect_jump [*]
- is_insn_table_jump -> ev_is_insn_table_jump [*]
- is_ret_insn -> ev_is_ret_insn [*]
- is_sane_insn -> ev_is_sane_insn [*]
- kernel_config_loaded -> [IDB]
- load_idasgn -> idasgn_loaded
- loader_elf_machine -> ev_loader_elf_machine
- loader_elf_machine -> ev_loader_elf_machine [*]
- loader_finished -> [IDB]
- make_code -> [IDB]
- make_data -> [IDB]
- max_ptr_size -> ev_max_ptr_size [*]
- may_show_sreg -> ev_may_show_sreg
- move_segm -> segm_moved [IDB] [*]
- moving_segm -> ev_moving_segm [*]
- newasm -> ev_newasm
- newbinary -> ev_newbinary [*]
- newfile -> ev_newfile
- newprc -> ev_newprc [*]
- newseg -> ev_newseg
- next_exec_insn -> ev_next_exec_insn [*]
- oldfile -> ev_oldfile
- out_3byte -> out_data [*]
- out_src_file_lnnum -> ev_gen_src_file_lnnum [*]
- outlabel -> ev_out_label [*]
- preprocess_chart -> flow_chart_created [IDB]
- renamed -> [IDB]
- savebase -> [IDB]
- savebase -> [IDB]
- set_func_end [IDB]
- set_func_start [IDB]
- set_proc_options -> ev_set_proc_options
- setup_til -> ev_setup_til
- shadow_args_size -> ev_shadow_args_size [*]
- str2reg -> ev_str2reg [*]
- term -> ev_term
- treat_hindering_item -> ev_treat_hindering_item [*]
- undefine -> ev_undefine [*]
- use_arg_types3 -> ev_use_arg_types [*]
- use_regarg_type3 -> ev_use_regarg_type [*]
- use_stkarg_type3 -> ev_use_stkarg_type [*]
- validate_flirt_func -> ev_validate_flirt_func [*]
- verify_noreturn -> ev_verify_noreturn [*]
- verify_sp -> ev_verify_sp [*]

Removed:
- add_mapping -> use bytes.hpp/add_mapping() instead

Moved to config.hpp:
- cfg_get_cc_parm
- cfg_get_cc_predefined_macros
- read_config
- read_config_file
- read_config_string


### name.hpp

Most strings are now assumed to be in UTF-8 and functions working with
single characters now accept a Unicode codepoint.

You can use get_utf8_char() from pro.h to get codepoints from a UTF-8 string.

Changes in behavior:
 set_name: default flags now mean SN_CHECK (replace invalid characters with '_').
 Use SN_NOCHECK to prevent this behavior.

Renamed:
- append_struct_fields2 -> append_struct_fields
- demangle_name2 -> demangle_name
- do_name_anyway -> force_name
- extract_name2 -> extract_name
- get_debug_name2 -> get_debug_name
- get_true_name -> get_name
- is_ident_char -> is_ident_cp [*]
- is_visible_char -> is_visible_cp [*]
- isident -> is_ident
- validate_name3 -> validate_name [*]


### loader.hpp

Global variables replaced by getters/setters:
- command_line_file -> get_path(PATH_TYPE_CMD)
- database_id0 -> get_path(PATH_TYPE_ID0)
- database_idb -> get_path(PATH_TYPE_IDB)

- database_flags -> is_database_flag/set_database_flag/clr_database_flag


### ida.hpp

The global inf variable has had many fields and functions renamed, removed,
or substituted by helper functions.

Renamed fields (inf):
- ASCIIbreak -> strlit_break
- ASCIIpref -> strlit_pref
- ASCIIsernum -> strlit_sernum
- ASCIIzeroes -> strlit_zeroes
- asciiflags -> strlit_flags
- beginEA -> start_ea
- binSize -> bin_prefix_size
- maxEA -> max_ea
- minEA -> min_ea
- namelen -> max_autoname_len
- omaxEA -> omax_ea
- ominEA -> omin_ea
- procName -> procname
- startIP -> start_ip
- startSP -> start_sp

Removed helper functions (inf):
- get_proc_name() / set_proc_name() -> use procname field directly instead

Removed fields (inf):
- (s_checkarg & 1) -> check_manual_ops() / set_check_manual_ops()
- (s_checkarg & 2) -> allow_nonmatched_ops() / set_allow_nonmatched_ops()
- (s_genflags & INFFL_LZERO) -> gen_lzero() / set_gen_lzero()
- abiname -> use get_abi_name() / set_abi_name() instead (from nalt.hpp)
- fcoresiz -> use (inf.omax_ea - inf.omin_ea) instead
- graph_view -> is_graph_view() / set_graph_view()
- mf -> is_be() / set_be()
- s_assume -> use (inf.outflags & OFLG_GEN_ASSUME) instead
- s_auto -> is_auto_enabled() / set_auto_enabled()
- s_null -> gen_null() / set_gen_null()
- s_org -> use (inf.outflags & OFLG_GEN_ORG) instead
- s_packbase -> get_pack_mode() / set_pack_mode()
- s_prefseg -> line_pref_with_seg() / set_line_pref_with_seg()
- s_showauto -> show_auto() / set_show_auto()
- s_showpref -> show_line_pref() / set_show_line_pref()
- s_void -> show_void() / set_show_void()
- size_ldbl -> use inf.cc.size_ldbl instead
- wide_high_byte_first -> is_wide_high_byte_first() / set_wide_high_byte_first()

Removed fields (and features) (inf):
- corestart
- lprefix
- lprefixlen
- s_entab (output files no longer contain tabs)
- s_showbads
- tribyte_order (use the custom data type from module/custdata.cpp for tribyte items)

Misc (inf):
- The size of the procname field has been increased from 8 to 16

Renamed functions:
- showAllComments -> show_all_comments
- showComments -> show_comments
- showRepeatables -> show_repeatables
- toEA -> to_ea


### area.hpp

The file has been renamed to range.hpp.

Renamed:
- area_t -> range_t
- areavec_t -> rangevec_t
- endEA -> end_ea
- startEA -> start_ea


### netnode.hpp

IDA now supports relocating of the reserved address range (used for named and unnamed netnodes).
If you attach information to program addresses, you should use new methods with _ea suffix instead of directly using addresses as netnode indexes.

For example:

helper.altset(ea1, 1); // mark ea1 as entry

should be replaced by:

helper.altset_ea(ea1, 1);

When converting old data you can use node2ea and ea2node helper functions.


### bytes.hpp

The misleading term "ASCII string" has been replaced by "string literal" (strlit).

Renamed:
- add_hidden_area -> add_hidden_range
- delValue -> del_value
- doASCI -> create_strlit
- doByte -> create_byte
- doImmd -> set_immd
- do_data_ex -> create_data
- do_unknown -> del_items
- do_unknown_range -> del_items
- f_isCode -> f_is_code
- getDefaultRadix -> get_default_radix
- getFlags -> get_full_flags
- get_long -> get_dword
- get_full_byte -> get_wide_byte
- get_full_word -> get_wide_word
- get_full_long -> get_wide_dword
- get_original_long -> get_original_dword
- put_long -> put_dword
- patch_long -> patch_dword
- add_long -> add_dword- getRadix -> get_radix
- get_ascii_contents2 -> get_strlit_contents
- get_flags_novalue -> get_flags
- get_hidden_area -> get_hidden_range
- get_many_bytes -> get_bytes
- get_many_bytes_ex -> get_bytes
- get_max_ascii_length -> get_max_strlit_length
- get_zero_areas -> get_zero_ranges
- hasExtra -> has_extra_cmts
- hasRef -> has_xref
- hasValue -> has_value
- isASCII -> is_strlit
- isByte -> is_byte
- isCode -> is_code
- isDefArg0 -> is_defarg0
- isEnabled -> is_mapped
- isFlow -> is_flow
- isImmd -> has_immd
- isLoaded -> is_loaded
- isOff0 -> is_off0
- isOff1 -> is_off1
- make_ascii_string -> create_strlit
- noType -> clr_op_type
- patch_many_bytes -> patch_bytes
- print_ascii_string_type -> print_strlit_type
- put_many_bytes -> put_bytes
- update_hidden_area -> update_hidden_range

- alignflag -> align_flag
- asciflag -> strlit_flag
- binflag -> bin_flag
- byteflag -> byte_flag
- charflag -> char_flag
- codeflag -> code_flag
- custflag -> cust_flag
- custfmtflag -> custfmt_flag
- decflag -> dec_flag
- doubleflag -> double_flag
- dwrdflag -> dword_flag
- enumflag -> enum_flag
- floatflag -> float_flag
- fltflag -> flt_flag
- hexflag -> hex_flag
- numflag -> num_flag
- octflag -> oct_flag
- offflag -> off_flag
- owrdflag -> oword_flag
- packrealflag -> packreal_flag
- qwrdflag -> qword_flag
- segflag -> seg_flag
- stkvarflag -> stkvar_flag
- stroffflag -> stroff_flag
- struflag -> stru_flag
- tbytflag -> tbyte_flag
- typeflag -> type_flag
- wordflag -> word_flag
- ywrdflag -> yword_flag
- zwrdflag -> zword_flag

- chunksize -> chunk_size
- chunkstart -> chunk_start
- freechunk -> free_chunk
- nextaddr -> next_addr
- nextchunk -> next_chunk
- nextthat -> next_that
- prevaddr -> prev_addr
- prevchunk -> prev_chunk
- prevthat -> prev_that

Removed:
- doCode -> use create_insn() instead
- getRadixEA


### ua.hpp

The global variables cmd and uFlag are gone.

All functions previously operating on cmd now accept an insn_t pointer or reference.
Use get_flags (or, if you really need it, get_full_flags) to read the current flags.
Most Output functions has been moved into the new outctx_t class (see ida70_readme.txt, processor modules section).
If necessary, a context can be created using create_outctx().

The maximum number of instruction operands (UA_MAXOP) has increased to 8.

Renamed:
- OutImmChar -> out_immchar_cmts
- codeSeg -> map_code_ea
- dataSeg -> map_data_ea
- get_dtyp_by_size -> get_dtype_by_size
- get_dtyp_flag -> get_dtype_flag
- get_dtyp_size -> get_dtype_size
- get_operand_immvals -> get_immvals
- insn_t::Operands -> insn_t::ops
- op_t::dtyp -> dtype
- out_real -> print_fpval
- printf_line -> gen_printf
- showAsChar -> print_charlit
- ua_add_off_drefs2 -> insn_t::add_off_drefs
- ua_dodata2 -> create_op_data
- ua_mnem -> print_insn_mnem
- ua_outop2 -> print_operand
- ua_stkvar2 -> insn_t::create_stkvar
- ua_add_dref -> insn_t::add_dref
- ua_add_cref -> insn_t::add_cref
- ua_next_byte -> insn_t::get_next_byte
- ua_next_word -> insn_t::get_next_word
- ua_next_long -> insn_t::get_next_dword
- ua_next_qword -> insn_t::get_next_qword


### lines.hpp

Removed global variables:
- gl_bpsize
- gl_comm
- gl_name
- gl_psize
- gl_xref

Removed functions:
- tag_addchr
- tag_addstr
- tag_off
- tag_on

These are now controlled by member variables and functions in outctx_t
(but normally you don't need to change the gl_... variables anyway).

Renamed:
- MakeBorder-> ctx.gen_border_line
- MakeLine-> ctx.flush_outbuf
- MakeNull -> ctx.gen_empty_line
- MakeSolidBorder -> ctx.gen_border_line
- add_long_cmt -> add_extra_cmt
- describe -> add_extra_line
- describex -> vadd_extra_line
- gen_header -> ctx.gen_header
- printf_line -> ctx.gen_printf


### dbg.hpp

Renamed:
- get_process_info -> get_processes
- get_process_qty -> get_processes
- getn_process -> get_processes


### kernwin.hpp

TForm/TControl/TWinControl/TCustomControl have all been merged into TWidget.

Renamed:
- AskUsingForm_c -> ask_form
- OpenForm_c -> open_form
- askaddr -> ask_addr
- askbuttonc_c -> ask_buttons
- askfile_c -> ask_file
- askident -> ask_ident
- asklog -> ask_long
- askseg -> ask_seg
- askstr -> ask_str
- asktext -> ask_text
- askyn -> ask_yn
- choose2/3 -> choose
- chooser_info_t -> chooser_t
- clearBreak -> clr_cancelled
- enable_menu_item -> actions
- get_viewer_name -> get_tform_title
- setBreak -> set_cancelled
- set_menu_item_icon -> actions
- viewer_add_menu_item -> viewer_attach_menu_item
- wasBreak -> user_cancelled

Removed:
- askfile2_c -> use ask_file instead
- close_form -> use form_actions_t::close instead
- formcb_t -> use form_actions_t or buttoncb_t instead


### diskio.hpp

Renamed:
- create_generic_linput64 -> create_generic_linput
- echsize64 -> echsize
- eseek64 -> eseek
- generic_linput64_t -> generic_linput_t
- qfsize64 -> qfsize
- qlgetz64 -> qlgetz
- qlseek64 -> qlseek
- qlsize64 -> qlsize
- qltell64 -> qltell


### expr.hpp

Renamed:
- VarCopy -> deep_copy_idcv,copy_idcv,move_idcv
- VarDelAttr -> del_idcv_attr
- VarFirstAttr -> first_idcv_attr
- VarFloat -> idcv_float
- VarFree -> free_idcv
- VarGetAttr -> get_idcv_attr
- VarGetClassName -> get_idcv_class_name
- VarInt64 -> idcv_int64
- VarLastAttr -> last_idcv_attr
- VarLong -> idcv_long
- VarNextAttr -> next_idcv_attr
- VarNum -> idcv_num
- VarObject -> idcv_object
- VarPrevAttr -> prev_idcv_attr
- VarSetAttr -> set_idcv_attr
- VarString2 -> idcv_string
- VarSwap -> swap_idcvs


### fixup.hpp

Renamed:
- custom_fixup_handler_t -> fixup_handler_t
- get_fixup_base -> fixup_data_t::get_base()
- set_custom_fixup/set_custom_fixup_ex -> fixup_data_t::set_fixup()

Removed:
- get_fixup_extdef_ea -> use fd.get_fixup() + fd.off instead

Added:
- get_fixups


### fpro.h

Renamed:
- qcopyfile64 -> qcopyfile
- qfseek64 -> qfseek
- qftell64 -> qftell

Removed:
- ecreateT

Added:
- qaccess
- qgetline


### frame.hpp

Renamed:
- add_auto_stkpnt2 -> add_auto_stkpnt
- add_stkvar2 -> define_stkvar
- add_stkvar3 -> add_stkvar


### funcs.hpp

Renamed:
- add_regarg2 -> add_regarg
- func_setend -> set_func_end
- func_setstart -> set_func_start
- get_func_limits -> get_func_ranges
- get_func_name2 -> get_func_name
- std_gen_func_header -> outctx_t::gen_func_header

Removed:
- clear_func_struct -> use func_t() instead


### graph.hpp

Renamed:
- clr_node_info2 -> clr_node_info
- del_node_info2 -> del_node_info
- set_node_info2 -> set_node_info

Removed:
- viewer_add_menu_item -> use register_action() / viewer_attach_menu_item() instead


### typeinf.hpp

Changed return type:
- set_named_type
- set_nubmered_type


### module/mapping.cpp

The code present in that file has been moved into the IDA kernel.
(see bytes.hpp for prototypes declarations)


### segregs.hpp

Renamed:
- copy_srranges -> copy_sreg_ranges
- del_srrange -> del_sreg_range
- get_prev_srrange -> get_prev_sreg_range
- get_segreg -> get_sreg
- get_srrange -> get_sreg_range
- get_srrange_num -> get_sreg_range_num
- get_srranges_qty -> get_sreg_ranges_qty
- getn_srrange -> getn_sreg_range
- segreg_range_t -> sreg_range_t
- set_default_segreg_value -> set_default_sreg_value
- split_srrange -> split_sreg_range


### segment.hpp

set_segm_name() now accepts a simple string, not a format string

Renamed:
- ask_selector -> sel2para
- get_segm_name -> get_visible_segm_name
- get_true_segm_name -> get_segm_name


### auto.hpp

Removed:
- autoGetName


### nalt.hpp

Renamed:
- RootNode -> root_node

