Public Attributes | |
void * | context |
void(* | init )(void *context, BNArchitecture *obj) |
BNEndianness(* | getEndianness )(void *ctxt) |
size_t(* | getAddressSize )(void *ctxt) |
size_t(* | getDefaultIntegerSize )(void *ctxt) |
size_t(* | getInstructionAlignment )(void *ctxt) |
size_t(* | getMaxInstructionLength )(void *ctxt) |
size_t(* | getOpcodeDisplayLength )(void *ctxt) |
BNArchitecture *(* | getAssociatedArchitectureByAddress )(void *ctxt, uint64_t *addr) |
bool(* | getInstructionInfo )(void *ctxt, const uint8_t *data, uint64_t addr, size_t maxLen, BNInstructionInfo *result) |
bool(* | getInstructionText )(void *ctxt, const uint8_t *data, uint64_t addr, size_t *len, BNInstructionTextToken **result, size_t *count) |
void(* | freeInstructionText )(BNInstructionTextToken *tokens, size_t count) |
bool(* | getInstructionLowLevelIL )(void *ctxt, const uint8_t *data, uint64_t addr, size_t *len, BNLowLevelILFunction *il) |
char *(* | getRegisterName )(void *ctxt, uint32_t reg) |
char *(* | getFlagName )(void *ctxt, uint32_t flag) |
char *(* | getFlagWriteTypeName )(void *ctxt, uint32_t flags) |
char *(* | getSemanticFlagClassName )(void *ctxt, uint32_t semClass) |
char *(* | getSemanticFlagGroupName )(void *ctxt, uint32_t semGroup) |
uint32_t *(* | getFullWidthRegisters )(void *ctxt, size_t *count) |
uint32_t *(* | getAllRegisters )(void *ctxt, size_t *count) |
uint32_t *(* | getAllFlags )(void *ctxt, size_t *count) |
uint32_t *(* | getAllFlagWriteTypes )(void *ctxt, size_t *count) |
uint32_t *(* | getAllSemanticFlagClasses )(void *ctxt, size_t *count) |
uint32_t *(* | getAllSemanticFlagGroups )(void *ctxt, size_t *count) |
BNFlagRole(* | getFlagRole )(void *ctxt, uint32_t flag, uint32_t semClass) |
uint32_t *(* | getFlagsRequiredForFlagCondition )(void *ctxt, BNLowLevelILFlagCondition cond, uint32_t semClass, size_t *count) |
uint32_t *(* | getFlagsRequiredForSemanticFlagGroup )(void *ctxt, uint32_t semGroup, size_t *count) |
BNFlagConditionForSemanticClass *(* | getFlagConditionsForSemanticFlagGroup )(void *ctxt, uint32_t semGroup, size_t *count) |
void(* | freeFlagConditionsForSemanticFlagGroup )(void *ctxt, BNFlagConditionForSemanticClass *conditions) |
uint32_t *(* | getFlagsWrittenByFlagWriteType )(void *ctxt, uint32_t writeType, size_t *count) |
uint32_t(* | getSemanticClassForFlagWriteType )(void *ctxt, uint32_t writeType) |
size_t(* | getFlagWriteLowLevelIL )(void *ctxt, BNLowLevelILOperation op, size_t size, uint32_t flagWriteType, uint32_t flag, BNRegisterOrConstant *operands, size_t operandCount, BNLowLevelILFunction *il) |
size_t(* | getFlagConditionLowLevelIL )(void *ctxt, BNLowLevelILFlagCondition cond, uint32_t semClass, BNLowLevelILFunction *il) |
size_t(* | getSemanticFlagGroupLowLevelIL )(void *ctxt, uint32_t semGroup, BNLowLevelILFunction *il) |
void(* | freeRegisterList )(void *ctxt, uint32_t *regs) |
void(* | getRegisterInfo )(void *ctxt, uint32_t reg, BNRegisterInfo *result) |
uint32_t(* | getStackPointerRegister )(void *ctxt) |
uint32_t(* | getLinkRegister )(void *ctxt) |
uint32_t *(* | getGlobalRegisters )(void *ctxt, size_t *count) |
uint32_t *(* | getSystemRegisters )(void *ctxt, size_t *count) |
char *(* | getRegisterStackName )(void *ctxt, uint32_t regStack) |
uint32_t *(* | getAllRegisterStacks )(void *ctxt, size_t *count) |
void(* | getRegisterStackInfo )(void *ctxt, uint32_t regStack, BNRegisterStackInfo *result) |
char *(* | getIntrinsicName )(void *ctxt, uint32_t intrinsic) |
uint32_t *(* | getAllIntrinsics )(void *ctxt, size_t *count) |
BNNameAndType *(* | getIntrinsicInputs )(void *ctxt, uint32_t intrinsic, size_t *count) |
void(* | freeNameAndTypeList )(void *ctxt, BNNameAndType *nt, size_t count) |
BNTypeWithConfidence *(* | getIntrinsicOutputs )(void *ctxt, uint32_t intrinsic, size_t *count) |
void(* | freeTypeList )(void *ctxt, BNTypeWithConfidence *types, size_t count) |
bool(* | canAssemble )(void *ctxt) |
bool(* | assemble )(void *ctxt, const char *code, uint64_t addr, BNDataBuffer *result, char **errors) |
bool(* | isNeverBranchPatchAvailable )(void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* | isAlwaysBranchPatchAvailable )(void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* | isInvertBranchPatchAvailable )(void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* | isSkipAndReturnZeroPatchAvailable )(void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* | isSkipAndReturnValuePatchAvailable )(void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* | convertToNop )(void *ctxt, uint8_t *data, uint64_t addr, size_t len) |
bool(* | alwaysBranch )(void *ctxt, uint8_t *data, uint64_t addr, size_t len) |
bool(* | invertBranch )(void *ctxt, uint8_t *data, uint64_t addr, size_t len) |
bool(* | skipAndReturnValue )(void *ctxt, uint8_t *data, uint64_t addr, size_t len, uint64_t value) |
bool(* BNCustomArchitecture::alwaysBranch) (void *ctxt, uint8_t *data, uint64_t addr, size_t len) |
bool(* BNCustomArchitecture::assemble) (void *ctxt, const char *code, uint64_t addr, BNDataBuffer *result, char **errors) |
bool(* BNCustomArchitecture::canAssemble) (void *ctxt) |
void* BNCustomArchitecture::context |
bool(* BNCustomArchitecture::convertToNop) (void *ctxt, uint8_t *data, uint64_t addr, size_t len) |
void(* BNCustomArchitecture::freeFlagConditionsForSemanticFlagGroup) (void *ctxt, BNFlagConditionForSemanticClass *conditions) |
void(* BNCustomArchitecture::freeInstructionText) (BNInstructionTextToken *tokens, size_t count) |
void(* BNCustomArchitecture::freeNameAndTypeList) (void *ctxt, BNNameAndType *nt, size_t count) |
void(* BNCustomArchitecture::freeRegisterList) (void *ctxt, uint32_t *regs) |
void(* BNCustomArchitecture::freeTypeList) (void *ctxt, BNTypeWithConfidence *types, size_t count) |
size_t(* BNCustomArchitecture::getAddressSize) (void *ctxt) |
uint32_t *(* BNCustomArchitecture::getAllFlags) (void *ctxt, size_t *count) |
uint32_t *(* BNCustomArchitecture::getAllFlagWriteTypes) (void *ctxt, size_t *count) |
uint32_t *(* BNCustomArchitecture::getAllIntrinsics) (void *ctxt, size_t *count) |
uint32_t *(* BNCustomArchitecture::getAllRegisters) (void *ctxt, size_t *count) |
uint32_t *(* BNCustomArchitecture::getAllRegisterStacks) (void *ctxt, size_t *count) |
uint32_t *(* BNCustomArchitecture::getAllSemanticFlagClasses) (void *ctxt, size_t *count) |
uint32_t *(* BNCustomArchitecture::getAllSemanticFlagGroups) (void *ctxt, size_t *count) |
BNArchitecture *(* BNCustomArchitecture::getAssociatedArchitectureByAddress) (void *ctxt, uint64_t *addr) |
size_t(* BNCustomArchitecture::getDefaultIntegerSize) (void *ctxt) |
BNEndianness(* BNCustomArchitecture::getEndianness) (void *ctxt) |
size_t(* BNCustomArchitecture::getFlagConditionLowLevelIL) (void *ctxt, BNLowLevelILFlagCondition cond, uint32_t semClass, BNLowLevelILFunction *il) |
BNFlagConditionForSemanticClass *(* BNCustomArchitecture::getFlagConditionsForSemanticFlagGroup) (void *ctxt, uint32_t semGroup, size_t *count) |
char *(* BNCustomArchitecture::getFlagName) (void *ctxt, uint32_t flag) |
BNFlagRole(* BNCustomArchitecture::getFlagRole) (void *ctxt, uint32_t flag, uint32_t semClass) |
uint32_t *(* BNCustomArchitecture::getFlagsRequiredForFlagCondition) (void *ctxt, BNLowLevelILFlagCondition cond, uint32_t semClass, size_t *count) |
uint32_t *(* BNCustomArchitecture::getFlagsRequiredForSemanticFlagGroup) (void *ctxt, uint32_t semGroup, size_t *count) |
uint32_t *(* BNCustomArchitecture::getFlagsWrittenByFlagWriteType) (void *ctxt, uint32_t writeType, size_t *count) |
size_t(* BNCustomArchitecture::getFlagWriteLowLevelIL) (void *ctxt, BNLowLevelILOperation op, size_t size, uint32_t flagWriteType, uint32_t flag, BNRegisterOrConstant *operands, size_t operandCount, BNLowLevelILFunction *il) |
char *(* BNCustomArchitecture::getFlagWriteTypeName) (void *ctxt, uint32_t flags) |
uint32_t *(* BNCustomArchitecture::getFullWidthRegisters) (void *ctxt, size_t *count) |
uint32_t *(* BNCustomArchitecture::getGlobalRegisters) (void *ctxt, size_t *count) |
size_t(* BNCustomArchitecture::getInstructionAlignment) (void *ctxt) |
bool(* BNCustomArchitecture::getInstructionInfo) (void *ctxt, const uint8_t *data, uint64_t addr, size_t maxLen, BNInstructionInfo *result) |
bool(* BNCustomArchitecture::getInstructionLowLevelIL) (void *ctxt, const uint8_t *data, uint64_t addr, size_t *len, BNLowLevelILFunction *il) |
bool(* BNCustomArchitecture::getInstructionText) (void *ctxt, const uint8_t *data, uint64_t addr, size_t *len, BNInstructionTextToken **result, size_t *count) |
BNNameAndType *(* BNCustomArchitecture::getIntrinsicInputs) (void *ctxt, uint32_t intrinsic, size_t *count) |
char *(* BNCustomArchitecture::getIntrinsicName) (void *ctxt, uint32_t intrinsic) |
BNTypeWithConfidence *(* BNCustomArchitecture::getIntrinsicOutputs) (void *ctxt, uint32_t intrinsic, size_t *count) |
uint32_t(* BNCustomArchitecture::getLinkRegister) (void *ctxt) |
size_t(* BNCustomArchitecture::getMaxInstructionLength) (void *ctxt) |
size_t(* BNCustomArchitecture::getOpcodeDisplayLength) (void *ctxt) |
void(* BNCustomArchitecture::getRegisterInfo) (void *ctxt, uint32_t reg, BNRegisterInfo *result) |
char *(* BNCustomArchitecture::getRegisterName) (void *ctxt, uint32_t reg) |
void(* BNCustomArchitecture::getRegisterStackInfo) (void *ctxt, uint32_t regStack, BNRegisterStackInfo *result) |
char *(* BNCustomArchitecture::getRegisterStackName) (void *ctxt, uint32_t regStack) |
uint32_t(* BNCustomArchitecture::getSemanticClassForFlagWriteType) (void *ctxt, uint32_t writeType) |
char *(* BNCustomArchitecture::getSemanticFlagClassName) (void *ctxt, uint32_t semClass) |
size_t(* BNCustomArchitecture::getSemanticFlagGroupLowLevelIL) (void *ctxt, uint32_t semGroup, BNLowLevelILFunction *il) |
char *(* BNCustomArchitecture::getSemanticFlagGroupName) (void *ctxt, uint32_t semGroup) |
uint32_t(* BNCustomArchitecture::getStackPointerRegister) (void *ctxt) |
uint32_t *(* BNCustomArchitecture::getSystemRegisters) (void *ctxt, size_t *count) |
void(* BNCustomArchitecture::init) (void *context, BNArchitecture *obj) |
bool(* BNCustomArchitecture::invertBranch) (void *ctxt, uint8_t *data, uint64_t addr, size_t len) |
bool(* BNCustomArchitecture::isAlwaysBranchPatchAvailable) (void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* BNCustomArchitecture::isInvertBranchPatchAvailable) (void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* BNCustomArchitecture::isNeverBranchPatchAvailable) (void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* BNCustomArchitecture::isSkipAndReturnValuePatchAvailable) (void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* BNCustomArchitecture::isSkipAndReturnZeroPatchAvailable) (void *ctxt, const uint8_t *data, uint64_t addr, size_t len) |
bool(* BNCustomArchitecture::skipAndReturnValue) (void *ctxt, uint8_t *data, uint64_t addr, size_t len, uint64_t value) |