diff options
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 110 |
1 files changed, 59 insertions, 51 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index c3379be0..0ba01542 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -192,7 +192,6 @@ extern "C" } PluginLoadStatus; typedef bool (*BNCorePluginInitFunction)(void); - typedef bool (*BNScriptPluginInitFunction)(const char*, const char*); typedef void (*BNCorePluginDependencyFunction)(void); typedef uint32_t (*BNCorePluginABIVersionFunction)(void); @@ -257,7 +256,8 @@ extern "C" typedef struct BNMainThreadAction BNMainThreadAction; typedef struct BNBackgroundTask BNBackgroundTask; typedef struct BNRepository BNRepository; - typedef struct BNPlugin BNPlugin; + typedef struct BNRepoPlugin BNRepoPlugin; + typedef struct BNRepositoryManager BNRepositoryManager; typedef struct BNComponent BNComponent; typedef struct BNSettings BNSettings; typedef struct BNMetadata BNMetadata; @@ -3944,8 +3944,11 @@ extern "C" // Plugin initialization BINARYNINJACOREAPI bool BNInitPlugins(bool allowUserPlugins); + BINARYNINJACOREAPI bool BNInitCorePlugins(void); // Deprecated, use BNInitPlugins BINARYNINJACOREAPI void BNDisablePlugins(void); BINARYNINJACOREAPI bool BNIsPluginsEnabled(void); + BINARYNINJACOREAPI void BNInitUserPlugins(void); // Deprecated, use BNInitPlugins + BINARYNINJACOREAPI void BNInitRepoPlugins(void); BINARYNINJACOREAPI char* BNGetInstallDirectory(void); BINARYNINJACOREAPI char* BNGetBundledPluginDirectory(void); @@ -7681,70 +7684,75 @@ extern "C" BNType** outType, BNQualifiedName* outVarName, BNBinaryView* view, bool simplify); // Plugin repository APIs - BINARYNINJACOREAPI char** BNPluginGetApis(BNPlugin* p, size_t* count); - BINARYNINJACOREAPI const char* BNPluginGetAuthor(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetDescription(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetLicenseText(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetLongdescription(BNPlugin* p); - BINARYNINJACOREAPI BNVersionInfo BNPluginGetMinimumVersionInfo(BNPlugin* p); - BINARYNINJACOREAPI BNVersionInfo BNPluginGetMaximumVersionInfo(BNPlugin* p); + BINARYNINJACOREAPI char** BNPluginGetApis(BNRepoPlugin* p, size_t* count); + BINARYNINJACOREAPI const char* BNPluginGetAuthor(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetDescription(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetLicenseText(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetLongdescription(BNRepoPlugin* p); + BINARYNINJACOREAPI BNVersionInfo BNPluginGetMinimumVersionInfo(BNRepoPlugin* p); + BINARYNINJACOREAPI BNVersionInfo BNPluginGetMaximumVersionInfo(BNRepoPlugin* p); BINARYNINJACOREAPI BNVersionInfo BNParseVersionString(const char* v); BINARYNINJACOREAPI bool BNVersionLessThan(const BNVersionInfo smaller, const BNVersionInfo larger); - BINARYNINJACOREAPI const char* BNPluginGetName(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetProjectUrl(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetPackageUrl(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetAuthorUrl(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetVersion(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetCommit(BNPlugin* p); - BINARYNINJACOREAPI const bool BNPluginGetViewOnly(BNPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetName(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetProjectUrl(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetPackageUrl(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetAuthorUrl(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetVersion(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetCommit(BNRepoPlugin* p); + BINARYNINJACOREAPI const bool BNPluginGetViewOnly(BNRepoPlugin* p); BINARYNINJACOREAPI void BNFreePluginTypes(BNPluginType* r); - BINARYNINJACOREAPI BNPlugin* BNNewPluginReference(BNPlugin* r); - BINARYNINJACOREAPI void BNFreePlugin(BNPlugin* plugin); - BINARYNINJACOREAPI const char* BNPluginGetPath(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetSubdir(BNPlugin* p); - BINARYNINJACOREAPI const char* BNPluginGetDependencies(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsInstalled(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsEnabled(BNPlugin* p); - BINARYNINJACOREAPI BNPluginStatus BNPluginGetPluginStatus(BNPlugin* p); - BINARYNINJACOREAPI BNPluginType* BNPluginGetPluginTypes(BNPlugin* p, size_t* count); - BINARYNINJACOREAPI bool BNPluginEnable(BNPlugin* p, bool force); - BINARYNINJACOREAPI bool BNPluginDisable(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginInstall(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginInstallDependencies(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginUninstall(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginUpdate(BNPlugin* p); - BINARYNINJACOREAPI char** BNPluginGetPlatforms(BNPlugin* p, size_t* count); + BINARYNINJACOREAPI BNRepoPlugin* BNNewPluginReference(BNRepoPlugin* r); + BINARYNINJACOREAPI void BNFreePlugin(BNRepoPlugin* plugin); + BINARYNINJACOREAPI const char* BNPluginGetPath(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetSubdir(BNRepoPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetDependencies(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsInstalled(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsEnabled(BNRepoPlugin* p); + BINARYNINJACOREAPI BNPluginStatus BNPluginGetPluginStatus(BNRepoPlugin* p); + BINARYNINJACOREAPI BNPluginType* BNPluginGetPluginTypes(BNRepoPlugin* p, size_t* count); + BINARYNINJACOREAPI bool BNPluginEnable(BNRepoPlugin* p, bool force); + BINARYNINJACOREAPI bool BNPluginDisable(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginInstall(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginInstallDependencies(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginUninstall(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginUpdate(BNRepoPlugin* p); + BINARYNINJACOREAPI char** BNPluginGetPlatforms(BNRepoPlugin* p, size_t* count); BINARYNINJACOREAPI void BNFreePluginPlatforms(char** platforms, size_t count); - BINARYNINJACOREAPI const char* BNPluginGetRepository(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsBeingDeleted(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsBeingUpdated(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsRunning(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsUpdatePending(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsDisablePending(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsDeletePending(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginIsUpdateAvailable(BNPlugin* p); - BINARYNINJACOREAPI bool BNPluginAreDependenciesBeingInstalled(BNPlugin* p); + BINARYNINJACOREAPI const char* BNPluginGetRepository(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsBeingDeleted(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsBeingUpdated(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsRunning(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsUpdatePending(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsDisablePending(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsDeletePending(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginIsUpdateAvailable(BNRepoPlugin* p); + BINARYNINJACOREAPI bool BNPluginAreDependenciesBeingInstalled(BNRepoPlugin* p); - BINARYNINJACOREAPI char* BNPluginGetProjectData(BNPlugin* p); - BINARYNINJACOREAPI uint64_t BNPluginGetLastUpdate(BNPlugin* p); + BINARYNINJACOREAPI char* BNPluginGetProjectData(BNRepoPlugin* p); + BINARYNINJACOREAPI uint64_t BNPluginGetLastUpdate(BNRepoPlugin* p); BINARYNINJACOREAPI BNRepository* BNNewRepositoryReference(BNRepository* r); BINARYNINJACOREAPI void BNFreeRepository(BNRepository* r); BINARYNINJACOREAPI char* BNRepositoryGetUrl(BNRepository* r); BINARYNINJACOREAPI char* BNRepositoryGetRepoPath(BNRepository* r); - BINARYNINJACOREAPI BNPlugin** BNRepositoryGetPlugins(BNRepository* r, size_t* count); - BINARYNINJACOREAPI void BNFreeRepositoryPluginList(BNPlugin** r); + BINARYNINJACOREAPI BNRepoPlugin** BNRepositoryGetPlugins(BNRepository* r, size_t* count); + BINARYNINJACOREAPI void BNFreeRepositoryPluginList(BNRepoPlugin** r); BINARYNINJACOREAPI void BNRepositoryFreePluginDirectoryList(char** list, size_t count); - BINARYNINJACOREAPI BNPlugin* BNRepositoryGetPluginByPath(BNRepository* r, const char* pluginPath); + BINARYNINJACOREAPI BNRepoPlugin* BNRepositoryGetPluginByPath(BNRepository* r, const char* pluginPath); BINARYNINJACOREAPI const char* BNRepositoryGetPluginsPath(BNRepository* r); - BINARYNINJACOREAPI bool BNRepositoryManagerCheckForUpdates(); - BINARYNINJACOREAPI BNRepository** BNRepositoryManagerGetRepositories(size_t* count); + BINARYNINJACOREAPI BNRepositoryManager* BNCreateRepositoryManager(const char* enabledPluginsPath); + BINARYNINJACOREAPI BNRepositoryManager* BNNewRepositoryManagerReference(BNRepositoryManager* r); + BINARYNINJACOREAPI void BNFreeRepositoryManager(BNRepositoryManager* r); + BINARYNINJACOREAPI bool BNRepositoryManagerCheckForUpdates(BNRepositoryManager* r); + BINARYNINJACOREAPI BNRepository** BNRepositoryManagerGetRepositories(BNRepositoryManager* r, size_t* count); BINARYNINJACOREAPI void BNFreeRepositoryManagerRepositoriesList(BNRepository** r); - BINARYNINJACOREAPI bool BNRepositoryManagerAddRepository(const char* url, const char* repoPath); - BINARYNINJACOREAPI BNRepository* BNRepositoryGetRepositoryByPath(const char* repoPath); + BINARYNINJACOREAPI bool BNRepositoryManagerAddRepository( + BNRepositoryManager* r, const char* url, const char* repoPath); + BINARYNINJACOREAPI BNRepository* BNRepositoryGetRepositoryByPath(BNRepositoryManager* r, const char* repoPath); + BINARYNINJACOREAPI BNRepositoryManager* BNGetRepositoryManager(void); - BINARYNINJACOREAPI BNRepository* BNRepositoryManagerGetDefaultRepository(); + BINARYNINJACOREAPI BNRepository* BNRepositoryManagerGetDefaultRepository(BNRepositoryManager* r); // Components |
