From 4c242707996e94877d3e2762a2ef88835e98abbc Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Thu, 17 Nov 2022 17:19:34 -0500 Subject: Type library C++ api & import recording --- binaryninjacore.h | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'binaryninjacore.h') diff --git a/binaryninjacore.h b/binaryninjacore.h index d5655a09..0849a35d 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -150,13 +150,13 @@ #else #define BN_HAVE_ATTRIBUTE(x) 0 #endif - -#if BN_HAVE_ATTRIBUTE(format) || (defined(__GNUC__) && !defined(__clang__)) - #define BN_PRINTF_ATTRIBUTE(string_index, first_to_check) \ - __attribute__((format(__printf__, string_index, first_to_check))) -#else +// +//#if BN_HAVE_ATTRIBUTE(format) || (defined(__GNUC__) && !defined(__clang__)) +// #define BN_PRINTF_ATTRIBUTE(string_index, first_to_check) \ +// __attribute__((format(__printf__, string_index, first_to_check))) +//#else #define BN_PRINTF_ATTRIBUTE(string_index, first_to_check) -#endif +//#endif #ifdef __cplusplus @@ -5200,15 +5200,20 @@ extern "C" BINARYNINJACOREAPI BNTypeLibrary** BNGetBinaryViewTypeLibraries(BNBinaryView* view, size_t* count); BINARYNINJACOREAPI BNType* BNBinaryViewImportTypeLibraryType( - BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name); + BNBinaryView* view, BNTypeLibrary** lib, BNQualifiedName* name); BINARYNINJACOREAPI BNType* BNBinaryViewImportTypeLibraryObject( - BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name); + BNBinaryView* view, BNTypeLibrary** lib, BNQualifiedName* name); BINARYNINJACOREAPI void BNBinaryViewExportTypeToTypeLibrary( BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name, BNType* type); BINARYNINJACOREAPI void BNBinaryViewExportObjectToTypeLibrary( BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name, BNType* type); + BINARYNINJACOREAPI void BNBinaryViewRecordImportedObjectLibrary( + BNBinaryView* view, BNPlatform* tgtPlatform, uint64_t tgtAddr, BNTypeLibrary* lib, BNQualifiedName* name); + BINARYNINJACOREAPI bool BNBinaryViewLookupImportedObjectLibrary( + BNBinaryView* view, BNPlatform* tgtPlatform, uint64_t tgtAddr, BNTypeLibrary** lib, BNQualifiedName* name); + // Language Representation BINARYNINJACOREAPI BNLanguageRepresentationFunction* BNCreateLanguageRepresentationFunction( BNArchitecture* arch, BNFunction* func); @@ -5766,7 +5771,7 @@ extern "C" BINARYNINJACOREAPI BNTypeLibrary** BNGetPlatformTypeLibraries(BNPlatform* platform, size_t* count); BINARYNINJACOREAPI BNTypeLibrary** BNGetPlatformTypeLibrariesByName( - BNPlatform* platform, char* depName, size_t* count); + BNPlatform* platform, const char* depName, size_t* count); // Demangler BINARYNINJACOREAPI bool BNDemangleMS(BNArchitecture* arch, const char* mangledName, BNType** outType, -- cgit v1.3.1