IDA SDK

- Main Page
- Header Files
- Classes
- Modules

- Namespace Members

Enumerations
idb_event Namespace Reference

## Detailed Description

IDB event group.

Some events are still in the processor group, so you will need to hook to both groups. These events do not return anything.

The callback function should return 0 but the kernel won't check it. Use the hook_to_notification_point() function to install your callback.

## Enumerations
enum | event_code_t { byte_patched, cmt_changed, ti_changed, op_ti_changed, op_type_changed, enum_created, enum_deleted, enum_bf_changed, enum_renamed, enum_cmt_changed, enum_member_created, enum_member_deleted, struc_created, struc_deleted, struc_renamed, struc_expanded, struc_cmt_changed, struc_member_created, struc_member_deleted, struc_member_renamed, struc_member_changed, thunk_func_created, func_tail_appended, func_tail_removed, tail_owner_changed, func_noret_changed, segm_added, segm_deleted, segm_start_changed, segm_end_changed, segm_moved, area_cmt_changed, changing_cmt, changing_ti, changing_op_ti, changing_op_type, deleting_enum, changing_enum_bf, renaming_enum, changing_enum_cmt, deleting_enum_member, deleting_struc, renaming_struc, expanding_struc, changing_struc_cmt, deleting_struc_member, renaming_struc_member, changing_struc_member, removing_func_tail, deleting_segm, changing_segm_start, changing_segm_end, changing_area_cmt, changing_segm_name, changing_segm_class, segm_name_changed, segm_class_changed, destroyed_items, changed_stkpnts, extra_cmt_changed, changing_struc, changed_struc, local_types_changed, segm_attrs_changed, allsegs_moved }
| IDB event codes. More...

## Enumeration Type Documentation

enum idb_event::event_code_t

IDB event codes.

Enumerator
  byte_patched | A byte has been patched. Parameters
  ea | (ea_t)
  old_value | (uint32)
  cmt_changed | An item comment has been changed. Parameters
  ea | (ea_t)
  repeatable_cmt | (bool)
  ti_changed | An item typestring (c/c++ prototype) has been changed. Parameters
  ea | (ea_t)
  type | (const type_t *)
  fnames | (const p_list *)
  op_ti_changed | An operand typestring (c/c++ prototype) has been changed. Parameters
  ea | (ea_t)
  n | (int)
  type | (const type_t *)
  fnames | (const p_list *)
  op_type_changed | An operand type (offset, hex, etc...) has been set or deleted. Parameters
  ea | (ea_t)
  n | (int) eventually or'ed with OPND_OUTER
  enum_created | An enum type has been created. Parameters
  id | (enum_t)
  enum_deleted | An enum type has been deleted. Parameters
  id | (enum_t)
  enum_bf_changed | An enum type 'bitfield' attribute has been changed. Parameters
  id | (enum_t)
  enum_renamed | An enum or member has been renamed. Parameters
  id | (tid_t)
  enum_cmt_changed | An enum or member type comment has been changed. Parameters
  id | (tid_t)
  repeatable | (bool)
  enum_member_created | An enum member has been created. Parameters
  id | (enum_t)
  cid | (const_t)
  enum_member_deleted | An enum member has been deleted. Parameters
  id | (enum_t)
  cid | (const_t)
  struc_created | A new structure type has been created. Parameters
  struc_id | (tid_t)
  struc_deleted | A structure type has been deleted. Parameters
  struc_id | (tid_t)
  struc_renamed | A structure type has been renamed. Parameters
  sptr | (struc_t *)
  struc_expanded | A structure type has been expanded/shrank. Parameters
  sptr | (struc_t *)
  struc_cmt_changed | A structure type comment has been changed. Parameters
  struc_id | (tid_t)
  repeatable_cmt | (bool)
  struc_member_created | A structure member has been created. Parameters
  sptr | (struc_t *)
  mptr | (member_t *)
  struc_member_deleted | A structure member has been deleted. Parameters
  sptr | (struc_t *)
  member_id | (tid_t)
  offset | (ea_t)
  struc_member_renamed | A structure member has been renamed. Parameters
  sptr | (struc_t *)
  mptr | (member_t *)
  struc_member_changed | A structure member has been changed. Parameters
  sptr | (struc_t *)
  mptr | (member_t *)
  thunk_func_created | A thunk bit has been set for a function. Parameters
  pfn | (func_t *)
  func_tail_appended | A function tail chunk has been appended. Parameters
  pfn | (func_t *)
  tail | (func_t *)
  func_tail_removed | A function tail chunk has been removed. Parameters
  pfn | (func_t *)
  tail_ea | (ea_t)
  tail_owner_changed | A tail chunk owner has been changed. Parameters
  tail | (func_t *)
  owner_func | (ea_t)
  old_owner | (ea_t)
  func_noret_changed | FUNC_NORET bit has been changed. Parameters
  pfn | (func_t *)
  segm_added | A new segment has been created. Parameters
  s | (segment_t *)
  segm_deleted | A segment has been deleted. Parameters
  startEA | (ea_t)
  endEA | (ea_t)
  segm_start_changed | Segment start address has been changed. Parameters
  s | (segment_t *)
  oldstart | (ea_t)
  segm_end_changed | Segment end address has been changed. Parameters
  s | (segment_t *)
  oldend | (ea_t)
  segm_moved | Segment has been moved. Parameters
  from | (ea_t)
  to | (ea_t)
  size | (asize_t) See also idb_event::allsegs_moved
  area_cmt_changed | Area comment has been changed. Parameters
  cb | (areacb_t *) may be: &funcs, &segs, etc.
  a | (const area_t *)
  cmt | (const char *)
  repeatable | (bool)
  changing_cmt | An item comment is to be changed. Parameters
  ea | (ea_t)
  repeatable_cmt | (bool)
  newcmt | (const char *)
  changing_ti | An item typestring (c/c++ prototype) is to be changed. Parameters
  ea | (ea_t)
  new_type | (const type_t *)
  new_fnames | (const p_list *)
  changing_op_ti | An operand typestring (c/c++ prototype) is to be changed. Parameters
  ea | (ea_t)
  n | (int)
  new_type | (const type_t *)
  new_fnames | (const p_list *)
  changing_op_type | An operand type (offset, hex, etc...) is to be changed. Parameters
  ea | (ea_t)
  n | (int) eventually or'ed with OPND_OUTER
  deleting_enum | An enum type is to be deleted. Parameters
  id | (enum_t)
  changing_enum_bf | An enum type 'bitfield' attribute is to be changed. Parameters
  id | (enum_t)
  new_bf | (bool)
  renaming_enum | An enum or enum member is to be renamed. Parameters
  id | (tid_t)
  is_enum | (bool)
  newname | (const char *)
  changing_enum_cmt | An enum or member type comment is to be changed. Parameters
  id | (tid_t)
  repeatable | (bool)
  newcmt | (const char *)
  deleting_enum_member | An enum member is to be deleted. Parameters
  id | (enum_t)
  cid | (const_t)
  deleting_struc | A structure type is to be deleted. Parameters
  sptr | (struc_t *)
  renaming_struc | A structure type is to be renamed. Parameters
  id | (tid_t)
  oldname | (const char *)
  newname | (const char *)
  expanding_struc | A structure type is to be expanded/shrunk. Parameters
  sptr | (struc_t *)
  offset | (ea_t)
  delta | (adiff_t)
  changing_struc_cmt | A structure type comment is to be changed. Parameters
  struc_id | (tid_t)
  repeatable | (bool)
  newcmt | (const char *)
  deleting_struc_member | A structure member is to be deleted. Parameters
  sptr | (struc_t *)
  mptr | (member_t *)
  renaming_struc_member | A structure member is to be renamed. Parameters
  sptr | (struc_t *)
  mptr | (member_t *)
  newname | (const char *)
  changing_struc_member | A structure member is to be changed. Parameters
  sptr | (struc_t *)
  mptr | (member_t *)
  flag | (flags_t)
  ti | (const opinfo_t *)
  nbytes | (asize_t)
  removing_func_tail | A function tail chunk is to be removed. Parameters
  pfn | (func_t *)
  tail | (const area_t *)
  deleting_segm | A segment is to be deleted. Parameters
  startEA | (ea_t)
  changing_segm_start | Segment start address is to be changed. Parameters
  s | (segment_t *)
  new_start | (ea_t)
  segmod_flags | (int)
  changing_segm_end | Segment end address is to be changed. Parameters
  s | (segment_t *)
  new_end | (ea_t)
  segmod_flags | (int)
  changing_area_cmt | Area comment is to be changed. Parameters
  cb | (areacb_t *)
  a | (const area_t *)
  cmt | (const char *)
  repeatable | (bool)
  changing_segm_name | Segment name is being changed. Parameters
  s | (segment_t *)
  oldname | (const char *)
  changing_segm_class | Segment class is being changed. Parameters
  s | (segment_t *)
  segm_name_changed | Segment name has been changed. Parameters
  s | (segment_t *)
  name | (const char *)
  segm_class_changed | Segment class has been changed. Parameters
  s | (segment_t *)
  sclass | (const char *)
  destroyed_items | Instructions/data have been destroyed in [ea1,ea2). Parameters
  ea1 | (ea_t)
  ea2 | (ea_t)
  will_disable_range | (bool)
  changed_stkpnts | Stack change points have been modified. Parameters
  pfn | (func_t *)
  extra_cmt_changed | An extra comment has been changed. Parameters
  ea | (ea_t)
  line_idx | (int)
  cmt | (const char *)
  changing_struc | A structure type is being changed (the struct alignment). Parameters
  sptr | (struc_t *)
  changed_struc | A structure type has been changed (the struct alignment). Parameters
  sptr | (struc_t *)
local_types_changed | Local types have been changed.
  segm_attrs_changed | Segment attributes has been changed. Parameters
  s | (segment_t *) This event is generated for secondary segment attributes (examples: color, permissions, etc)
  allsegs_moved | Program rebasing is complete. This event is generated after series of segm_moved events Parameters
  info | (::segm_move_infos_t *)