IDA SDK
|
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 |
size in bytes | |
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... | |
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.
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().
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.
false | the fixup bytes do not fit. The database is changed even in this case. |