diff options
| author | Josh F <josh@vector35.com> | 2022-06-30 20:26:11 -0400 |
|---|---|---|
| committer | Josh F <josh@vector35.com> | 2022-06-30 20:26:11 -0400 |
| commit | 76a4788ca80deae75c43108142658a1b1fbfbdb7 (patch) | |
| tree | 82f2f00d34059f5d1e5cdb509feb8f7085f4aaac | |
| parent | 6e282b0e11fa15e9aacddf52f0fedb5ab2f13bbc (diff) | |
Add GetVersionInfo() and BNVersionInfo struct
| -rw-r--r-- | binaryninjacore.h | 8 | ||||
| -rw-r--r-- | python/__init__.py | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index a7ec092c..d092a8bd 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -2834,6 +2834,13 @@ extern "C" bool (*deleteData)(void* ctxt, const char* key); }; + struct BNVersionInfo + { + uint32_t major; + uint32_t minor; + uint32_t build; + }; + BINARYNINJACOREAPI char* BNAllocString(const char* contents); BINARYNINJACOREAPI void BNFreeString(char* str); BINARYNINJACOREAPI char** BNAllocStringList(const char** contents, size_t size); @@ -2842,6 +2849,7 @@ extern "C" BINARYNINJACOREAPI void BNShutdown(void); BINARYNINJACOREAPI bool BNIsShutdownRequested(void); + BINARYNINJACOREAPI BNVersionInfo BNGetVersionInfo(void); BINARYNINJACOREAPI char* BNGetVersionString(void); BINARYNINJACOREAPI uint32_t BNGetBuildId(void); BINARYNINJACOREAPI uint32_t BNGetCurrentCoreABIVersion(void); diff --git a/python/__init__.py b/python/__init__.py index 60b739e7..d3ace754 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -89,6 +89,13 @@ def shutdown(): atexit.register(shutdown) +@dataclass +class CoreVersionInfo: + major: int + minor: int + build: int + + def get_unique_identifier(): return core.BNGetUniqueIdentifierString() @@ -206,6 +213,15 @@ def core_version() -> Optional[str]: """ return core.BNGetVersionString() +def core_version_info() -> CoreVersionInfo: + """ + ``core_version_info`` returns a CoreVersionInfo containing the current version information + + :return: current version information + :rtype: CoreVersionInfo + """ + handle = core.BNGetVersionInfo() + return CoreVersionInfo(major=handle.major, minor=handle.minor, build=handle.build) def core_build_id() -> int: """ |
