| IDA SDK

Public Attributes | Public Member Functions | List of all members
fixup_handler_t Struct Reference

## Detailed Description

Implements the core behavior of a custom fixup.

## Public Attributes
int32 | cbsize
| size of this structure
const char * | name
| Format name, must be unique.
uint32 | props
| Fixup handler properties
uint8 | size
| The examples below show how these options work. More...
uint8 | width
| number of significant bits before shifting
uint8 | shift
| number of bits to shift right before patching. More...
uint8 | rsrv4
uint32 | reftype
| reference info type and flags, std_apply() produces an offset of this type
bool(idaapi * | apply )(const fixup_handler_t *fh, ea_t item_ea, ea_t fixup_ea, int opnum, bool is_macro, const fixup_data_t &fd)
| Apply a fixup: take it into account while analyzing the file. More...
uval_t(idaapi * | get_value )(const fixup_handler_t *fh, ea_t ea)
| Get the operand value. More...
bool(idaapi * | patch_value )(const fixup_handler_t *fh, ea_t ea, const fixup_data_t &fd)
| Patch the fixup bytes. More...

## Public Member Functions
bool | is_signed () const
| Is the operand value signed?

## Member Data Documentation

## ◆ apply

bool(idaapi * fixup_handler_t::apply) (const fixup_handler_t *fh, ea_t item_ea, ea_t fixup_ea, int opnum, bool is_macro, const fixup_data_t &fd)

Apply a fixup: take it into account while analyzing the file.

Usually it consists of converting the operand into an offset expression.

See also
  apply_fixup() If this callback is not specified then std_apply() is used.

## ◆ get_value

uval_t(idaapi * fixup_handler_t::get_value) (const fixup_handler_t *fh, ea_t ea)

Get the operand value.

This callback is called from get_fixup_value().

See also
  get_fixup_value() If this callback is not specified then std_get_value() is used.

## ◆ patch_value

bool(idaapi * fixup_handler_t::patch_value) (const fixup_handler_t *fh, ea_t ea, const fixup_data_t &fd)

Patch the fixup bytes.

This callback is called from patch_fixup_value() or after changing the fixup (e.g. after it was moved from one location to another). If this callback is not specified then std_patch_value() is used.

See also
  patch_fixup_value()

Return values

  false | the fixup bytes do not fit. The database is changed even in this case.

The documentation for this struct was generated from the following file:

- fixup.hpp