@@ -161,7 +161,7 @@ extern "C"
161
161
struct BNDataRendererContainer ;
162
162
struct BNDisassemblyTextRenderer ;
163
163
164
- typedef bool (* BNLoadPluginCallback )(const char * repoPath , const char * pluginPath , void * ctx );
164
+ typedef bool (* BNLoadPluginCallback )(const char * repoPath , const char * pluginPath , bool force , void * ctx );
165
165
166
166
//! Console log levels
167
167
enum BNLogLevel
@@ -779,18 +779,27 @@ extern "C"
779
779
OtherPluginOrigin
780
780
};
781
781
782
- enum BNPluginUpdateStatus
782
+ enum BNPluginStatus
783
783
{
784
- UpToDatePluginStatus ,
785
- UpdatesAvailablePluginStatus
784
+ NotInstalledPluginStatus = 0x00000000 ,
785
+ InstalledPluginStatus = 0x00000001 ,
786
+ EnabledPluginStatus = 0x00000002 ,
787
+ UpdateAvailablePluginStatus = 0x00000010 ,
788
+ DeletePendingPluginStatus = 0x00000020 ,
789
+ UpdatePendingPluginStatus = 0x00000040 ,
790
+ DisablePendingPluginStatus = 0x00000080 ,
791
+ PendingRestartPluginStatus = 0x00000200 ,
792
+ BeingUpdatedPluginStatus = 0x00000400 ,
793
+ BeingDeletedPluginStatus = 0x00000800
786
794
};
787
795
788
796
enum BNPluginType
789
797
{
790
798
CorePluginType ,
791
799
UiPluginType ,
792
800
ArchitecturePluginType ,
793
- BinaryViewPluginType
801
+ BinaryViewPluginType ,
802
+ HelperPluginType
794
803
};
795
804
796
805
struct BNLookupTableEntry
@@ -3717,39 +3726,53 @@ extern "C"
3717
3726
BINARYNINJACOREAPI void BNFreeDemangledName (char * * * name , size_t nameElements );
3718
3727
3719
3728
// Plugin repository APIs
3720
- BINARYNINJACOREAPI const char * BNPluginGetApi (BNRepoPlugin * p );
3729
+ BINARYNINJACOREAPI char * * BNPluginGetApis (BNRepoPlugin * p , size_t * count );
3721
3730
BINARYNINJACOREAPI const char * BNPluginGetAuthor (BNRepoPlugin * p );
3722
3731
BINARYNINJACOREAPI const char * BNPluginGetDescription (BNRepoPlugin * p );
3723
3732
BINARYNINJACOREAPI const char * BNPluginGetLicense (BNRepoPlugin * p );
3724
3733
BINARYNINJACOREAPI const char * BNPluginGetLicenseText (BNRepoPlugin * p );
3725
3734
BINARYNINJACOREAPI const char * BNPluginGetLongdescription (BNRepoPlugin * p );
3726
- BINARYNINJACOREAPI const char * BNPluginGetMinimimVersions (BNRepoPlugin * p );
3735
+ BINARYNINJACOREAPI uint64_t BNPluginGetMinimimVersion (BNRepoPlugin * p );
3727
3736
BINARYNINJACOREAPI const char * BNPluginGetName (BNRepoPlugin * p );
3728
- BINARYNINJACOREAPI const char * BNPluginGetUrl (BNRepoPlugin * p );
3737
+ BINARYNINJACOREAPI const char * BNPluginGetProjectUrl (BNRepoPlugin * p );
3738
+ BINARYNINJACOREAPI const char * BNPluginGetPackageUrl (BNRepoPlugin * p );
3739
+ BINARYNINJACOREAPI const char * BNPluginGetAuthorUrl (BNRepoPlugin * p );
3729
3740
BINARYNINJACOREAPI const char * BNPluginGetVersion (BNRepoPlugin * p );
3741
+ BINARYNINJACOREAPI const char * BNPluginGetCommit (BNRepoPlugin * p );
3730
3742
BINARYNINJACOREAPI void BNFreePluginTypes (BNPluginType * r );
3731
3743
BINARYNINJACOREAPI BNRepoPlugin * BNNewPluginReference (BNRepoPlugin * r );
3732
3744
BINARYNINJACOREAPI void BNFreePlugin (BNRepoPlugin * plugin );
3733
3745
BINARYNINJACOREAPI const char * BNPluginGetPath (BNRepoPlugin * p );
3734
3746
BINARYNINJACOREAPI bool BNPluginIsInstalled (BNRepoPlugin * p );
3735
- BINARYNINJACOREAPI void BNPluginSetEnabled (BNRepoPlugin * p , bool enabled );
3736
3747
BINARYNINJACOREAPI bool BNPluginIsEnabled (BNRepoPlugin * p );
3737
- BINARYNINJACOREAPI BNPluginUpdateStatus BNPluginGetPluginUpdateStatus (BNRepoPlugin * p );
3748
+ BINARYNINJACOREAPI BNPluginStatus BNPluginGetPluginStatus (BNRepoPlugin * p );
3738
3749
BINARYNINJACOREAPI BNPluginType * BNPluginGetPluginTypes (BNRepoPlugin * p , size_t * count );
3739
- BINARYNINJACOREAPI bool BNPluginEnable (BNRepoPlugin * p );
3750
+ BINARYNINJACOREAPI bool BNPluginEnable (BNRepoPlugin * p , bool force );
3740
3751
BINARYNINJACOREAPI bool BNPluginDisable (BNRepoPlugin * p );
3741
3752
BINARYNINJACOREAPI bool BNPluginInstall (BNRepoPlugin * p );
3742
3753
BINARYNINJACOREAPI bool BNPluginUninstall (BNRepoPlugin * p );
3754
+ BINARYNINJACOREAPI bool BNPluginUpdate (BNRepoPlugin * p );
3755
+ BINARYNINJACOREAPI char * BNPluginGetInstallInstructions (BNRepoPlugin * p , const char * platform );
3756
+ BINARYNINJACOREAPI char * * BNPluginGetPlatforms (BNRepoPlugin * p , size_t * count );
3757
+ BINARYNINJACOREAPI void BNFreePluginPlatforms (char * * platforms , size_t count );
3758
+ BINARYNINJACOREAPI const char * BNPluginGetRepository (BNRepoPlugin * p );
3759
+ BINARYNINJACOREAPI bool BNPluginIsBeingDeleted (BNRepoPlugin * p );
3760
+ BINARYNINJACOREAPI bool BNPluginIsBeingUpdated (BNRepoPlugin * p );
3761
+ BINARYNINJACOREAPI bool BNPluginIsRunning (BNRepoPlugin * p );
3762
+ BINARYNINJACOREAPI bool BNPluginIsUpdatePending (BNRepoPlugin * p );
3763
+ BINARYNINJACOREAPI bool BNPluginIsDisablePending (BNRepoPlugin * p );
3764
+ BINARYNINJACOREAPI bool BNPluginIsDeletePending (BNRepoPlugin * p );
3765
+ BINARYNINJACOREAPI bool BNPluginIsUpdateAvailable (BNRepoPlugin * p );
3766
+
3767
+ BINARYNINJACOREAPI char * BNPluginGetProjectData (BNRepoPlugin * p );
3768
+ BINARYNINJACOREAPI uint64_t BNPluginGetLastUpdate (BNRepoPlugin * p );
3743
3769
3744
3770
BINARYNINJACOREAPI BNRepository * BNNewRepositoryReference (BNRepository * r );
3745
3771
BINARYNINJACOREAPI void BNFreeRepository (BNRepository * r );
3746
3772
BINARYNINJACOREAPI char * BNRepositoryGetUrl (BNRepository * r );
3747
3773
BINARYNINJACOREAPI char * BNRepositoryGetRepoPath (BNRepository * r );
3748
- BINARYNINJACOREAPI char * BNRepositoryGetLocalReference (BNRepository * r );
3749
- BINARYNINJACOREAPI char * BNRepositoryGetRemoteReference (BNRepository * r );
3750
3774
BINARYNINJACOREAPI BNRepoPlugin * * BNRepositoryGetPlugins (BNRepository * r , size_t * count );
3751
3775
BINARYNINJACOREAPI void BNFreeRepositoryPluginList (BNRepoPlugin * * r );
3752
- BINARYNINJACOREAPI bool BNRepositoryIsInitialized (BNRepository * r );
3753
3776
BINARYNINJACOREAPI void BNRepositoryFreePluginDirectoryList (char * * list , size_t count );
3754
3777
BINARYNINJACOREAPI BNRepoPlugin * BNRepositoryGetPluginByPath (BNRepository * r , const char * pluginPath );
3755
3778
BINARYNINJACOREAPI const char * BNRepositoryGetPluginsPath (BNRepository * r );
@@ -3762,23 +3785,18 @@ extern "C"
3762
3785
BINARYNINJACOREAPI void BNFreeRepositoryManagerRepositoriesList (BNRepository * * r );
3763
3786
BINARYNINJACOREAPI bool BNRepositoryManagerAddRepository (BNRepositoryManager * r ,
3764
3787
const char * url ,
3765
- const char * repoPath ,
3766
- const char * localReference ,
3767
- const char * remoteReference );
3768
- BINARYNINJACOREAPI bool BNRepositoryManagerEnablePlugin (BNRepositoryManager * r , const char * repoName , const char * pluginPath );
3769
- BINARYNINJACOREAPI bool BNRepositoryManagerDisablePlugin (BNRepositoryManager * r , const char * repoName , const char * pluginPath );
3770
- BINARYNINJACOREAPI bool BNRepositoryManagerInstallPlugin (BNRepositoryManager * r , const char * repoName , const char * pluginPath );
3771
- BINARYNINJACOREAPI bool BNRepositoryManagerUninstallPlugin (BNRepositoryManager * r , const char * repoName , const char * pluginPath );
3772
- BINARYNINJACOREAPI bool BNRepositoryManagerUpdatePlugin (BNRepositoryManager * r , const char * repoName , const char * pluginPath );
3788
+ const char * repoPath );
3773
3789
BINARYNINJACOREAPI BNRepository * BNRepositoryGetRepositoryByPath (BNRepositoryManager * r , const char * repoPath );
3774
3790
BINARYNINJACOREAPI BNRepositoryManager * BNGetRepositoryManager ();
3775
3791
3776
3792
BINARYNINJACOREAPI BNRepository * BNRepositoryManagerGetDefaultRepository (BNRepositoryManager * r );
3777
3793
BINARYNINJACOREAPI void BNRegisterForPluginLoading (
3778
3794
const char * pluginApiName ,
3779
- bool (* cb )(const char * repoPath , const char * pluginPath , void * ctx ),
3795
+ bool (* cb )(const char * repoPath , const char * pluginPath , bool force , void * ctx ), // BNLoadPluginCallback
3780
3796
void * ctx );
3781
- BINARYNINJACOREAPI bool BNLoadPluginForApi (const char * pluginApiName , const char * repoPath , const char * pluginPath );
3797
+ BINARYNINJACOREAPI bool BNLoadPluginForApi (const char * pluginApiName , const char * repoPath , const char * pluginPath , bool force );
3798
+ BINARYNINJACOREAPI char * * BNGetRegisteredPluginLoaders (size_t * count );
3799
+ BINARYNINJACOREAPI void BNFreeRegisteredPluginLoadersList (char * * pluginLoaders , size_t count );
3782
3800
3783
3801
// LLVM Services APIs
3784
3802
BINARYNINJACOREAPI void BNLlvmServicesInit (void );
@@ -3796,6 +3814,7 @@ extern "C"
3796
3814
BINARYNINJACOREAPI bool BNIsPathDirectory (const char * path );
3797
3815
BINARYNINJACOREAPI bool BNIsPathRegularFile (const char * path );
3798
3816
BINARYNINJACOREAPI bool BNFileSize (const char * path , uint64_t * size );
3817
+ BINARYNINJACOREAPI bool BNRenameFile (const char * source , const char * dest );
3799
3818
3800
3819
// Settings APIs
3801
3820
BINARYNINJACOREAPI bool BNSettingsRegisterGroup (const char * registry , const char * group , const char * title );
0 commit comments