From 76a4788ca80deae75c43108142658a1b1fbfbdb7 Mon Sep 17 00:00:00 2001 From: Josh F Date: Thu, 30 Jun 2022 20:26:11 -0400 Subject: Add GetVersionInfo() and BNVersionInfo struct --- binaryninjacore.h | 8 ++++++++ python/__init__.py | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) 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: """ -- cgit v1.3.1