IDA C++ SDK 9.2
|
Implements the core behavior of a custom fixup. More...
#include <fixup.hpp>
Public Member Functions | |
bool | is_signed () const |
Is the operand value signed? | |
bool (idaapi *apply)(const fixup_handler_t *fh | |
Apply a fixup: take it into account while analyzing the file. | |
uval_t (idaapi *get_value)(const fixup_handler_t *fh | |
Get the operand value. | |
bool (idaapi *patch_value)(const fixup_handler_t *fh | |
Patch the fixup bytes. | |
DECLARE_COMPARISONS (fixup_handler_t) |
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. | |
uint8 | width |
number of significant bits before shifting | |
uint8 | shift |
number of bits to shift right before patching. | |
uint8 | rsrv4 |
uint32 | reftype |
reference info type and flags, std_apply() produces an offset of this type | |
ea_t | item_ea |
ea_t ea_t | fixup_ea |
ea_t ea_t int | opnum |
ea_t ea_t int bool | is_macro |
ea_t ea_t int bool const fixup_data_t & | fd |
ea_t | ea |
ea_t const fixup_data_t & | fd |
Implements the core behavior of a custom fixup.
|
inline |
Is the operand value signed?
fixup_handler_t::bool | ( | idaapi * | apply | ) | const |
Apply a fixup: take it into account while analyzing the file.
Usually it consists of converting the operand into an offset expression.
fixup_handler_t::uval_t | ( | idaapi * | get_value | ) | const |
Get the operand value.
This callback is called from get_fixup_value().
fixup_handler_t::bool | ( | idaapi * | patch_value | ) | const |
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. |
fixup_handler_t::DECLARE_COMPARISONS | ( | fixup_handler_t | ) |
int32 fixup_handler_t::cbsize |
size of this structure
const char* fixup_handler_t::name |
Format name, must be unique.
uint32 fixup_handler_t::props |
ea_t fixup_handler_t::item_ea |
ea_t ea_t int bool const fixup_data_t& fixup_handler_t::fd |
ea_t fixup_handler_t::ea |
ea_t const fixup_data_t& fixup_handler_t::fd |