diff options
| author | Glenn Smith <glenn@vector35.com> | 2024-05-28 18:53:17 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2024-06-04 00:29:48 -0400 |
| commit | 6520026964065327558472841838510176646568 (patch) | |
| tree | 6a124b7d6aa5efdfafc43fbb2ccaf3af23d35ff2 /binaryninjacore.h | |
| parent | 5c7ab961657c6bcfc58c84cf93f850bdb102a425 (diff) | |
Add AdjustTypeParserArguments callback to platform
Implementing the solution to #4868
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index a7b968e6..77471530 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -1882,6 +1882,29 @@ extern "C" void (*freeRegisterList)(void* ctxt, uint32_t* regs, size_t len); BNType* (*getGlobalRegisterType)(void* ctxt, uint32_t reg); + + void (*adjustTypeParserInput)( + void* ctxt, + BNTypeParser* parser, + const char* const* argumentsIn, + size_t argumentsLenIn, + const char* const* sourceFileNamesIn, + const char* const* sourceFileValuesIn, + size_t sourceFilesLenIn, + char*** argumentsOut, + size_t* argumentsLenOut, + char*** sourceFileNamesOut, + char*** sourceFileValuesOut, + size_t* sourceFilesLenOut + ); + void (*freeTypeParserInput)( + void* ctxt, + char** arguments, + size_t argumentsLen, + char** sourceFileNames, + char** sourceFileValues, + size_t sourceFilesLen + ); } BNCustomPlatform; typedef struct BNBasicBlockEdge @@ -6408,6 +6431,20 @@ extern "C" BINARYNINJACOREAPI uint32_t* BNGetPlatformGlobalRegisters(BNPlatform* platform, size_t* count); BINARYNINJACOREAPI BNType* BNGetPlatformGlobalRegisterType(BNPlatform* platform, uint32_t reg); + BINARYNINJACOREAPI void BNPlatformAdjustTypeParserInput( + BNPlatform* platform, + BNTypeParser* parser, + const char* const* argumentsIn, + size_t argumentsLenIn, + const char* const* sourceFileNamesIn, + const char* const* sourceFileValuesIn, + size_t sourceFilesLenIn, + char*** argumentsOut, + size_t* argumentsLenOut, + char*** sourceFileNamesOut, + char*** sourceFileValuesOut, + size_t* sourceFilesLenOut + ); BINARYNINJACOREAPI BNPlatform* BNGetArchitectureStandalonePlatform(BNArchitecture* arch); |
