|
| CorePlatform (BNPlatform *plat) |
|
virtual std::vector< uint32_t > | GetGlobalRegisters () override |
| Get the global register list for this Platform. More...
|
|
virtual Ref< Type > | GetGlobalRegisterType (uint32_t reg) override |
| Get the type of a global register. More...
|
|
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. More...
|
|
| Platform (BNPlatform *platform) |
|
Ref< Architecture > | GetArchitecture () const |
| Get the Architecture for this platform. More...
|
|
std::string | GetName () const |
| Get the name of this platform. More...
|
|
Ref< CallingConvention > | GetDefaultCallingConvention () const |
| Get the default calling convention for this platform. More...
|
|
Ref< CallingConvention > | GetCdeclCallingConvention () const |
| Get the cdecl CallingConvention. More...
|
|
Ref< CallingConvention > | GetStdcallCallingConvention () const |
| Get the stdcall CallingConvention. More...
|
|
Ref< CallingConvention > | GetFastcallCallingConvention () const |
| Get the fastcall CallingConvention. More...
|
|
std::vector< Ref< CallingConvention > > | GetCallingConventions () const |
| Get the list of registered calling conventions. More...
|
|
Ref< CallingConvention > | GetSystemCallConvention () const |
| Get the syscall calling convention. More...
|
|
void | RegisterCallingConvention (CallingConvention *cc) |
| Register a Calling Convention. More...
|
|
void | RegisterDefaultCallingConvention (CallingConvention *cc) |
| Set the default calling convention. More...
|
|
void | RegisterCdeclCallingConvention (CallingConvention *cc) |
| Set the cdecl calling convention. More...
|
|
void | RegisterStdcallCallingConvention (CallingConvention *cc) |
| Set the stdcall calling convention. More...
|
|
void | RegisterFastcallCallingConvention (CallingConvention *cc) |
| Set the fastcall calling convention. More...
|
|
void | SetSystemCallConvention (CallingConvention *cc) |
| Set the syscall calling convention. More...
|
|
virtual void | BinaryViewInit (BinaryView *view) |
| Callback that will be called when the platform of a binaryview is set. More...
|
|
virtual std::vector< uint32_t > | GetGlobalRegisters () |
| Get the global register list for this Platform. More...
|
|
virtual Ref< Type > | GetGlobalRegisterType (uint32_t reg) |
| Get the type of a global register. More...
|
|
virtual void | AdjustTypeParserInput (Ref< class TypeParser > parser, std::vector< std::string > &arguments, std::vector< std::pair< std::string, std::string > > &sourceFiles) |
| Modify the input passed to the Type Parser with Platform-specific features. More...
|
|
virtual bool | GetFallbackEnabled () |
| Provide an option for platforms to decide whether to use the fallback type library. More...
|
|
Ref< Platform > | GetRelatedPlatform (Architecture *arch) |
|
void | AddRelatedPlatform (Architecture *arch, Platform *platform) |
|
Ref< Platform > | GetAssociatedPlatformByAddress (uint64_t &addr) |
|
std::map< QualifiedName, Ref< Type > > | GetTypes () |
| Get the list of platform-specific types. More...
|
|
std::map< QualifiedName, Ref< Type > > | GetVariables () |
| Get the list of platform-specific variable definitions. More...
|
|
std::map< QualifiedName, Ref< Type > > | GetFunctions () |
| Get the list of platform-specific function definitions. More...
|
|
std::map< uint32_t, QualifiedNameAndType > | GetSystemCalls () |
| System calls for this platform. More...
|
|
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. More...
|
|
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``. More...
|
|
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``. More...
|
|
| 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. More...
|
|
static Ref< Platform > | GetByName (const std::string &name) |
| Get a platform by name. More...
|
|
static std::vector< Ref< Platform > > | GetList () |
| Get the list of registered platforms. More...
|
|
static std::vector< Ref< Platform > > | GetList (Architecture *arch) |
| Get the list of registered platforms by Architecture. More...
|
|
static std::vector< Ref< Platform > > | GetList (const std::string &os) |
| Get the list of registered platforms by os. More...
|
|
static std::vector< Ref< Platform > > | GetList (const std::string &os, Architecture *arch) |
| Get the list of registered platforms by OS and Architecture. More...
|
|
static std::vector< std::string > | GetOSList () |
| Get the list of operating systems. More...
|
|
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 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) |
|