|
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. |
1.8.9.1