|
| | CorePlatform (BNPlatform *plat) |
| |
| virtual std::vector< uint32_t > | GetGlobalRegisters () override |
| | Get the global register list for this Platform.
|
| |
| virtual Ref< Type > | GetGlobalRegisterType (uint32_t reg) override |
| | Get the type of a global register.
|
| |
| virtual void | AdjustTypeParserInput (Ref< class TypeParser > parser, std::vector< std::string > &arguments, std::vector< std::pair< std::string, std::string > > &sourceFiles) override |
| | Modify the input passed to the Type Parser with Platform-specific features.
|
| |
| virtual size_t | GetAddressSize () const override |
| | Get the address size for this platform.
|
| |
| | Platform (BNPlatform *platform) |
| |
| Ref< Architecture > | GetArchitecture () const |
| | Get the Architecture for this platform.
|
| |
| std::string | GetName () const |
| | Get the name of this platform.
|
| |
| Ref< CallingConvention > | GetDefaultCallingConvention () const |
| | Get the default calling convention for this platform.
|
| |
| Ref< CallingConvention > | GetCdeclCallingConvention () const |
| | Get the cdecl CallingConvention.
|
| |
| Ref< CallingConvention > | GetStdcallCallingConvention () const |
| | Get the stdcall CallingConvention.
|
| |
| Ref< CallingConvention > | GetFastcallCallingConvention () const |
| | Get the fastcall CallingConvention.
|
| |
| std::vector< Ref< CallingConvention > > | GetCallingConventions () const |
| | Get the list of registered calling conventions.
|
| |
| Ref< CallingConvention > | GetSystemCallConvention () const |
| | Get the syscall calling convention.
|
| |
| void | RegisterCallingConvention (CallingConvention *cc) |
| | Register a Calling Convention.
|
| |
| void | RegisterDefaultCallingConvention (CallingConvention *cc) |
| | Set the default calling convention.
|
| |
| void | RegisterCdeclCallingConvention (CallingConvention *cc) |
| | Set the cdecl calling convention.
|
| |
| void | RegisterStdcallCallingConvention (CallingConvention *cc) |
| | Set the stdcall calling convention.
|
| |
| void | RegisterFastcallCallingConvention (CallingConvention *cc) |
| | Set the fastcall calling convention.
|
| |
| void | SetSystemCallConvention (CallingConvention *cc) |
| | Set the syscall calling convention.
|
| |
| virtual void | BinaryViewInit (BinaryView *view) |
| | Callback that will be called when the platform of a binaryview is set.
|
| |
| virtual bool | GetFallbackEnabled () |
| | Provide an option for platforms to decide whether to use the fallback type library.
|
| |
| Ref< Platform > | GetRelatedPlatform (Architecture *arch) |
| |
| void | AddRelatedPlatform (Architecture *arch, Platform *platform) |
| |
| std::vector< Ref< Platform > > | GetRelatedPlatforms () |
| | Get the list of related platforms for this platform.
|
| |
| Ref< Platform > | GetAssociatedPlatformByAddress (uint64_t &addr) |
| |
| std::map< QualifiedName, Ref< Type > > | GetTypes () |
| | Get the list of platform-specific types.
|
| |
| std::map< QualifiedName, Ref< Type > > | GetVariables () |
| | Get the list of platform-specific variable definitions.
|
| |
| std::map< QualifiedName, Ref< Type > > | GetFunctions () |
| | Get the list of platform-specific function definitions.
|
| |
| std::map< uint32_t, QualifiedNameAndType > | GetSystemCalls () |
| | System calls for this platform.
|
| |
| std::vector< Ref< TypeLibrary > > | GetTypeLibraries () |
| |
| std::vector< Ref< TypeLibrary > > | GetTypeLibrariesByName (const std::string &name) |
| |
| TypeContainer | GetTypeContainer () |
| | Type Container for all registered types in the Platform.
|
| |
| Ref< Type > | GetTypeByName (const QualifiedName &name) |
| |
| Ref< Type > | GetVariableByName (const QualifiedName &name) |
| |
| Ref< Type > | GetFunctionByName (const QualifiedName &name, bool exactMatch=false) |
| |
| std::string | GetSystemCallName (uint32_t n) |
| |
| Ref< Type > | GetSystemCallType (uint32_t n) |
| |
| std::string | GenerateAutoPlatformTypeId (const QualifiedName &name) |
| |
| Ref< NamedTypeReference > | GenerateAutoPlatformTypeReference (BNNamedTypeReferenceClass cls, const QualifiedName &name) |
| |
| std::string | GetAutoPlatformTypeIdSource () |
| |
| bool | ParseTypesFromSource (const std::string &source, const std::string &fileName, std::map< QualifiedName, Ref< Type > > &types, std::map< QualifiedName, Ref< Type > > &variables, std::map< QualifiedName, Ref< Type > > &functions, std::string &errors, const std::vector< std::string > &includeDirs=std::vector< std::string >(), const std::string &autoTypeSource="") |
| | Parses the source string and any needed headers searching for them in the optional list of directories provided in ``includeDirs``.
|
| |
| bool | ParseTypesFromSourceFile (const std::string &fileName, std::map< QualifiedName, Ref< Type > > &types, std::map< QualifiedName, Ref< Type > > &variables, std::map< QualifiedName, Ref< Type > > &functions, std::string &errors, const std::vector< std::string > &includeDirs=std::vector< std::string >(), const std::string &autoTypeSource="") |
| | Parses the source string and any needed headers searching for them in the optional list of directories provided in ``includeDirs``.
|
| |
| | CoreRefCountObject () |
| |
| virtual | ~CoreRefCountObject () |
| |
| BNPlatform * | GetObject () const |
| |
| void | AddRef () |
| |
| void | Release () |
| |
| void | AddRefForRegistration () |
| |
| void | ReleaseForRegistration () |
| |
| void | AddRefForCallback () |
| |
| void | ReleaseForCallback () |
| |
|
| static void | Register (const std::string &os, Platform *platform) |
| | Register a Platform.
|
| |
| static Ref< Platform > | GetByName (const std::string &name) |
| | Get a platform by name.
|
| |
| static std::vector< Ref< Platform > > | GetList () |
| | Get the list of registered platforms.
|
| |
| static std::vector< Ref< Platform > > | GetList (Architecture *arch) |
| | Get the list of registered platforms by Architecture.
|
| |
| static std::vector< Ref< Platform > > | GetList (const std::string &os) |
| | Get the list of registered platforms by os.
|
| |
| static std::vector< Ref< Platform > > | GetList (const std::string &os, Architecture *arch) |
| | Get the list of registered platforms by OS and Architecture.
|
| |
| static std::vector< std::string > | GetOSList () |
| | Get the list of operating systems.
|
| |
| static BNPlatform * | GetObject (CoreRefCountObject *obj) |
| |
| static BNPlatform * | GetObject (const CoreRefCountObject *obj) |
| |
| std::atomic< int > | m_refs |
| |
| bool | m_registeredRef |
| |
| BNPlatform * | m_object |
| |
| | Platform (Architecture *arch, const std::string &name) |
| |
| | Platform (Architecture *arch, const std::string &name, const std::string &typeFile, const std::vector< std::string > &includeDirs=std::vector< std::string >()) |
| |
| static void | InitCallback (void *ctxt, BNPlatform *) |
| |
| static void | InitViewCallback (void *ctxt, BNBinaryView *view) |
| |
| static uint32_t * | GetGlobalRegistersCallback (void *ctxt, size_t *count) |
| |
| static void | FreeRegisterListCallback (void *ctxt, uint32_t *regs, size_t count) |
| |
| static size_t | GetAddressSizeCallback (void *ctxt) |
| |
| static BNType * | GetGlobalRegisterTypeCallback (void *ctxt, uint32_t reg) |
| |
| static void | AdjustTypeParserInputCallback (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) |
| |
| static void | FreeTypeParserInputCallback (void *ctxt, char **arguments, size_t argumentsLen, char **sourceFileNames, char **sourceFileValues, size_t sourceFilesLen) |
| |
| static bool | GetFallbackEnabledCallback (void *ctxt) |
| |