fixup_handler_t Struct Reference
Implements the core behavior of a custom fixup. More...
#include <fixup.hpp>
Public Member Functions | |
bool | is_signed () const |
Is the operand value signed? | |
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... | |
Detailed Description
Implements the core behavior of a custom fixup.
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:
Generated by 1.9.3