summaryrefslogtreecommitdiff
path: root/python/platform.py
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2025-03-30 09:28:34 -0400
committerJordan Wiens <jordan@psifertex.com>2025-03-30 09:28:34 -0400
commit41e5de103243192e864d2455dcad9cbd02f30233 (patch)
treeaaacfc3729c46d12424c87d6cdd10fbbd407bab7 /python/platform.py
parent38c5fa88987e99e9d312382eea8cc629bf5d89c2 (diff)
add example code for Platform
Diffstat (limited to 'python/platform.py')
-rw-r--r--python/platform.py30
1 files changed, 29 insertions, 1 deletions
diff --git a/python/platform.py b/python/platform.py
index 044b5b9d..d7cdabe8 100644
--- a/python/platform.py
+++ b/python/platform.py
@@ -60,7 +60,35 @@ class _PlatformMetaClass(type):
class Platform(metaclass=_PlatformMetaClass):
"""
``class Platform`` contains all information related to the execution environment of the binary, mainly the
- calling conventions used.
+ calling conventions used, the operating system, and the architecture.
+
+ The following example showing the live list of platforms may not match your list. Some platforms are included only
+ with specific versions of Binary Ninja and others are installed by plugins. The bare architecture version of the
+ platform does not include any default ABI/calling convention::
+
+ >>> list(Platform)
+ [<platform: Solana>, <platform: decree-x86>, <platform: efi-aarch64>, <platform: efi-windows-aarch64>,
+ <platform: efi-x86>, <platform: efi-windows-x86>, <platform: efi-x86_64>, <platform: efi-windows-x86_64>,
+ <platform: efi-armv7>, <platform: efi-thumb2>, <platform: freebsd-aarch64>, <platform: freebsd-x86>,
+ <platform: freebsd-x86_64>, <platform: freebsd-armv7>, <platform: freebsd-thumb2>, <platform: ios-aarch64>,
+ <platform: ios-armv7>, <platform: ios-thumb2>, <platform: ios-kernel-aarch64>, <platform: ios-kernel-armv7>,
+ <platform: ios-kernel-thumb2>, <platform: linux-aarch64>, <platform: linux-mcore_le>,
+ <platform: linux-mcore_be>, <platform: linux-csky_le_v1>, <platform: linux-csky_le>, <platform: linux-armv7eb>,
+ <platform: linux-thumb2eb>, <platform: linux-mips>, <platform: linux-mipsel>, <platform: linux-mips3>,
+ <platform: linux-mipsel3>, <platform: linux-mips64>, <platform: linux-cnmips64>, <platform: linux-ppc32>,
+ <platform: linux-ppc64>, <platform: linux-ppc32_le>, <platform: linux-ppc64_le>, <platform: linux-rv32gc>,
+ <platform: linux-rv64gc>, <platform: linux-x86>, <platform: linux-x86_64>, <platform: linux-armv7>,
+ <platform: linux-thumb2>, <platform: mac-aarch64>, <platform: mac-x86>, <platform: mac-x86_64>,
+ <platform: mac-armv7>, <platform: mac-thumb2>, <platform: mac-kernel-aarch64>, <platform: mac-kernel-x86>,
+ <platform: mac-kernel-x86_64>, <platform: mac-kernel-armv7>, <platform: mac-kernel-thumb2>,
+ <platform: vxworks-aarch64>, <platform: vxworks-mips32>, <platform: vxworks-mipsel32>,
+ <platform: vxworks-mips64>, <platform: vxworks-cavium-mips64>, <platform: vxworks-ppc32>,
+ <platform: vxworks-ppc64>, <platform: vxworks-rv32gc>, <platform: vxworks-rv64gc>, <platform: vxworks-x86>,
+ <platform: vxworks-x86_64>, <platform: vxworks-armv7>, <platform: vxworks-thumb2>, <platform: windows-aarch64>,
+ <platform: windows-x86>, <platform: windows-x86_64>, <platform: windows-armv7>, <platform: windows-thumb2>,
+ <platform: windows-kernel-windows-aarch64>, <platform: windows-kernel-x86>, <platform: windows-kernel-x86_64>]
+ >>> thumb2 = Platform["thumb2"]
+
"""
name = None
type_file_path = None # path to platform types file