From 13491e5eb8d50c242cf6858b111e404ea9f79239 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Fri, 22 Jul 2016 03:00:52 -0400 Subject: Add API to set type of function --- binaryninjacore.h | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'binaryninjacore.h') diff --git a/binaryninjacore.h b/binaryninjacore.h index ac4fa0a3..837a99e1 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -161,17 +161,18 @@ extern "C" FloatingPointToken = 8, AnnotationToken = 9, CodeRelativeAddressToken = 10, - VariableTypeToken = 11, - FunctionReturnTypeToken = 12, - FunctionAttributeToken = 13, - ArgumentTypeToken = 14, - ArgumentNameToken = 15, - HexDumpByteValueToken = 16, - HexDumpSkippedByteToken = 17, - HexDumpInvalidByteToken = 18, - HexDumpTextToken = 19, - OpcodeToken = 20, - StringToken = 21, + StackVariableTypeToken = 11, + DataVariableTypeToken = 12, + FunctionReturnTypeToken = 13, + FunctionAttributeToken = 14, + ArgumentTypeToken = 15, + ArgumentNameToken = 16, + HexDumpByteValueToken = 17, + HexDumpSkippedByteToken = 18, + HexDumpInvalidByteToken = 19, + HexDumpTextToken = 20, + OpcodeToken = 21, + StringToken = 22, // The following are output by the analysis system automatically, these should // not be used directly by the architecture plugins @@ -1309,6 +1310,8 @@ extern "C" BINARYNINJACOREAPI BNSymbol* BNGetFunctionSymbol(BNFunction* func); BINARYNINJACOREAPI bool BNWasFunctionAutomaticallyDiscovered(BNFunction* func); BINARYNINJACOREAPI bool BNCanFunctionReturn(BNFunction* func); + BINARYNINJACOREAPI void BNSetFunctionAutoType(BNFunction* func, BNType* type); + BINARYNINJACOREAPI void BNSetFunctionUserType(BNFunction* func, BNType* type); BINARYNINJACOREAPI char* BNGetCommentForAddress(BNFunction* func, uint64_t addr); BINARYNINJACOREAPI uint64_t* BNGetCommentedAddresses(BNFunction* func, size_t* count); @@ -1452,6 +1455,9 @@ extern "C" BINARYNINJACOREAPI void BNFreeDataVariables(BNDataVariable* vars, size_t count); BINARYNINJACOREAPI bool BNGetDataVariableAtAddress(BNBinaryView* view, uint64_t addr, BNDataVariable* var); + BINARYNINJACOREAPI bool BNParseTypeString(BNBinaryView* view, const char* text, BNNameAndType* result, char** errors); + BINARYNINJACOREAPI void BNFreeNameAndType(BNNameAndType* obj); + // Disassembly settings BINARYNINJACOREAPI BNDisassemblySettings* BNCreateDisassemblySettings(void); BINARYNINJACOREAPI BNDisassemblySettings* BNNewDisassemblySettingsReference(BNDisassemblySettings* settings); -- cgit v1.3.1