diff --git a/README.md b/README.md index 734e6838..cf9dee05 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,12 @@ mv third_party/idasdk/idasdk_pro82/* third_party/idasdk rmdir third_party/idasdk/idasdk_pro82 ``` +#### Binary Ninja + +If building the Binary Ninja plugin, set `-DBINEXPORT_BINARYNINJA_CHANNEL` to either `stable` or `dev` to build against pinned versions of those channels. + +`-DBINEXPORT_BINARYNINJA_LATEST=ON` can be used to instead build against the latest commit from [GitHub](https://github.com/Vector35/binaryninja-api). + #### Build BinExport With all prerequisites in place, configure and build BinExport and run diff --git a/binaryninja/stubs/.gitignore b/binaryninja/stubs/.gitignore new file mode 100644 index 00000000..a6f982f4 --- /dev/null +++ b/binaryninja/stubs/.gitignore @@ -0,0 +1,2 @@ +# Don't track as this will be updated on every use +binaryninjacore_latest.cc diff --git a/binaryninja/stubs/binaryninjacore.cc b/binaryninja/stubs/binaryninjacore.cc index 001d798f..caa93007 100644 --- a/binaryninja/stubs/binaryninjacore.cc +++ b/binaryninja/stubs/binaryninjacore.cc @@ -48,6 +48,7 @@ BINARYNINJACOREAPI char* BNGetProductType(void) { return {}; } BINARYNINJACOREAPI int BNGetLicenseCount(void) { return {}; } BINARYNINJACOREAPI bool BNIsUIEnabled(void) { return {}; } BINARYNINJACOREAPI void BNSetLicense(const char* licenseData) {} +BINARYNINJACOREAPI bool BNIsDatabase(const char* filename) { return {}; } BINARYNINJACOREAPI bool BNAuthenticateEnterpriseServerWithCredentials( const char* username, const char* password, bool remember) { return {}; @@ -96,6 +97,7 @@ BINARYNINJACOREAPI void BNRegisterEnterpriseServerNotification( BINARYNINJACOREAPI void BNUnregisterEnterpriseServerNotification( BNEnterpriseServerCallbacks* notify) {} BINARYNINJACOREAPI bool BNIsEnterpriseServerInitialized(void) { return {}; } +BINARYNINJACOREAPI bool BNInitializeEnterpriseServer(void) { return {}; } BINARYNINJACOREAPI void BNRegisterObjectDestructionCallbacks( BNObjectDestructionCallbacks* callbacks) {} BINARYNINJACOREAPI void BNUnregisterObjectDestructionCallbacks( @@ -164,9 +166,6 @@ BINARYNINJACOREAPI BNLogger* BNLogGetLogger(const char* loggerName, return {}; } BINARYNINJACOREAPI char** BNLogGetLoggerNames(size_t* count) { return {}; } -BINARYNINJACOREAPI void BNLogRegisterLoggerCallback(void (*cb)(const char* name, - void* ctxt), - void* ctxt) {} BINARYNINJACOREAPI void BNRegisterLogListener(BNLogListener* listener) {} BINARYNINJACOREAPI void BNUnregisterLogListener(BNLogListener* listener) {} BINARYNINJACOREAPI void BNUpdateLogListeners(void) {} @@ -249,6 +248,15 @@ BINARYNINJACOREAPI BNDataBuffer* BNZlibCompress(BNDataBuffer* buf) { BINARYNINJACOREAPI BNDataBuffer* BNZlibDecompress(BNDataBuffer* buf) { return {}; } +BINARYNINJACOREAPI BNDataBuffer* BNLzmaDecompress(BNDataBuffer* buf) { + return {}; +} +BINARYNINJACOREAPI BNDataBuffer* BNLzma2Decompress(BNDataBuffer* buf) { + return {}; +} +BINARYNINJACOREAPI BNDataBuffer* BNXzDecompress(BNDataBuffer* buf) { + return {}; +} BINARYNINJACOREAPI BNSaveSettings* BNCreateSaveSettings(void) { return {}; } BINARYNINJACOREAPI BNSaveSettings* BNNewSaveSettingsReference( BNSaveSettings* settings) { @@ -267,7 +275,7 @@ BINARYNINJACOREAPI char* BNGetSaveSettingsName(BNSaveSettings* settings) { } BINARYNINJACOREAPI void BNSetSaveSettingsName(BNSaveSettings* settings, const char* name) {} -BINARYNINJACOREAPI BNFileMetadata* BNCreateFileMetadata(void) { return {}; } +BINARYNINJACOREAPI BNFileMetadata* BNCreateFileMetadata() { return {}; } BINARYNINJACOREAPI BNFileMetadata* BNNewFileReference(BNFileMetadata* file) { return {}; } @@ -289,8 +297,7 @@ BINARYNINJACOREAPI bool BNCreateDatabase(BNBinaryView* data, const char* path, } BINARYNINJACOREAPI bool BNCreateDatabaseWithProgress( BNBinaryView* data, const char* path, void* ctxt, - bool (*progress)(void* ctxt, size_t progress, size_t total), - BNSaveSettings* settings) { + BNProgressFunction progress, BNSaveSettings* settings) { return {}; } BINARYNINJACOREAPI BNBinaryView* BNOpenExistingDatabase(BNFileMetadata* file, @@ -299,7 +306,7 @@ BINARYNINJACOREAPI BNBinaryView* BNOpenExistingDatabase(BNFileMetadata* file, } BINARYNINJACOREAPI BNBinaryView* BNOpenExistingDatabaseWithProgress( BNFileMetadata* file, const char* path, void* ctxt, - bool (*progress)(void* ctxt, size_t progress, size_t total)) { + BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI BNBinaryView* BNOpenDatabaseForConfiguration( @@ -311,18 +318,17 @@ BINARYNINJACOREAPI bool BNSaveAutoSnapshot(BNBinaryView* data, return {}; } BINARYNINJACOREAPI bool BNSaveAutoSnapshotWithProgress( - BNBinaryView* data, void* ctxt, - bool (*progress)(void* ctxt, size_t progress, size_t total), + BNBinaryView* data, void* ctxt, BNProgressFunction progress, BNSaveSettings* settings) { return {}; } -BINARYNINJACOREAPI void BNGetSnapshotData( - BNFileMetadata* file, BNKeyValueStore* data, BNKeyValueStore* cache, - void* ctxt, bool (*progress)(void* ctxt, size_t current, size_t total)) {} +BINARYNINJACOREAPI void BNGetSnapshotData(BNFileMetadata* file, + BNKeyValueStore* data, + BNKeyValueStore* cache, void* ctxt, + BNProgressFunction progress) {} BINARYNINJACOREAPI void BNApplySnapshotData( BNFileMetadata* file, BNBinaryView* view, BNKeyValueStore* data, - BNKeyValueStore* cache, void* ctxt, - bool (*progress)(void* ctxt, size_t current, size_t total), + BNKeyValueStore* cache, void* ctxt, BNProgressFunction progress, bool openForConfiguration, bool restoreRawView) {} BINARYNINJACOREAPI BNDatabase* BNGetFileMetadataDatabase(BNFileMetadata* file) { return {}; @@ -391,6 +397,264 @@ BINARYNINJACOREAPI size_t BNGetKeyValueStoreNamespaceSize(BNKeyValueStore* store) { return {}; } +BINARYNINJACOREAPI BNProject* BNNewProjectReference(BNProject* project) { + return {}; +} +BINARYNINJACOREAPI void BNFreeProject(BNProject* project) {} +BINARYNINJACOREAPI void BNFreeProjectList(BNProject** projects, size_t count) {} +BINARYNINJACOREAPI BNProject** BNGetOpenProjects(size_t* count) { return {}; } +BINARYNINJACOREAPI BNProject* BNCreateProject(const char* path, + const char* name) { + return {}; +} +BINARYNINJACOREAPI BNProject* BNOpenProject(const char* path) { return {}; } +BINARYNINJACOREAPI bool BNProjectOpen(BNProject* project) { return {}; } +BINARYNINJACOREAPI bool BNProjectClose(BNProject* project) { return {}; } +BINARYNINJACOREAPI char* BNProjectGetId(BNProject* project) { return {}; } +BINARYNINJACOREAPI bool BNProjectIsOpen(BNProject* project) { return {}; } +BINARYNINJACOREAPI char* BNProjectGetPath(BNProject* project) { return {}; } +BINARYNINJACOREAPI char* BNProjectGetName(BNProject* project) { return {}; } +BINARYNINJACOREAPI void BNProjectSetName(BNProject* project, const char* name) { +} +BINARYNINJACOREAPI char* BNProjectGetDescription(BNProject* project) { + return {}; +} +BINARYNINJACOREAPI void BNProjectSetDescription(BNProject* project, + const char* description) {} +BINARYNINJACOREAPI BNMetadata* BNProjectQueryMetadata(BNProject* project, + const char* key) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectStoreMetadata(BNProject* project, + const char* key, + BNMetadata* value) { + return {}; +} +BINARYNINJACOREAPI void BNProjectRemoveMetadata(BNProject* project, + const char* key) {} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFileFromPath( + BNProject* project, const char* path, BNProjectFolder* folder, + const char* name, const char* description, void* ctxt, + BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFileFromPathUnsafe( + BNProject* project, const char* path, BNProjectFolder* folder, + const char* name, const char* description, const char* id, + int64_t creationTimestamp, void* ctxt, BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFile( + BNProject* project, const uint8_t* contents, size_t contentsSize, + BNProjectFolder* folder, const char* name, const char* description, + void* ctxt, BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFileUnsafe( + BNProject* project, const uint8_t* contents, size_t contentsSize, + BNProjectFolder* folder, const char* name, const char* description, + const char* id, int64_t creationTimestamp, void* ctxt, + BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile** BNProjectGetFiles(BNProject* project, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectGetFileById(BNProject* project, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectGetFileByPathOnDisk( + BNProject* project, const char* path) { + return {}; +} +BINARYNINJACOREAPI void BNProjectPushFile(BNProject* project, + BNProjectFile* file) {} +BINARYNINJACOREAPI bool BNProjectDeleteFile(BNProject* project, + BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectCreateFolderFromPath( + BNProject* project, const char* path, BNProjectFolder* parent, + const char* description, void* ctxt, BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectCreateFolder( + BNProject* project, BNProjectFolder* parent, const char* name, + const char* description) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectCreateFolderUnsafe( + BNProject* project, BNProjectFolder* parent, const char* name, + const char* description, const char* id) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder** BNProjectGetFolders(BNProject* project, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectGetFolderById(BNProject* project, + const char* id) { + return {}; +} +BINARYNINJACOREAPI void BNProjectPushFolder(BNProject* project, + BNProjectFolder* folder) {} +BINARYNINJACOREAPI bool BNProjectDeleteFolder(BNProject* project, + BNProjectFolder* folder, + void* ctxt, + BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI void BNProjectBeginBulkOperation(BNProject* project) {} +BINARYNINJACOREAPI void BNProjectEndBulkOperation(BNProject* project) {} +BINARYNINJACOREAPI BNProjectFile* BNNewProjectFileReference( + BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI void BNFreeProjectFile(BNProjectFile* file) {} +BINARYNINJACOREAPI void BNFreeProjectFileList(BNProjectFile** files, + size_t count) {} +BINARYNINJACOREAPI char* BNProjectFileGetPathOnDisk(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileExistsOnDisk(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFileGetName(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileSetName(BNProjectFile* file, + const char* name) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFileGetDescription(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileSetDescription(BNProjectFile* file, + const char* description) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFileGetId(BNProjectFile* file) { return {}; } +BINARYNINJACOREAPI BNProjectFolder* BNProjectFileGetFolder( + BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileSetFolder(BNProjectFile* file, + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNProject* BNProjectFileGetProject(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileExport(BNProjectFile* file, + const char* destination) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNProjectFileGetCreationTimestamp(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNNewProjectFolderReference( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI void BNFreeProjectFolder(BNProjectFolder* folder) {} +BINARYNINJACOREAPI void BNFreeProjectFolderList(BNProjectFolder** folders, + size_t count) {} +BINARYNINJACOREAPI char* BNProjectFolderGetId(BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFolderGetName(BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderSetName(BNProjectFolder* folder, + const char* name) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFolderGetDescription( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderSetDescription(BNProjectFolder* folder, + const char* description) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectFolderGetParent( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderSetParent(BNProjectFolder* folder, + BNProjectFolder* parent) { + return {}; +} +BINARYNINJACOREAPI BNProject* BNProjectFolderGetProject( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderExport(BNProjectFolder* folder, + const char* destination, + void* ctxt, + BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary* BNNewExternalLibraryReference( + BNExternalLibrary* lib) { + return {}; +} +BINARYNINJACOREAPI void BNFreeExternalLibrary(BNExternalLibrary* lib) {} +BINARYNINJACOREAPI void BNFreeExternalLibraryList(BNExternalLibrary** libs, + size_t count) {} +BINARYNINJACOREAPI char* BNExternalLibraryGetName(BNExternalLibrary* lib) { + return {}; +} +BINARYNINJACOREAPI void BNExternalLibrarySetBackingFile(BNExternalLibrary* lib, + BNProjectFile* file) {} +BINARYNINJACOREAPI BNProjectFile* BNExternalLibraryGetBackingFile( + BNExternalLibrary* lib) { + return {}; +} +BINARYNINJACOREAPI BNExternalLocation* BNNewExternalLocationReference( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI void BNFreeExternalLocation(BNExternalLocation* loc) {} +BINARYNINJACOREAPI void BNFreeExternalLocationList(BNExternalLocation** locs, + size_t count) {} +BINARYNINJACOREAPI BNSymbol* BNExternalLocationGetSourceSymbol( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNExternalLocationGetTargetAddress(BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI char* BNExternalLocationGetTargetSymbol( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary* BNExternalLocationGetExternalLibrary( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationHasTargetAddress( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationHasTargetSymbol( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationSetTargetAddress( + BNExternalLocation* loc, uint64_t* address) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationSetTargetSymbol( + BNExternalLocation* loc, const char* symbol) { + return {}; +} +BINARYNINJACOREAPI void BNExternalLocationSetExternalLibrary( + BNExternalLocation* loc, BNExternalLibrary* library) {} BINARYNINJACOREAPI BNDatabase* BNNewDatabaseReference(BNDatabase* database) { return {}; } @@ -412,7 +676,7 @@ BINARYNINJACOREAPI BNSnapshot* BNGetDatabaseSnapshot(BNDatabase* database, BINARYNINJACOREAPI int64_t BNWriteDatabaseSnapshotData( BNDatabase* database, int64_t* parents, size_t parentCount, BNBinaryView* file, const char* name, BNKeyValueStore* data, bool autoSave, - void* ctxt, bool (*progress)(void*, size_t, size_t)) { + void* ctxt, BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI bool BNTrimDatabaseSnapshot(BNDatabase* database, @@ -452,6 +716,7 @@ BINARYNINJACOREAPI bool BNWriteDatabaseGlobalData(BNDatabase* database, BINARYNINJACOREAPI BNFileMetadata* BNGetDatabaseFile(BNDatabase* database) { return {}; } +BINARYNINJACOREAPI void BNDatabaseReloadConnection(BNDatabase* database) {} BINARYNINJACOREAPI BNKeyValueStore* BNReadDatabaseAnalysisCache( BNDatabase* database) { return {}; @@ -506,20 +771,18 @@ BINARYNINJACOREAPI BNKeyValueStore* BNReadSnapshotData(BNSnapshot* snapshot) { return {}; } BINARYNINJACOREAPI BNKeyValueStore* BNReadSnapshotDataWithProgress( - BNSnapshot* snapshot, void* ctxt, - bool (*progress)(void* ctxt, size_t progress, size_t total)) { + BNSnapshot* snapshot, void* ctxt, BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI BNDataBuffer* BNGetSnapshotUndoData(BNSnapshot* snapshot) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetSnapshotUndoEntries(BNSnapshot* snapshot, - size_t* count) { +BINARYNINJACOREAPI BNUndoEntry** BNGetSnapshotUndoEntries(BNSnapshot* snapshot, + size_t* count) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetSnapshotUndoEntriesWithProgress( - BNSnapshot* snapshot, void* ctxt, - bool (*progress)(void* ctxt, size_t progress, size_t total), +BINARYNINJACOREAPI BNUndoEntry** BNGetSnapshotUndoEntriesWithProgress( + BNSnapshot* snapshot, void* ctxt, BNProgressFunction progress, size_t* count) { return {}; } @@ -529,16 +792,43 @@ BINARYNINJACOREAPI bool BNSnapshotHasAncestor(BNSnapshot* snapshot, } BINARYNINJACOREAPI bool BNSnapshotStoreData(BNSnapshot* snapshot, BNKeyValueStore* data, void* ctxt, - bool (*progress)(void*, size_t, - size_t)) { + BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNUndoAction* BNNewUndoActionReference( + BNUndoAction* action) { + return {}; +} +BINARYNINJACOREAPI void BNFreeUndoAction(BNUndoAction* action) {} +BINARYNINJACOREAPI void BNFreeUndoActionList(BNUndoAction** actions, + size_t count) {} +BINARYNINJACOREAPI char* BNUndoActionGetSummaryText(BNUndoAction* action) { + return {}; +} +BINARYNINJACOREAPI BNInstructionTextToken* BNUndoActionGetSummary( + BNUndoAction* action, size_t* tokenCount) { + return {}; +} +BINARYNINJACOREAPI BNUndoEntry* BNNewUndoEntryReference(BNUndoEntry* entry) { + return {}; +} +BINARYNINJACOREAPI void BNFreeUndoEntry(BNUndoEntry* entry) {} +BINARYNINJACOREAPI void BNFreeUndoEntryList(BNUndoEntry** entrys, + size_t count) {} +BINARYNINJACOREAPI char* BNUndoEntryGetId(BNUndoEntry* entry) { return {}; } +BINARYNINJACOREAPI BNUndoAction** BNUndoEntryGetActions(BNUndoEntry* entry, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI uint64_t BNUndoEntryGetTimestamp(BNUndoEntry* entry) { return {}; } BINARYNINJACOREAPI bool BNRebase(BNBinaryView* data, uint64_t address) { return {}; } -BINARYNINJACOREAPI bool BNRebaseWithProgress( - BNBinaryView* data, uint64_t address, void* ctxt, - bool (*progress)(void* ctxt, size_t progress, size_t total)) { +BINARYNINJACOREAPI bool BNRebaseWithProgress(BNBinaryView* data, + uint64_t address, void* ctxt, + BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI bool BNCreateSnapshotedView(BNBinaryView* data, @@ -547,7 +837,7 @@ BINARYNINJACOREAPI bool BNCreateSnapshotedView(BNBinaryView* data, } BINARYNINJACOREAPI bool BNCreateSnapshotedViewWithProgress( BNBinaryView* data, const char* viewName, void* ctxt, - bool (*progress)(void* ctxt, size_t progress, size_t total)) { + BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI char* BNGetOriginalFilename(BNFileMetadata* file) { @@ -557,6 +847,11 @@ BINARYNINJACOREAPI void BNSetOriginalFilename(BNFileMetadata* file, const char* name) {} BINARYNINJACOREAPI char* BNGetFilename(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI void BNSetFilename(BNFileMetadata* file, const char* name) {} +BINARYNINJACOREAPI BNProjectFile* BNGetProjectFile(BNFileMetadata* file) { + return {}; +} +BINARYNINJACOREAPI void BNSetProjectFile(BNFileMetadata* file, + BNProjectFile* pfile) {} BINARYNINJACOREAPI char* BNBeginUndoActions(BNFileMetadata* file, bool anonymousAllowed) { return {}; @@ -565,22 +860,24 @@ BINARYNINJACOREAPI void BNCommitUndoActions(BNFileMetadata* file, const char* id) {} BINARYNINJACOREAPI void BNRevertUndoActions(BNFileMetadata* file, const char* id) {} +BINARYNINJACOREAPI void BNForgetUndoActions(BNFileMetadata* file, + const char* id) {} BINARYNINJACOREAPI bool BNCanUndo(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI bool BNUndo(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI bool BNCanRedo(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI bool BNRedo(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetUndoEntries(BNFileMetadata* file, - size_t* count) { +BINARYNINJACOREAPI BNUndoEntry** BNGetUndoEntries(BNFileMetadata* file, + size_t* count) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetRedoEntries(BNFileMetadata* file, - size_t* count) { +BINARYNINJACOREAPI BNUndoEntry** BNGetRedoEntries(BNFileMetadata* file, + size_t* count) { return {}; } -BINARYNINJACOREAPI BNUndoEntry BNGetLastUndoEntry(BNFileMetadata* file) { +BINARYNINJACOREAPI BNUndoEntry* BNGetLastUndoEntry(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI BNUndoEntry BNGetLastRedoEntry(BNFileMetadata* file) { +BINARYNINJACOREAPI BNUndoEntry* BNGetLastRedoEntry(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI char* BNGetLastUndoEntryTitle(BNFileMetadata* file) { @@ -589,7 +886,8 @@ BINARYNINJACOREAPI char* BNGetLastUndoEntryTitle(BNFileMetadata* file) { BINARYNINJACOREAPI char* BNGetLastRedoEntryTitle(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI void BNFreeUndoEntries(BNUndoEntry* entries, size_t count) {} +BINARYNINJACOREAPI void BNFreeUndoEntries(BNUndoEntry** entries, size_t count) { +} BINARYNINJACOREAPI void BNClearUndoEntries(BNFileMetadata* file) {} BINARYNINJACOREAPI BNUser* BNNewUserReference(BNUser* user) { return {}; } BINARYNINJACOREAPI void BNFreeUser(BNUser* user) {} @@ -600,9 +898,6 @@ BINARYNINJACOREAPI void BNFreeUserList(BNUser** users, size_t count) {} BINARYNINJACOREAPI char* BNGetUserName(BNUser* user) { return {}; } BINARYNINJACOREAPI char* BNGetUserEmail(BNUser* user) { return {}; } BINARYNINJACOREAPI char* BNGetUserId(BNUser* user) { return {}; } -BINARYNINJACOREAPI bool BNOpenProject(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI void BNCloseProject(BNFileMetadata* file) {} -BINARYNINJACOREAPI bool BNIsProjectOpen(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI char* BNGetCurrentView(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI uint64_t BNGetCurrentOffset(BNFileMetadata* file) { return {}; @@ -629,6 +924,73 @@ BINARYNINJACOREAPI bool BNIsSnapshotDataAppliedWithoutError( BINARYNINJACOREAPI void BNUnregisterViewOfType(BNFileMetadata* file, const char* type, BNBinaryView* view) {} +BINARYNINJACOREAPI char* BNGetMemoryMapDescription(BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI bool BNAddBinaryMemoryRegion(BNBinaryView* view, + const char* name, + uint64_t start, + BNBinaryView* data, + uint32_t flags) { + return {}; +} +BINARYNINJACOREAPI bool BNAddDataMemoryRegion(BNBinaryView* view, + const char* name, uint64_t start, + BNDataBuffer* data, + uint32_t flags) { + return {}; +} +BINARYNINJACOREAPI bool BNAddRemoteMemoryRegion(BNBinaryView* view, + const char* name, + uint64_t start, + BNFileAccessor* accessor, + uint32_t flags) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoveMemoryRegion(BNBinaryView* view, + const char* name) { + return {}; +} +BINARYNINJACOREAPI char* BNGetActiveMemoryRegionAt(BNBinaryView* view, + uint64_t addr) { + return {}; +} +BINARYNINJACOREAPI uint32_t BNGetMemoryRegionFlags(BNBinaryView* view, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNSetMemoryRegionFlags(BNBinaryView* view, + const char* name, + uint32_t flags) { + return {}; +} +BINARYNINJACOREAPI bool BNIsMemoryRegionEnabled(BNBinaryView* view, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNSetMemoryRegionEnabled(BNBinaryView* view, + const char* name, + bool enable) { + return {}; +} +BINARYNINJACOREAPI bool BNIsMemoryRegionRebaseable(BNBinaryView* view, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNSetMemoryRegionRebaseable(BNBinaryView* view, + const char* name, + bool rebaseable) { + return {}; +} +BINARYNINJACOREAPI uint8_t BNGetMemoryRegionFill(BNBinaryView* view, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNSetMemoryRegionFill(BNBinaryView* view, + const char* name, uint8_t fill) { + return {}; +} +BINARYNINJACOREAPI void BNResetMemoryMap(BNBinaryView* view) {} BINARYNINJACOREAPI BNBinaryView* BNNewViewReference(BNBinaryView* view) { return {}; } @@ -725,6 +1087,12 @@ BINARYNINJACOREAPI uint64_t BNGetNextValidOffset(BNBinaryView* view, uint64_t offset) { return {}; } +BINARYNINJACOREAPI uint64_t BNGetImageBase(BNBinaryView* view) { return {}; } +BINARYNINJACOREAPI uint64_t BNGetOriginalImageBase(BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI void BNSetOriginalImageBase(BNBinaryView* view, + uint64_t imageBase) {} BINARYNINJACOREAPI uint64_t BNGetStartOffset(BNBinaryView* view) { return {}; } BINARYNINJACOREAPI uint64_t BNGetEndOffset(BNBinaryView* view) { return {}; } BINARYNINJACOREAPI uint64_t BNGetViewLength(BNBinaryView* view) { return {}; } @@ -774,14 +1142,32 @@ BINARYNINJACOREAPI BNRange* BNGetRelocationRangesAtAddress(BNBinaryView* view, size_t* count) { return {}; } +BINARYNINJACOREAPI BNRange* BNGetRelocationRangesInRange(BNBinaryView* view, + uint64_t addr, + uint64_t size, + size_t* count) { + return {}; +} BINARYNINJACOREAPI bool BNRangeContainsRelocation(BNBinaryView* view, uint64_t addr, size_t size) { return {}; } +BINARYNINJACOREAPI BNRelocation** BNGetRelocationsAt(BNBinaryView* view, + uint64_t addr, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRelocationList(BNRelocation** relocations, + size_t count) {} +BINARYNINJACOREAPI void BNFreeRelocationRanges(BNRange* ranges) {} BINARYNINJACOREAPI void BNRegisterDataNotification( BNBinaryView* view, BNBinaryDataNotification* notify) {} BINARYNINJACOREAPI void BNUnregisterDataNotification( BNBinaryView* view, BNBinaryDataNotification* notify) {} +BINARYNINJACOREAPI void BNRegisterProjectNotification( + BNProject* project, BNProjectNotification* notify) {} +BINARYNINJACOREAPI void BNUnregisterProjectNotification( + BNProject* project, BNProjectNotification* notify) {} BINARYNINJACOREAPI bool BNCanAssemble(BNBinaryView* view, BNArchitecture* arch) { return {}; @@ -852,27 +1238,24 @@ BINARYNINJACOREAPI bool BNFindNextConstant(BNBinaryView* view, uint64_t start, BINARYNINJACOREAPI bool BNFindNextDataWithProgress( BNBinaryView* view, uint64_t start, uint64_t end, BNDataBuffer* data, uint64_t* result, BNFindFlag flags, void* ctxt, - bool (*progress)(void* ctxt, size_t current, size_t total)) { + BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI bool BNFindNextTextWithProgress( BNBinaryView* view, uint64_t start, uint64_t end, const char* data, uint64_t* result, BNDisassemblySettings* settings, BNFindFlag flags, - BNFunctionGraphType graph, void* ctxt, - bool (*progress)(void* ctxt, size_t current, size_t total)) { + BNFunctionGraphType graph, void* ctxt, BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI bool BNFindNextConstantWithProgress( BNBinaryView* view, uint64_t start, uint64_t end, uint64_t constant, uint64_t* result, BNDisassemblySettings* settings, - BNFunctionGraphType graph, void* ctxt, - bool (*progress)(void* ctxt, size_t current, size_t total)) { + BNFunctionGraphType graph, void* ctxt, BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI bool BNFindAllDataWithProgress( BNBinaryView* view, uint64_t start, uint64_t end, BNDataBuffer* data, - BNFindFlag flags, void* ctxt, - bool (*progress)(void* ctxt, size_t current, size_t total), void* matchCtxt, + BNFindFlag flags, void* ctxt, BNProgressFunction progress, void* matchCtxt, bool (*matchCallback)(void* matchCtxt, uint64_t addr, BNDataBuffer* match)) { return {}; @@ -880,8 +1263,8 @@ BINARYNINJACOREAPI bool BNFindAllDataWithProgress( BINARYNINJACOREAPI bool BNFindAllTextWithProgress( BNBinaryView* view, uint64_t start, uint64_t end, const char* data, BNDisassemblySettings* settings, BNFindFlag flags, - BNFunctionGraphType graph, void* ctxt, - bool (*progress)(void* ctxt, size_t current, size_t total), void* matchCtxt, + BNFunctionGraphType graph, void* ctxt, BNProgressFunction progress, + void* matchCtxt, bool (*matchCallback)(void* matchCtxt, uint64_t addr, const char* match, BNLinearDisassemblyLine* line)) { return {}; @@ -889,11 +1272,23 @@ BINARYNINJACOREAPI bool BNFindAllTextWithProgress( BINARYNINJACOREAPI bool BNFindAllConstantWithProgress( BNBinaryView* view, uint64_t start, uint64_t end, uint64_t constant, BNDisassemblySettings* settings, BNFunctionGraphType graph, void* ctxt, - bool (*progress)(void* ctxt, size_t current, size_t total), void* matchCtxt, + BNProgressFunction progress, void* matchCtxt, bool (*matchCallback)(void* matchCtxt, uint64_t addr, BNLinearDisassemblyLine* line)) { return {}; } +BINARYNINJACOREAPI bool BNSearch(BNBinaryView* view, const char* query, + void* context, + bool (*callback)(void*, uint64_t, + BNDataBuffer*)) { + return {}; +} +BINARYNINJACOREAPI bool BNPerformSearch(const char* query, + const uint8_t* buffer, size_t size, + bool (*callback)(void*, size_t, size_t), + void* context) { + return {}; +} BINARYNINJACOREAPI void BNAddAutoSegment(BNBinaryView* view, uint64_t start, uint64_t length, uint64_t dataOffset, uint64_t dataLength, uint32_t flags) {} @@ -984,6 +1379,19 @@ BINARYNINJACOREAPI char** BNGetUniqueSectionNames(BNBinaryView* view, size_t count) { return {}; } +BINARYNINJACOREAPI BNAddressRange* BNGetAllocatedRanges(BNBinaryView* view, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNAddressRange* BNGetMappedAddressRanges(BNBinaryView* view, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNAddressRange* BNGetBackedAddressRanges(BNBinaryView* view, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreeAddressRanges(BNAddressRange* ranges) {} BINARYNINJACOREAPI BNNameSpace* BNGetNameSpaces(BNBinaryView* view, size_t* count) { return {}; @@ -993,15 +1401,16 @@ BINARYNINJACOREAPI void BNFreeNameSpaceList(BNNameSpace* nameSpace, BINARYNINJACOREAPI BNNameSpace BNGetExternalNameSpace(void) { return {}; } BINARYNINJACOREAPI BNNameSpace BNGetInternalNameSpace(void) { return {}; } BINARYNINJACOREAPI void BNFreeNameSpace(BNNameSpace* name) {} -BINARYNINJACOREAPI BNAddressRange* BNGetAllocatedRanges(BNBinaryView* view, - size_t* count) { - return {}; -} -BINARYNINJACOREAPI void BNFreeAddressRanges(BNAddressRange* ranges) {} BINARYNINJACOREAPI BNRegisterValueWithConfidence BNGetGlobalPointerValue(BNBinaryView* view) { return {}; } +BINARYNINJACOREAPI bool BNUserGlobalPointerValueSet(BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI void BNClearUserGlobalPointerValue(BNBinaryView* view) {} +BINARYNINJACOREAPI void BNSetUserGlobalPointerValue( + BNBinaryView* view, BNRegisterValueWithConfidence value) {} BINARYNINJACOREAPI BNBinaryView* BNCreateBinaryDataView(BNFileMetadata* file) { return {}; } @@ -1146,6 +1555,11 @@ BINARYNINJACOREAPI bool BNReadBE32(BNBinaryReader* stream, uint32_t* result) { BINARYNINJACOREAPI bool BNReadBE64(BNBinaryReader* stream, uint64_t* result) { return {}; } +BINARYNINJACOREAPI bool BNReadPointer(BNBinaryView* view, + BNBinaryReader* stream, + uint64_t* result) { + return {}; +} BINARYNINJACOREAPI uint64_t BNGetReaderPosition(BNBinaryReader* stream) { return {}; } @@ -1481,6 +1895,10 @@ BINARYNINJACOREAPI uint32_t BNGetArchitectureRegisterStackForRegister(BNArchitecture* arch, uint32_t reg) { return {}; } +BINARYNINJACOREAPI BNIntrinsicClass +BNGetArchitectureIntrinsicClass(BNArchitecture* arch, uint32_t intrinsic) { + return {}; +} BINARYNINJACOREAPI char* BNGetArchitectureIntrinsicName(BNArchitecture* arch, uint32_t intrinsic) { return {}; @@ -1612,6 +2030,12 @@ BINARYNINJACOREAPI void BNRemoveUserFunction(BNBinaryView* view, BNFunction* func) {} BINARYNINJACOREAPI bool BNHasInitialAnalysis(BNBinaryView* view) { return {}; } BINARYNINJACOREAPI void BNSetAnalysisHold(BNBinaryView* view, bool enable) {} +BINARYNINJACOREAPI bool BNGetFunctionAnalysisUpdateDisabled( + BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI void BNSetFunctionAnalysisUpdateDisabled(BNBinaryView* view, + bool disabled) {} BINARYNINJACOREAPI void BNUpdateAnalysisAndWait(BNBinaryView* view) {} BINARYNINJACOREAPI void BNUpdateAnalysis(BNBinaryView* view) {} BINARYNINJACOREAPI void BNAbortAnalysis(BNBinaryView* view) {} @@ -1656,6 +2080,12 @@ BINARYNINJACOREAPI BNFunction** BNGetAnalysisFunctionsContainingAddress( BINARYNINJACOREAPI BNFunction* BNGetAnalysisEntryPoint(BNBinaryView* view) { return {}; } +BINARYNINJACOREAPI BNFunction** BNGetAllEntryFunctions(BNBinaryView* view, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNAddToEntryFunctions(BNBinaryView* view, + BNFunction* func) {} BINARYNINJACOREAPI char* BNGetGlobalCommentForAddress(BNBinaryView* view, uint64_t addr) { return {}; @@ -2021,6 +2451,9 @@ BINARYNINJACOREAPI BNRegisterValueWithConfidence BNGetFunctionGlobalPointerValue(BNFunction* func) { return {}; } +BINARYNINJACOREAPI bool BNFunctionUsesIncomingGlobalPointer(BNFunction* func) { + return {}; +} BINARYNINJACOREAPI BNRegisterValueWithConfidence BNGetFunctionRegisterValueAtExit(BNFunction* func, uint32_t reg) { return {}; @@ -2410,6 +2843,24 @@ BINARYNINJACOREAPI BNTypeWithConfidence* BNGetTypesReferenced( BNBinaryView* view, BNQualifiedName* type, uint64_t offset, size_t* count) { return {}; } +BINARYNINJACOREAPI BNQualifiedName* BNGetOutgoingDirectTypeReferences( + BNBinaryView* view, BNQualifiedName* type, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetOutgoingRecursiveTypeReferences( + BNBinaryView* view, BNQualifiedName* types, size_t typeCount, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetIncomingDirectTypeReferences( + BNBinaryView* view, BNQualifiedName* type, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetIncomingRecursiveTypeReferences( + BNBinaryView* view, BNQualifiedName* types, size_t typeCount, + size_t* count) { + return {}; +} BINARYNINJACOREAPI void BNRegisterGlobalFunctionRecognizer( BNFunctionRecognizer* rec) {} BINARYNINJACOREAPI bool BNGetStringAtAddress(BNBinaryView* view, uint64_t addr, @@ -2622,15 +3073,12 @@ BINARYNINJACOREAPI BNIntegerDisplayType BNGetIntegerConstantDisplayType( } BINARYNINJACOREAPI void BNSetIntegerConstantDisplayType( BNFunction* func, BNArchitecture* arch, uint64_t instrAddr, uint64_t value, - size_t operand, BNIntegerDisplayType type) {} -BINARYNINJACOREAPI BNType* BNGetIntegerConstantDisplayTypeEnumerationType( + size_t operand, BNIntegerDisplayType type, const char* typeID) {} +BINARYNINJACOREAPI char* BNGetIntegerConstantDisplayTypeEnumerationType( BNFunction* func, BNArchitecture* arch, uint64_t instrAddr, uint64_t value, size_t operand) { return {}; } -BINARYNINJACOREAPI void BNSetIntegerConstantDisplayTypeEnumerationType( - BNFunction* func, BNArchitecture* arch, uint64_t instrAddr, uint64_t value, - size_t operand, BNType* type) {} BINARYNINJACOREAPI bool BNIsFunctionTooLarge(BNFunction* func) { return {}; } BINARYNINJACOREAPI bool BNIsFunctionAnalysisSkipped(BNFunction* func) { return {}; @@ -3012,14 +3460,15 @@ BINARYNINJACOREAPI bool BNGetDataVariableAtAddress(BNBinaryView* view, } BINARYNINJACOREAPI bool BNParseTypeString( BNBinaryView* view, const char* text, BNQualifiedNameAndType* result, - char** errors, BNQualifiedNameList* typesAllowRedefinition) { + char** errors, BNQualifiedNameList* typesAllowRedefinition, + bool importDepencencies) { return {}; } BINARYNINJACOREAPI bool BNParseTypesString( BNBinaryView* view, const char* text, const char* const* options, size_t optionCount, const char* const* includeDirs, size_t includeDirCount, BNTypeParserResult* result, char** errors, - BNQualifiedNameList* typesAllowRedefinition) { + BNQualifiedNameList* typesAllowRedefinition, bool importDepencencies) { return {}; } BINARYNINJACOREAPI void BNFreeQualifiedNameAndType( @@ -3044,8 +3493,8 @@ BINARYNINJACOREAPI BNQualifiedNameAndType* BNGetAnalysisDependencySortedTypeList(BNBinaryView* view, size_t* count) { return {}; } -BINARYNINJACOREAPI void BNFreeTypeList(BNQualifiedNameAndType* types, - size_t count) {} +BINARYNINJACOREAPI void BNFreeTypeAndNameList(BNQualifiedNameAndType* types, + size_t count) {} BINARYNINJACOREAPI void BNFreeTypeIdList(BNQualifiedNameTypeAndId* types, size_t count) {} BINARYNINJACOREAPI BNQualifiedName* BNGetAnalysisTypeNames( @@ -3054,6 +3503,18 @@ BINARYNINJACOREAPI BNQualifiedName* BNGetAnalysisTypeNames( } BINARYNINJACOREAPI void BNFreeTypeNameList(BNQualifiedName* names, size_t count) {} +BINARYNINJACOREAPI BNTypeContainer* BNGetAnalysisTypeContainer( + BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI BNTypeContainer* BNGetAnalysisAutoTypeContainer( + BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI BNTypeContainer* BNGetAnalysisUserTypeContainer( + BNBinaryView* view) { + return {}; +} BINARYNINJACOREAPI BNType* BNGetAnalysisTypeByName(BNBinaryView* view, BNQualifiedName* name) { return {}; @@ -3088,13 +3549,15 @@ BINARYNINJACOREAPI void BNDefineUserAnalysisType(BNBinaryView* view, BNType* type) {} BINARYNINJACOREAPI size_t BNDefineAnalysisTypes( BNBinaryView* view, BNQualifiedNameTypeAndId* types, size_t count, - bool (*progress)(void*, size_t, size_t), void* progressContext, - char*** resultIds, BNQualifiedName** resultNames) { + BNProgressFunction progress, void* progressContext, char*** resultIds, + BNQualifiedName** resultNames) { return {}; } -BINARYNINJACOREAPI void BNDefineUserAnalysisTypes( - BNBinaryView* view, BNQualifiedNameAndType* types, size_t count, - bool (*progress)(void*, size_t, size_t), void* progressContext) {} +BINARYNINJACOREAPI void BNDefineUserAnalysisTypes(BNBinaryView* view, + BNQualifiedNameAndType* types, + size_t count, + BNProgressFunction progress, + void* progressContext) {} BINARYNINJACOREAPI void BNUndefineAnalysisType(BNBinaryView* view, const char* id) {} BINARYNINJACOREAPI void BNUndefineUserAnalysisType(BNBinaryView* view, @@ -3167,11 +3630,106 @@ BINARYNINJACOREAPI void BNSetAutoBasicBlockHighlight(BNBasicBlock* block, BNHighlightColor color) {} BINARYNINJACOREAPI void BNSetUserBasicBlockHighlight(BNBasicBlock* block, BNHighlightColor color) {} -BINARYNINJACOREAPI BNTagType* BNCreateTagType(BNBinaryView* view) { return {}; } -BINARYNINJACOREAPI BNTagType* BNNewTagTypeReference(BNTagType* tagType) { +BINARYNINJACOREAPI void BNFreeTypeContainer(BNTypeContainer* container) {} +BINARYNINJACOREAPI BNTypeContainer* BNDuplicateTypeContainer( + BNTypeContainer* container) { return {}; } -BINARYNINJACOREAPI void BNFreeTagType(BNTagType* tagType) {} +BINARYNINJACOREAPI char* BNTypeContainerGetId(BNTypeContainer* container) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeContainerGetName(BNTypeContainer* container) { + return {}; +} +BINARYNINJACOREAPI BNTypeContainerType +BNTypeContainerGetType(BNTypeContainer* container) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerIsMutable(BNTypeContainer* container) { + return {}; +} +BINARYNINJACOREAPI BNPlatform* BNTypeContainerGetPlatform( + BNTypeContainer* container) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerAddTypes( + BNTypeContainer* container, const BNQualifiedName* typeNames, + BNType** types, size_t typeCount, bool (*progress)(void*, size_t, size_t), + void* progressContext, BNQualifiedName** resultNames, char*** resultIds, + size_t* resultCount) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerRenameType( + BNTypeContainer* container, const char* typeId, + const BNQualifiedName* newName) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerDeleteType(BNTypeContainer* container, + const char* typeId) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeId( + BNTypeContainer* container, const BNQualifiedName* typeName, + char** result) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeName(BNTypeContainer* container, + const char* typeId, + BNQualifiedName* result) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeById(BNTypeContainer* container, + const char* typeId, + BNType** result) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypes(BNTypeContainer* container, + char*** typeIds, + BNQualifiedName** typeNames, + BNType*** types, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeByName( + BNTypeContainer* container, const BNQualifiedName* typeName, + BNType** result) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeIds(BNTypeContainer* container, + char*** typeIds, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeNames(BNTypeContainer* container, + BNQualifiedName** typeNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeNamesAndIds( + BNTypeContainer* container, char*** typeIds, BNQualifiedName** typeNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerParseTypeString( + BNTypeContainer* container, const char* source, bool importDepencencies, + BNQualifiedNameAndType* result, BNTypeParserError** errors, + size_t* errorCount) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerParseTypesFromSource( + BNTypeContainer* container, const char* source, const char* fileName, + const char* const* options, size_t optionCount, + const char* const* includeDirs, size_t includeDirCount, + const char* autoTypeSource, bool importDepencencies, + BNTypeParserResult* result, BNTypeParserError** errors, + size_t* errorCount) { + return {}; +} +BINARYNINJACOREAPI BNTagType* BNCreateTagType(BNBinaryView* view) { return {}; } +BINARYNINJACOREAPI BNTagType* BNNewTagTypeReference(BNTagType* tagType) { + return {}; +} +BINARYNINJACOREAPI void BNFreeTagType(BNTagType* tagType) {} BINARYNINJACOREAPI void BNFreeTagTypeList(BNTagType** tagTypes, size_t count) {} BINARYNINJACOREAPI BNBinaryView* BNTagTypeGetView(BNTagType* tagType) { return {}; @@ -3758,6 +4316,24 @@ BNGetDisassemblyGutterWidth(BNDisassemblySettings* settings) { } BINARYNINJACOREAPI void BNSetDisassemblyGutterWidth( BNDisassemblySettings* settings, size_t width) {} +BINARYNINJACOREAPI BNDisassemblyAddressMode +BNGetDisassemblyAddressMode(BNDisassemblySettings* settings) { + return {}; +} +BINARYNINJACOREAPI void BNSetDisassemblyAddressMode( + BNDisassemblySettings* settings, BNDisassemblyAddressMode mode) {} +BINARYNINJACOREAPI uint64_t +BNGetDisassemblyAddressBaseOffset(BNDisassemblySettings* settings) { + return {}; +} +BINARYNINJACOREAPI void BNSetDisassemblyAddressBaseOffset( + BNDisassemblySettings* settings, uint64_t addressBaseOffset) {} +BINARYNINJACOREAPI BNDisassemblyCallParameterHints +BNGetDisassemblyCallParameterHints(BNDisassemblySettings* settings) { + return {}; +} +BINARYNINJACOREAPI void BNSetDisassemblyCallParameterHints( + BNDisassemblySettings* settings, BNDisassemblyCallParameterHints hints) {} BINARYNINJACOREAPI BNFlowGraph* BNCreateFlowGraph(void) { return {}; } BINARYNINJACOREAPI BNFlowGraph* BNCreateFunctionGraph( BNFunction* func, BNFunctionGraphType type, @@ -4587,6 +5163,15 @@ BINARYNINJACOREAPI bool BNIsMediumLevelILSSAVarLive( BNMediumLevelILFunction* func, const BNVariable* var, size_t version) { return {}; } +BINARYNINJACOREAPI bool BNIsMediumLevelILSSAVarLiveAt( + BNMediumLevelILFunction* func, const BNVariable* var, size_t version, + const size_t instr) { + return {}; +} +BINARYNINJACOREAPI bool BNIsMediumLevelILVarLiveAt( + BNMediumLevelILFunction* func, const BNVariable* var, const size_t instr) { + return {}; +} BINARYNINJACOREAPI BNVariable* BNGetMediumLevelILVariables( BNMediumLevelILFunction* func, size_t* count) { return {}; @@ -5053,8 +5638,15 @@ BINARYNINJACOREAPI BNMetadata* BNTypeLibraryQueryMetadata(BNTypeLibrary* lib, const char* key) { return {}; } +BINARYNINJACOREAPI BNMetadata* BNTypeLibraryGetMetadata(BNTypeLibrary* lib) { + return {}; +} BINARYNINJACOREAPI void BNTypeLibraryRemoveMetadata(BNTypeLibrary* lib, const char* key) {} +BINARYNINJACOREAPI BNTypeContainer* BNGetTypeLibraryTypeContainer( + BNTypeLibrary* lib) { + return {}; +} BINARYNINJACOREAPI void BNAddTypeLibraryNamedObject(BNTypeLibrary* lib, BNQualifiedName* name, BNType* type) {} @@ -5080,8 +5672,10 @@ BINARYNINJACOREAPI BNQualifiedNameAndType* BNGetTypeLibraryNamedTypes( BNTypeLibrary* lib, size_t* count) { return {}; } -BINARYNINJACOREAPI void BNWriteTypeLibraryToFile(BNTypeLibrary* lib, - const char* path) {} +BINARYNINJACOREAPI bool BNWriteTypeLibraryToFile(BNTypeLibrary* lib, + const char* path) { + return {}; +} BINARYNINJACOREAPI void BNAddBinaryViewTypeLibrary(BNBinaryView* view, BNTypeLibrary* lib) {} BINARYNINJACOREAPI BNTypeLibrary* BNGetBinaryViewTypeLibrary(BNBinaryView* view, @@ -5100,6 +5694,14 @@ BINARYNINJACOREAPI BNType* BNBinaryViewImportTypeLibraryObject( BNBinaryView* view, BNTypeLibrary** lib, BNQualifiedName* name) { return {}; } +BINARYNINJACOREAPI BNType* BNBinaryViewImportTypeLibraryTypeByGuid( + BNBinaryView* view, const char* guid) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName +BNBinaryViewGetTypeNameByGuid(BNBinaryView* view, const char* guid) { + return {}; +} BINARYNINJACOREAPI void BNBinaryViewExportTypeToTypeLibrary( BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name, BNType* type) {} @@ -5198,6 +5800,7 @@ BINARYNINJACOREAPI char* BNGetTypeAndName(BNType* type, BNQualifiedName* name, return {}; } BINARYNINJACOREAPI void BNFreeType(BNType* type) {} +BINARYNINJACOREAPI void BNFreeTypeList(BNType** types, size_t count) {} BINARYNINJACOREAPI BNTypeBuilder* BNCreateTypeBuilderFromType(BNType* type) { return {}; } @@ -5336,11 +5939,30 @@ BINARYNINJACOREAPI BNNamedTypeReference* BNGetRegisteredTypeName(BNType* type) { BINARYNINJACOREAPI BNReferenceType BNTypeGetReferenceType(BNType* type) { return {}; } +BINARYNINJACOREAPI BNPointerBaseType BNTypeGetPointerBaseType(BNType* type) { + return {}; +} +BINARYNINJACOREAPI int64_t BNTypeGetPointerBaseOffset(BNType* type) { + return {}; +} BINARYNINJACOREAPI char* BNGetTypeAlternateName(BNType* type) { return {}; } BINARYNINJACOREAPI uint32_t BNTypeGetSystemCallNumber(BNType* type) { return {}; } BINARYNINJACOREAPI bool BNTypeIsSystemCall(BNType* type) { return {}; } +BINARYNINJACOREAPI BNPointerSuffix* BNGetTypePointerSuffix(BNType* type, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypePointerSuffixString(BNType* type) { + return {}; +} +BINARYNINJACOREAPI BNInstructionTextToken* BNGetTypePointerSuffixTokens( + BNType* type, uint8_t baseConfidence, size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreePointerSuffixList(BNPointerSuffix* suffix, + size_t count) {} BINARYNINJACOREAPI char* BNGetTypeString(BNType* type, BNPlatform* platform, BNTokenEscapingType escaping) { return {}; @@ -5391,7 +6013,7 @@ BINARYNINJACOREAPI bool BNAddTypeMemberTokens(BNType* type, BNBinaryView* data, return {}; } BINARYNINJACOREAPI BNTypeDefinitionLine* BNGetTypeLines( - BNType* type, BNBinaryView* data, const char* name, int lineWidth, + BNType* type, BNTypeContainer* types, const char* name, int paddingCols, bool collapsed, BNTokenEscapingType escaping, size_t* count) { return {}; } @@ -5475,12 +6097,19 @@ BINARYNINJACOREAPI uint64_t BNGetTypeBuilderOffset(BNTypeBuilder* type) { } BINARYNINJACOREAPI void BNSetTypeBuilderOffset(BNTypeBuilder* type, uint64_t offset) {} +BINARYNINJACOREAPI void BNSetTypeBuilderPointerBase(BNTypeBuilder* type, + BNPointerBaseType baseType, + int64_t baseOffset) {} BINARYNINJACOREAPI void BNSetFunctionTypeBuilderCanReturn( BNTypeBuilder* type, BNBoolWithConfidence* canReturn) {} BINARYNINJACOREAPI void BNSetTypeBuilderPure(BNTypeBuilder* type, BNBoolWithConfidence* pure) {} BINARYNINJACOREAPI void BNSetFunctionTypeBuilderParameters( BNTypeBuilder* type, BNFunctionParameter* params, size_t paramCount) {} +BINARYNINJACOREAPI void BNTypeBuilderSetWidth(BNTypeBuilder* type, + size_t width) {} +BINARYNINJACOREAPI void BNTypeBuilderSetAlignment(BNTypeBuilder* type, + size_t alignment) {} BINARYNINJACOREAPI void BNTypeBuilderSetConst(BNTypeBuilder* type, BNBoolWithConfidence* cnst) {} BINARYNINJACOREAPI void BNTypeBuilderSetVolatile(BNTypeBuilder* type, @@ -5502,6 +6131,14 @@ BINARYNINJACOREAPI BNReferenceType BNTypeBuilderGetReferenceType(BNTypeBuilder* type) { return {}; } +BINARYNINJACOREAPI BNPointerBaseType +BNTypeBuilderGetPointerBaseType(BNTypeBuilder* type) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNTypeBuilderGetPointerBaseOffset(BNTypeBuilder* type) { + return {}; +} BINARYNINJACOREAPI char* BNGetTypeBuilderAlternateName(BNTypeBuilder* type) { return {}; } @@ -5514,6 +6151,23 @@ BNTypeBuilderGetSystemCallNumber(BNTypeBuilder* type) { } BINARYNINJACOREAPI void BNTypeBuilderSetStackAdjustment( BNTypeBuilder* type, BNOffsetWithConfidence* adjust) {} +BINARYNINJACOREAPI BNPointerSuffix* BNGetTypeBuilderPointerSuffix( + BNTypeBuilder* type, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeBuilderPointerSuffixString( + BNTypeBuilder* type) { + return {}; +} +BINARYNINJACOREAPI BNInstructionTextToken* BNGetTypeBuilderPointerSuffixTokens( + BNTypeBuilder* type, uint8_t baseConfidence, size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNAddTypeBuilderPointerSuffix(BNTypeBuilder* type, + BNPointerSuffix ps) {} +BINARYNINJACOREAPI void BNSetTypeBuilderPointerSuffix(BNTypeBuilder* type, + BNPointerSuffix* suffix, + size_t count) {} BINARYNINJACOREAPI char* BNGetTypeBuilderString(BNTypeBuilder* type, BNPlatform* platform) { return {}; @@ -5590,6 +6244,8 @@ BNGetTypeReferenceName(BNNamedTypeReference* nt) { return {}; } BINARYNINJACOREAPI void BNFreeQualifiedName(BNQualifiedName* name) {} +BINARYNINJACOREAPI void BNFreeQualifiedNameArray(BNQualifiedName* names, + size_t count) {} BINARYNINJACOREAPI void BNFreeNamedTypeReference(BNNamedTypeReference* nt) {} BINARYNINJACOREAPI BNNamedTypeReference* BNNewNamedTypeReference( BNNamedTypeReference* nt) { @@ -5663,7 +6319,7 @@ BINARYNINJACOREAPI BNStructureMember* BNGetStructureMembers(BNStructure* s, BINARYNINJACOREAPI void BNFreeStructureMemberList(BNStructureMember* members, size_t count) {} BINARYNINJACOREAPI BNInheritedStructureMember* -BNGetStructureMembersIncludingInherited(BNStructure* s, BNBinaryView* view, +BNGetStructureMembersIncludingInherited(BNStructure* s, BNTypeContainer* types, size_t* count) { return {}; } @@ -5856,15 +6512,55 @@ BINARYNINJACOREAPI bool BNCheckForStringAnnotationType( bool allowShortStrings, bool allowLargeStrings, size_t childWidth) { return {}; } -BINARYNINJACOREAPI BNBinaryView* BNLoadFilename( - const char* const filename, const bool updateAnalysis, - bool (*progress)(size_t, size_t), const BNMetadata* const options) { +BINARYNINJACOREAPI BNBinaryView* BNLoadFilename(const char* const filename, + const bool updateAnalysis, + const char* options, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNBinaryView* BNLoadProjectFile(BNProjectFile* projectFile, + const bool updateAnalysis, + const char* options, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNBinaryView* BNLoadBinaryView(BNBinaryView* view, + const bool updateAnalysis, + const char* options, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary* BNBinaryViewAddExternalLibrary( + BNBinaryView* view, const char* name, BNProjectFile* backingFile, + bool isAuto) { + return {}; +} +BINARYNINJACOREAPI void BNBinaryViewRemoveExternalLibrary(BNBinaryView* view, + const char* name) {} +BINARYNINJACOREAPI BNExternalLibrary* BNBinaryViewGetExternalLibrary( + BNBinaryView* view, const char* name) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary** BNBinaryViewGetExternalLibraries( + BNBinaryView* view, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNExternalLocation* BNBinaryViewAddExternalLocation( + BNBinaryView* view, BNSymbol* sourceSymbol, BNExternalLibrary* library, + const char* targetSymbol, uint64_t* targetAddress, bool isAuto) { + return {}; +} +BINARYNINJACOREAPI void BNBinaryViewRemoveExternalLocation( + BNBinaryView* view, BNSymbol* sourceSymbol) {} +BINARYNINJACOREAPI BNExternalLocation* BNBinaryViewGetExternalLocation( + BNBinaryView* view, BNSymbol* sourceSymbol) { return {}; } -BINARYNINJACOREAPI BNBinaryView* BNLoadBinaryView( - BNBinaryView* view, const bool updateAnalysis, - bool (*progress)(size_t, size_t), const BNMetadata* const options, - const bool isDatabase) { +BINARYNINJACOREAPI BNExternalLocation** BNBinaryViewGetExternalLocations( + BNBinaryView* view, size_t* count) { return {}; } BINARYNINJACOREAPI bool BNPreprocessSource(const char* source, @@ -5909,16 +6605,16 @@ BINARYNINJACOREAPI bool BNGetTypeParserOptionText(BNTypeParser* parser, } BINARYNINJACOREAPI bool BNTypeParserPreprocessSource( BNTypeParser* parser, const char* source, const char* fileName, - BNPlatform* platform, const BNQualifiedNameTypeAndId* existingTypes, - size_t existingTypeCount, const char* const* options, size_t optionCount, + BNPlatform* platform, BNTypeContainer* existingTypes, + const char* const* options, size_t optionCount, const char* const* includeDirs, size_t includeDirCount, char** output, BNTypeParserError** errors, size_t* errorCount) { return {}; } BINARYNINJACOREAPI bool BNTypeParserParseTypesFromSource( BNTypeParser* parser, const char* source, const char* fileName, - BNPlatform* platform, const BNQualifiedNameTypeAndId* existingTypes, - size_t existingTypeCount, const char* const* options, size_t optionCount, + BNPlatform* platform, BNTypeContainer* existingTypes, + const char* const* options, size_t optionCount, const char* const* includeDirs, size_t includeDirCount, const char* autoTypeSource, BNTypeParserResult* result, BNTypeParserError** errors, size_t* errorCount) { @@ -5926,9 +6622,8 @@ BINARYNINJACOREAPI bool BNTypeParserParseTypesFromSource( } BINARYNINJACOREAPI bool BNTypeParserParseTypeString( BNTypeParser* parser, const char* source, BNPlatform* platform, - const BNQualifiedNameTypeAndId* existingTypes, size_t existingTypeCount, - BNQualifiedNameAndType* result, BNTypeParserError** errors, - size_t* errorCount) { + BNTypeContainer* existingTypes, BNQualifiedNameAndType* result, + BNTypeParserError** errors, size_t* errorCount) { return {}; } BINARYNINJACOREAPI char** BNParseTypeParserOptionsText(const char* optionsText, @@ -5987,21 +6682,21 @@ BINARYNINJACOREAPI bool BNGetTypePrinterTypeStringAfterName( return {}; } BINARYNINJACOREAPI bool BNGetTypePrinterTypeLines( - BNTypePrinter* printer, BNType* type, BNBinaryView* data, - BNQualifiedName* name, int lineWidth, bool collapsed, + BNTypePrinter* printer, BNType* type, BNTypeContainer* types, + BNQualifiedName* name, int paddingCols, bool collapsed, BNTokenEscapingType escaping, BNTypeDefinitionLine** result, size_t* resultCount) { return {}; } BINARYNINJACOREAPI bool BNTypePrinterPrintAllTypes( BNTypePrinter* printer, BNQualifiedName* names, BNType** types, - size_t typeCount, BNBinaryView* data, int lineWidth, + size_t typeCount, BNBinaryView* data, int paddingCols, BNTokenEscapingType escaping, char** result) { return {}; } BINARYNINJACOREAPI bool BNTypePrinterDefaultPrintAllTypes( BNTypePrinter* printer, BNQualifiedName* names, BNType** types, - size_t typeCount, BNBinaryView* data, int lineWidth, + size_t typeCount, BNBinaryView* data, int paddingCols, BNTokenEscapingType escaping, char** result) { return {}; } @@ -6020,22 +6715,28 @@ BINARYNINJACOREAPI BNUpdateVersion* BNGetUpdateChannelVersions( } BINARYNINJACOREAPI void BNFreeUpdateChannelVersionList(BNUpdateVersion* list, size_t count) {} +BINARYNINJACOREAPI BNUpdateChannelFullInfo* BNGetFullInfoUpdateChannels( + size_t* count, char** errors) { + return {}; +} +BINARYNINJACOREAPI void BNFreeFullInfoUpdateChannels( + BNUpdateChannelFullInfo* list, size_t count) {} BINARYNINJACOREAPI bool BNAreUpdatesAvailable(const char* channel, uint64_t* expireTime, uint64_t* serverTime, char** errors) { return {}; } -BINARYNINJACOREAPI BNUpdateResult BNUpdateToVersion( - const char* channel, const char* version, char** errors, - bool (*progress)(void* ctxt, uint64_t progress, uint64_t total), - void* context) { +BINARYNINJACOREAPI BNUpdateResult BNUpdateToVersion(const char* channel, + const char* version, + char** errors, + BNProgressFunction progress, + void* context) { return {}; } -BINARYNINJACOREAPI BNUpdateResult BNUpdateToLatestVersion( - const char* channel, char** errors, - bool (*progress)(void* ctxt, uint64_t progress, uint64_t total), - void* context) { +BINARYNINJACOREAPI BNUpdateResult +BNUpdateToLatestVersion(const char* channel, char** errors, + BNProgressFunction progress, void* context) { return {}; } BINARYNINJACOREAPI bool BNAreAutoUpdatesEnabled(void) { return {}; } @@ -6252,14 +6953,14 @@ BINARYNINJACOREAPI BNRegisterValue BNGetIncomingFlagValue( BNCallingConvention* cc, uint32_t reg, BNFunction* func) { return {}; } -BINARYNINJACOREAPI BNVariable* BNGetVariablesForParametersDefaultIntArgs( +BINARYNINJACOREAPI BNVariable* BNGetVariablesForParametersDefaultPermittedArgs( BNCallingConvention* cc, const BNFunctionParameter* params, size_t paramCount, size_t* count) { return {}; } BINARYNINJACOREAPI BNVariable* BNGetVariablesForParameters( BNCallingConvention* cc, const BNFunctionParameter* params, - size_t paramCount, const uint32_t* intArgs, size_t intArgCount, + size_t paramCount, const uint32_t* permittedArgs, size_t permittedArgCount, size_t* count) { return {}; } @@ -6329,6 +7030,16 @@ BINARYNINJACOREAPI BNPlatform* BNCreatePlatformWithTypes( const char** includeDirs, size_t includeDirCount) { return {}; } +BINARYNINJACOREAPI BNPlatform* BNCreateCustomPlatform(BNArchitecture* arch, + const char* name, + BNCustomPlatform* impl) { + return {}; +} +BINARYNINJACOREAPI BNPlatform* BNCreateCustomPlatformWithTypes( + BNArchitecture* arch, const char* name, BNCustomPlatform* impl, + const char* typeFile, const char** includeDirs, size_t includeDirCount) { + return {}; +} BINARYNINJACOREAPI void BNRegisterPlatform(const char* os, BNPlatform* platform) {} BINARYNINJACOREAPI BNPlatform* BNNewPlatformReference(BNPlatform* platform) { @@ -6396,6 +7107,20 @@ BINARYNINJACOREAPI void BNRegisterPlatformFastcallCallingConvention( BNPlatform* platform, BNCallingConvention* cc) {} BINARYNINJACOREAPI void BNSetPlatformSystemCallConvention( BNPlatform* platform, BNCallingConvention* cc) {} +BINARYNINJACOREAPI uint32_t* BNGetPlatformGlobalRegisters(BNPlatform* platform, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNType* BNGetPlatformGlobalRegisterType(BNPlatform* platform, + uint32_t reg) { + return {}; +} +BINARYNINJACOREAPI void BNPlatformAdjustTypeParserInput( + BNPlatform* platform, 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) {} BINARYNINJACOREAPI BNPlatform* BNGetArchitectureStandalonePlatform( BNArchitecture* arch) { return {}; @@ -6407,10 +7132,18 @@ BINARYNINJACOREAPI BNPlatform* BNGetRelatedPlatform(BNPlatform* platform, BINARYNINJACOREAPI void BNAddRelatedPlatform(BNPlatform* platform, BNArchitecture* arch, BNPlatform* related) {} +BINARYNINJACOREAPI BNPlatform** BNGetRelatedPlatforms(BNPlatform* platform, + size_t* count) { + return {}; +} BINARYNINJACOREAPI BNPlatform* BNGetAssociatedPlatformByAddress( BNPlatform* platform, uint64_t* addr) { return {}; } +BINARYNINJACOREAPI BNTypeContainer* BNGetPlatformTypeContainer( + BNPlatform* platform) { + return {}; +} BINARYNINJACOREAPI BNQualifiedNameAndType* BNGetPlatformTypes( BNPlatform* platform, size_t* count) { return {}; @@ -6695,6 +7428,10 @@ BINARYNINJACOREAPI char* BNScriptingInstanceCompleteInput( } BINARYNINJACOREAPI void BNStopScriptingInstance(BNScriptingInstance* instance) { } +BINARYNINJACOREAPI size_t BNFuzzyMatchSingle(const char* target, + const char* query) { + return {}; +} BINARYNINJACOREAPI void BNRegisterMainThread(BNMainThreadCallbacks* callbacks) { } BINARYNINJACOREAPI BNMainThreadAction* BNNewMainThreadActionReference( @@ -6732,6 +7469,7 @@ BINARYNINJACOREAPI void BNWorkerInteractiveEnqueueNamed( void* ctxt, void (*action)(void* ctxt), const char* name) {} BINARYNINJACOREAPI size_t BNGetWorkerThreadCount(void) { return {}; } BINARYNINJACOREAPI void BNSetWorkerThreadCount(size_t count) {} +BINARYNINJACOREAPI void BNSetThreadName(const char* name) {} BINARYNINJACOREAPI BNBackgroundTask* BNBeginBackgroundTask( const char* initialText, bool canCancel) { return {}; @@ -6757,6 +7495,10 @@ BINARYNINJACOREAPI char* BNGetBackgroundTaskProgressText( BNBackgroundTask* task) { return {}; } +BINARYNINJACOREAPI uint64_t +BNGetBackgroundTaskRuntimeSeconds(BNBackgroundTask* task) { + return {}; +} BINARYNINJACOREAPI bool BNCanCancelBackgroundTask(BNBackgroundTask* task) { return {}; } @@ -6799,6 +7541,13 @@ BINARYNINJACOREAPI bool BNGetChoiceInput(size_t* result, const char* prompt, const char** choices, size_t count) { return {}; } +BINARYNINJACOREAPI bool BNGetLargeChoiceInput(size_t* result, + const char* prompt, + const char* title, + const char** choices, + size_t count) { + return {}; +} BINARYNINJACOREAPI bool BNGetOpenFileNameInput(char** result, const char* prompt, const char* ext) { @@ -6905,6 +7654,17 @@ BINARYNINJACOREAPI bool BNDemangleGNU3WithOptions( } BINARYNINJACOREAPI void BNFreeDemangledName(char*** name, size_t nameElements) { } +BINARYNINJACOREAPI bool BNDemangleLLVM(const char* mangledName, + char*** outVarName, + size_t* outVarNameElements, + const bool simplify) { + return {}; +} +BINARYNINJACOREAPI bool BNDemangleLLVMWithOptions( + const char* mangledName, char*** outVarName, size_t* outVarNameElements, + const BNBinaryView* const view) { + return {}; +} BINARYNINJACOREAPI char** BNPluginGetApis(BNRepoPlugin* p, size_t* count) { return {}; } @@ -6912,16 +7672,25 @@ BINARYNINJACOREAPI const char* BNPluginGetAuthor(BNRepoPlugin* p) { return {}; } BINARYNINJACOREAPI const char* BNPluginGetDescription(BNRepoPlugin* p) { return {}; } -BINARYNINJACOREAPI const char* BNPluginGetLicense(BNRepoPlugin* p) { - return {}; -} BINARYNINJACOREAPI const char* BNPluginGetLicenseText(BNRepoPlugin* p) { return {}; } BINARYNINJACOREAPI const char* BNPluginGetLongdescription(BNRepoPlugin* p) { return {}; } -BINARYNINJACOREAPI uint64_t BNPluginGetMinimumVersion(BNRepoPlugin* p) { +BINARYNINJACOREAPI BNVersionInfo +BNPluginGetMinimumVersionInfo(BNRepoPlugin* p) { + return {}; +} +BINARYNINJACOREAPI BNVersionInfo +BNPluginGetMaximumVersionInfo(BNRepoPlugin* p) { + return {}; +} +BINARYNINJACOREAPI BNVersionInfo BNParseVersionString(const char* v) { + return {}; +} +BINARYNINJACOREAPI bool BNVersionLessThan(const BNVersionInfo smaller, + const BNVersionInfo larger) { return {}; } BINARYNINJACOREAPI const char* BNPluginGetName(BNRepoPlugin* p) { return {}; } @@ -6967,10 +7736,6 @@ BINARYNINJACOREAPI bool BNPluginInstallDependencies(BNRepoPlugin* p) { } BINARYNINJACOREAPI bool BNPluginUninstall(BNRepoPlugin* p) { return {}; } BINARYNINJACOREAPI bool BNPluginUpdate(BNRepoPlugin* p) { return {}; } -BINARYNINJACOREAPI char* BNPluginGetInstallInstructions(BNRepoPlugin* p, - const char* platform) { - return {}; -} BINARYNINJACOREAPI char** BNPluginGetPlatforms(BNRepoPlugin* p, size_t* count) { return {}; } @@ -7157,10 +7922,8 @@ BINARYNINJACOREAPI int BNLlvmServicesAssemble(const char* src, int dialect, return {}; } BINARYNINJACOREAPI void BNLlvmServicesAssembleFree(char* outBytes, char* err) {} -BINARYNINJACOREAPI int BNDeleteFile(const char* path) { return {}; } -BINARYNINJACOREAPI int BNDeleteDirectory(const char* path, int contentsOnly) { - return {}; -} +BINARYNINJACOREAPI bool BNDeleteFile(const char* path) { return {}; } +BINARYNINJACOREAPI bool BNDeleteDirectory(const char* path) { return {}; } BINARYNINJACOREAPI bool BNCreateDirectory(const char* path, bool createSubdirectories) { return {}; @@ -7178,10 +7941,8 @@ BINARYNINJACOREAPI bool BNRenameFile(const char* source, const char* dest) { BINARYNINJACOREAPI bool BNCopyFile(const char* source, const char* dest) { return {}; } -BINARYNINJACOREAPI const char* BNGetFileName(const char* path) { return {}; } -BINARYNINJACOREAPI const char* BNGetFileExtension(const char* path) { - return {}; -} +BINARYNINJACOREAPI char* BNGetFileName(const char* path) { return {}; } +BINARYNINJACOREAPI char* BNGetFileExtension(const char* path) { return {}; } BINARYNINJACOREAPI char** BNGetFilePathsInDirectory(const char* path, size_t* count) { return {}; @@ -7283,104 +8044,109 @@ BINARYNINJACOREAPI char* BNSettingsSerializeSchema(BNSettings* settings) { BINARYNINJACOREAPI bool BNDeserializeSettings(BNSettings* settings, const char* contents, BNBinaryView* view, + BNFunction* func, BNSettingsScope scope) { return {}; } BINARYNINJACOREAPI char* BNSerializeSettings(BNSettings* settings, BNBinaryView* view, + BNFunction* func, BNSettingsScope scope) { return {}; } BINARYNINJACOREAPI bool BNSettingsReset(BNSettings* settings, const char* key, - BNBinaryView* view, + BNBinaryView* view, BNFunction* func, BNSettingsScope scope) { return {}; } BINARYNINJACOREAPI bool BNSettingsResetAll(BNSettings* settings, - BNBinaryView* view, + BNBinaryView* view, BNFunction* func, BNSettingsScope scope, bool schemaOnly) { return {}; } BINARYNINJACOREAPI bool BNSettingsGetBool(BNSettings* settings, const char* key, - BNBinaryView* view, + BNBinaryView* view, BNFunction* func, BNSettingsScope* scope) { return {}; } BINARYNINJACOREAPI double BNSettingsGetDouble(BNSettings* settings, const char* key, BNBinaryView* view, + BNFunction* func, BNSettingsScope* scope) { return {}; } BINARYNINJACOREAPI int64_t BNSettingsGetInt64(BNSettings* settings, const char* key, BNBinaryView* view, + BNFunction* func, BNSettingsScope* scope) { return {}; } BINARYNINJACOREAPI uint64_t BNSettingsGetUInt64(BNSettings* settings, const char* key, BNBinaryView* view, + BNFunction* func, BNSettingsScope* scope) { return {}; } BINARYNINJACOREAPI char* BNSettingsGetString(BNSettings* settings, const char* key, BNBinaryView* view, + BNFunction* func, BNSettingsScope* scope) { return {}; } -BINARYNINJACOREAPI const char** BNSettingsGetStringList(BNSettings* settings, - const char* key, - BNBinaryView* view, - BNSettingsScope* scope, - size_t* inoutSize) { +BINARYNINJACOREAPI const char** BNSettingsGetStringList( + BNSettings* settings, const char* key, BNBinaryView* view, BNFunction* func, + BNSettingsScope* scope, size_t* inoutSize) { return {}; } BINARYNINJACOREAPI char* BNSettingsGetJson(BNSettings* settings, const char* key, BNBinaryView* view, + BNFunction* func, BNSettingsScope* scope) { return {}; } BINARYNINJACOREAPI bool BNSettingsSetBool(BNSettings* settings, - BNBinaryView* view, + BNBinaryView* view, BNFunction* func, BNSettingsScope scope, const char* key, bool value) { return {}; } BINARYNINJACOREAPI bool BNSettingsSetDouble(BNSettings* settings, BNBinaryView* view, + BNFunction* func, BNSettingsScope scope, const char* key, double value) { return {}; } BINARYNINJACOREAPI bool BNSettingsSetInt64(BNSettings* settings, - BNBinaryView* view, + BNBinaryView* view, BNFunction* func, BNSettingsScope scope, const char* key, int64_t value) { return {}; } BINARYNINJACOREAPI bool BNSettingsSetUInt64(BNSettings* settings, BNBinaryView* view, + BNFunction* func, BNSettingsScope scope, const char* key, uint64_t value) { return {}; } -BINARYNINJACOREAPI bool BNSettingsSetString(BNSettings* settings, - BNBinaryView* view, - BNSettingsScope scope, - const char* key, - const char* value) { +BINARYNINJACOREAPI bool BNSettingsSetString( + BNSettings* settings, BNBinaryView* view, BNFunction* func, + BNSettingsScope scope, const char* key, const char* value) { return {}; } BINARYNINJACOREAPI bool BNSettingsSetStringList( - BNSettings* settings, BNBinaryView* view, BNSettingsScope scope, - const char* key, const char** value, size_t size) { + BNSettings* settings, BNBinaryView* view, BNFunction* func, + BNSettingsScope scope, const char* key, const char** value, size_t size) { return {}; } BINARYNINJACOREAPI bool BNSettingsSetJson(BNSettings* settings, - BNBinaryView* view, + BNBinaryView* view, BNFunction* func, BNSettingsScope scope, const char* key, const char* value) { return {}; @@ -7510,6 +8276,9 @@ BINARYNINJACOREAPI BNMetadataValueStore* BNMetadataGetValueStore( BNMetadata* data) { return {}; } +BINARYNINJACOREAPI char* BNMetadataGetJsonString(BNMetadata* data) { + return {}; +} BINARYNINJACOREAPI BNMetadataType BNMetadataGetType(BNMetadata* data) { return {}; } @@ -7546,6 +8315,12 @@ BINARYNINJACOREAPI BNMetadata* BNBinaryViewQueryMetadata(BNBinaryView* view, } BINARYNINJACOREAPI void BNBinaryViewRemoveMetadata(BNBinaryView* view, const char* key) {} +BINARYNINJACOREAPI BNMetadata* BNBinaryViewGetMetadata(BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI BNMetadata* BNBinaryViewGetAutoMetadata(BNBinaryView* view) { + return {}; +} BINARYNINJACOREAPI char** BNBinaryViewGetLoadSettingsTypeNames( BNBinaryView* view, size_t* count) { return {}; @@ -7588,23 +8363,6 @@ BINARYNINJACOREAPI BNSegment* BNNewSegmentReference(BNSegment* seg) { return {}; } BINARYNINJACOREAPI void BNFreeSegment(BNSegment* seg) {} -BINARYNINJACOREAPI BNRange* BNSegmentGetRelocationRanges(BNSegment* segment, - size_t* count) { - return {}; -} -BINARYNINJACOREAPI uint64_t BNSegmentGetRelocationsCount(BNSegment* segment) { - return {}; -} -BINARYNINJACOREAPI BNRange* BNSegmentGetRelocationRangesAtAddress( - BNSegment* segment, uint64_t addr, size_t* count) { - return {}; -} -BINARYNINJACOREAPI bool BNSegmentRangeContainsRelocation(BNSegment* segment, - uint64_t addr, - size_t size) { - return {}; -} -BINARYNINJACOREAPI void BNFreeRelocationRanges(BNRange* ranges) {} BINARYNINJACOREAPI uint64_t BNSegmentGetStart(BNSegment* segment) { return {}; } BINARYNINJACOREAPI uint64_t BNSegmentGetLength(BNSegment* segment) { return {}; @@ -7623,13 +8381,6 @@ BINARYNINJACOREAPI uint32_t BNSegmentGetFlags(BNSegment* segment) { return {}; } BINARYNINJACOREAPI bool BNSegmentIsAutoDefined(BNSegment* segment) { return {}; } -BINARYNINJACOREAPI void BNSegmentSetLength(BNSegment* segment, - uint64_t length) {} -BINARYNINJACOREAPI void BNSegmentSetDataOffset(BNSegment* segment, - uint64_t dataOffset) {} -BINARYNINJACOREAPI void BNSegmentSetDataLength(BNSegment* segment, - uint64_t dataLength) {} -BINARYNINJACOREAPI void BNSegmentSetFlags(BNSegment* segment, uint32_t flags) {} BINARYNINJACOREAPI BNSection* BNNewSectionReference(BNSection* section) { return {}; } @@ -7726,7 +8477,7 @@ BINARYNINJACOREAPI char* BNRustSimplifyStrToStr(const char* const) { BINARYNINJACOREAPI BNDebugInfoParser* BNRegisterDebugInfoParser( const char* name, bool (*isValid)(void*, BNBinaryView*), bool (*parseInfo)(void*, BNDebugInfo*, BNBinaryView*, BNBinaryView*, - bool (*)(void*, size_t, size_t), void*), + BNProgressFunction, void*), void* context) { return {}; } @@ -7749,10 +8500,12 @@ BINARYNINJACOREAPI bool BNIsDebugInfoParserValidForView( BNDebugInfoParser* parser, BNBinaryView* view) { return {}; } -BINARYNINJACOREAPI BNDebugInfo* BNParseDebugInfo( - BNDebugInfoParser* parser, BNBinaryView* view, BNBinaryView* debugFile, - BNDebugInfo* existingDebugInfo, bool (*progress)(void*, size_t, size_t), - void* progressCtxt) { +BINARYNINJACOREAPI BNDebugInfo* BNParseDebugInfo(BNDebugInfoParser* parser, + BNBinaryView* view, + BNBinaryView* debugFile, + BNDebugInfo* existingDebugInfo, + BNProgressFunction progress, + void* progressCtxt) { return {}; } BINARYNINJACOREAPI BNDebugInfoParser* BNNewDebugInfoParserReference( @@ -7772,6 +8525,10 @@ BINARYNINJACOREAPI char** BNGetDebugParserNames(BNDebugInfo* const debugInfo, size_t* count) { return {}; } +BINARYNINJACOREAPI BNTypeContainer* BNGetDebugInfoTypeContainer( + BNDebugInfo* debugInfo, const char* const parserName) { + return {}; +} BINARYNINJACOREAPI bool BNRemoveDebugParserInfo(BNDebugInfo* const debugInfo, const char* const parserName) { return {}; @@ -7790,7 +8547,9 @@ BINARYNINJACOREAPI bool BNRemoveDebugParserDataVariables( } BINARYNINJACOREAPI bool BNAddDebugType(BNDebugInfo* const debugInfo, const char* const name, - const BNType* const type) { + const BNType* const type, + const char** const components, + size_t components_count) { return {}; } BINARYNINJACOREAPI BNNameAndType* BNGetDebugTypes(BNDebugInfo* const debugInfo, @@ -7828,10 +8587,9 @@ BINARYNINJACOREAPI bool BNRemoveDebugFunctionByIndex( } BINARYNINJACOREAPI void BNFreeDebugFunctions(BNDebugFunctionInfo* functions, size_t count) {} -BINARYNINJACOREAPI bool BNAddDebugDataVariable(BNDebugInfo* const debugInfo, - uint64_t address, - const BNType* const type, - const char* name) { +BINARYNINJACOREAPI bool BNAddDebugDataVariable( + BNDebugInfo* const debugInfo, uint64_t address, const BNType* const type, + const char* name, const char** const components, size_t components_count) { return {}; } BINARYNINJACOREAPI bool BNAddDebugDataVariableInfo( @@ -7909,4 +8667,1506 @@ BINARYNINJACOREAPI void BNAppendSymbolQueue( void (*add)(void* ctxt, BNSymbol* symbol, BNType* type), void* addContext) { } BINARYNINJACOREAPI void BNProcessSymbolQueue(BNSymbolQueue* queue) {} +BINARYNINJACOREAPI bool BNCoreEnumToString(const char* enumName, size_t value, + char** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCoreEnumFromString(const char* enumName, + const char* value, + size_t* result) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNNewTypeArchiveReference( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI void BNFreeTypeArchiveReference(BNTypeArchive* archive) {} +BINARYNINJACOREAPI void BNFreeTypeArchiveList(BNTypeArchive** archives, + size_t count) {} +BINARYNINJACOREAPI BNTypeArchive* BNOpenTypeArchive(const char* path) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNCreateTypeArchive(const char* path, + BNPlatform* platform) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNCreateTypeArchiveWithId( + const char* path, BNPlatform* platform, const char* id) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNLookupTypeArchiveById(const char* id) { + return {}; +} +BINARYNINJACOREAPI void BNCloseTypeArchive(BNTypeArchive* archive) {} +BINARYNINJACOREAPI bool BNIsTypeArchive(const char* path) { return {}; } +BINARYNINJACOREAPI char* BNGetTypeArchiveId(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeArchivePath(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNPlatform* BNGetTypeArchivePlatform( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeArchiveCurrentSnapshotId( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI void BNSetTypeArchiveCurrentSnapshot(BNTypeArchive* archive, + const char* id) {} +BINARYNINJACOREAPI char** BNGetTypeArchiveAllSnapshotIds(BNTypeArchive* archive, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveSnapshotParentIds( + BNTypeArchive* archive, const char* id, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveSnapshotChildIds( + BNTypeArchive* archive, const char* id, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNTypeContainer* BNGetTypeArchiveTypeContainer( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI bool BNAddTypeArchiveTypes( + BNTypeArchive* archive, const BNQualifiedNameAndType* types, size_t count) { + return {}; +} +BINARYNINJACOREAPI bool BNRenameTypeArchiveType( + BNTypeArchive* archive, const char* id, const BNQualifiedName* newName) { + return {}; +} +BINARYNINJACOREAPI bool BNDeleteTypeArchiveType(BNTypeArchive* archive, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNType* BNGetTypeArchiveTypeById(BNTypeArchive* archive, + const char* id, + const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNType* BNGetTypeArchiveTypeByName( + BNTypeArchive* archive, const BNQualifiedName* name, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeArchiveTypeId(BNTypeArchive* archive, + const BNQualifiedName* name, + const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName BNGetTypeArchiveTypeName( + BNTypeArchive* archive, const char* id, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedNameTypeAndId* BNGetTypeArchiveTypes( + BNTypeArchive* archive, const char* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveTypeIds(BNTypeArchive* archive, + const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetTypeArchiveTypeNames( + BNTypeArchive* archive, const char* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNGetTypeArchiveTypeNamesAndIds(BNTypeArchive* archive, + const char* snapshot, + BNQualifiedName** names, + char*** ids, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveOutgoingDirectTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveOutgoingRecursiveTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveIncomingDirectTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveIncomingRecursiveTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveNewSnapshotTransaction( + BNTypeArchive* archive, bool (*func)(void* context, const char* id), + void* context, const char* const* parents, size_t parentCount) { + return {}; +} +BINARYNINJACOREAPI void BNRegisterTypeArchiveNotification( + BNTypeArchive* archive, BNTypeArchiveNotification* notification) {} +BINARYNINJACOREAPI void BNUnregisterTypeArchiveNotification( + BNTypeArchive* archive, BNTypeArchiveNotification* notification) {} +BINARYNINJACOREAPI bool BNTypeArchiveStoreMetadata(BNTypeArchive* archive, + const char* key, + BNMetadata* value) { + return {}; +} +BINARYNINJACOREAPI BNMetadata* BNTypeArchiveQueryMetadata( + BNTypeArchive* archive, const char* key) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeArchiveRemoveMetadata(BNTypeArchive* archive, + const char* key) { + return {}; +} +BINARYNINJACOREAPI BNDataBuffer* BNTypeArchiveSerializeSnapshot( + BNTypeArchive* archive, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveDeserializeSnapshot( + BNTypeArchive* archive, BNDataBuffer* buffer) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeArchiveMergeSnapshots( + BNTypeArchive* archive, const char* baseSnapshot, const char* firstSnapshot, + const char* secondSnapshot, const char* const* mergeConflictKeysIn, + const char* const* mergeConflictValuesIn, size_t mergeConflictCountIn, + char*** mergeConflictsOut, size_t* mergeConflictCountOut, char** result, + BNProgressFunction progress, void* context) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNBinaryViewAttachTypeArchive( + BNBinaryView* view, const char* id, const char* path) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewDetachTypeArchive(BNBinaryView* view, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNBinaryViewGetTypeArchive(BNBinaryView* view, + const char* id) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetTypeArchives(BNBinaryView* view, + char*** ids, + char*** paths) { + return {}; +} +BINARYNINJACOREAPI char* BNBinaryViewGetTypeArchivePath(BNBinaryView* view, + const char* id) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetTypeArchiveTypeNameList( + BNBinaryView* view, BNQualifiedName** names) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetTypeArchiveTypeNames( + BNBinaryView* view, BNQualifiedName* name, char*** archiveIds, + char*** archiveTypeIds) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetAssociatedTypeArchiveTypes( + BNBinaryView* view, char*** typeIds, char*** archiveIds, + char*** archiveTypeIds) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetAssociatedTypesFromArchive( + BNBinaryView* view, const char* archiveId, char*** typeIds, + char*** archiveTypeIds) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewGetAssociatedTypeArchiveTypeTarget( + BNBinaryView* view, const char* typeId, char** archiveId, + char** archiveTypeId) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewGetAssociatedTypeArchiveTypeSource( + BNBinaryView* view, const char* archiveId, const char* archiveTypeId, + char** typeId) { + return {}; +} +BINARYNINJACOREAPI BNSyncStatus +BNBinaryViewGetTypeArchiveSyncStatus(BNBinaryView* view, const char* typeId) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewDisassociateTypeArchiveType( + BNBinaryView* view, const char* typeId) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewPullTypeArchiveTypes( + BNBinaryView* view, const char* archiveId, + const char* const* archiveTypeIds, size_t archiveTypeIdCount, + char*** updatedArchiveTypeIds, char*** updatedAnalysisTypeIds, + size_t* updatedTypeCount) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewPushTypeArchiveTypes( + BNBinaryView* view, const char* archiveId, const char* const* typeIds, + size_t typeIdCount, char*** updatedAnalysisTypeIds, + char*** updatedArchiveTypeIds, size_t* updatedTypeCount) { + return {}; +} +BINARYNINJACOREAPI BNBaseAddressDetection* BNCreateBaseAddressDetection( + BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI bool BNDetectBaseAddress( + BNBaseAddressDetection* bad, BNBaseAddressDetectionSettings& settings) { + return {}; +} +BINARYNINJACOREAPI size_t BNGetBaseAddressDetectionScores( + BNBaseAddressDetection* bad, BNBaseAddressDetectionScore* scores, + size_t count, BNBaseAddressDetectionConfidence* confidence, + uint64_t* lastTestedBaseAddress) { + return {}; +} +BINARYNINJACOREAPI BNBaseAddressDetectionReason* +BNGetBaseAddressDetectionReasons(BNBaseAddressDetection* bad, + uint64_t baseAddress, size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreeBaseAddressDetectionReasons( + BNBaseAddressDetectionReason* reasons) {} +BINARYNINJACOREAPI void BNAbortBaseAddressDetection( + BNBaseAddressDetection* bad) {} +BINARYNINJACOREAPI bool BNIsBaseAddressDetectionAborted( + BNBaseAddressDetection* bad) { + return {}; +} +BINARYNINJACOREAPI void BNFreeBaseAddressDetection( + BNBaseAddressDetection* bad) {} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetActiveRemote() { return {}; } +BINARYNINJACOREAPI void BNCollaborationSetActiveRemote(BNRemote* remote) {} +BINARYNINJACOREAPI bool BNCollaborationStoreDataInKeychain( + const char* key, const char** dataKeys, const char** dataValues, + size_t dataCount) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationHasDataInKeychain(const char* key) { + return {}; +} +BINARYNINJACOREAPI size_t BNCollaborationGetDataFromKeychain( + const char* key, char*** foundKeys, char*** foundValues) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDeleteDataFromKeychain(const char* key) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationLoadRemotes() { return {}; } +BINARYNINJACOREAPI BNRemote** BNCollaborationGetRemotes(size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteById( + const char* remoteId) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteByAddress( + const char* remoteAddress) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteByName(const char* name) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationCreateRemote(const char* name, + const char* address) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationRemoveRemote(BNRemote* remote) {} +BINARYNINJACOREAPI void BNCollaborationSaveRemotes() {} +BINARYNINJACOREAPI bool BNCollaborationSyncDatabase( + BNDatabase* database, BNRemoteFile* file, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, void* progressCtxt, + BNCollaborationNameChangesetFunction nameChangeset, + void* nameChangesetCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSyncTypeArchive( + BNTypeArchive* archive, BNRemoteFile* file, + bool (*conflictHandler)(void*, BNTypeArchiveMergeConflict** conflicts, + size_t conflictCount), + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPushTypeArchive( + BNTypeArchive* archive, BNRemoteFile* file, size_t* count, + BNProgressFunction progress, void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPullTypeArchive( + BNTypeArchive* archive, BNRemoteFile* file, size_t* count, + bool (*conflictHandler)(void*, BNTypeArchiveMergeConflict** conflicts, + size_t conflictCount), + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsCollaborationTypeArchive( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteForLocalTypeArchive( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* +BNCollaborationGetRemoteProjectForLocalTypeArchive(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* +BNCollaborationGetRemoteFileForLocalTypeArchive(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* +BNCollaborationGetRemoteSnapshotFromLocalTypeArchive(BNTypeArchive* archive, + const char* snapshotId) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationGetLocalSnapshotFromRemoteTypeArchive( + BNCollaborationSnapshot* snapshot, BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsTypeArchiveSnapshotIgnored( + BNTypeArchive* archive, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSetSnapshotAuthor(BNDatabase* database, + BNSnapshot* snapshot, + const char* author) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationDefaultProjectPath( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationDefaultFilePath(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNCollaborationDownloadFile( + BNRemoteFile* file, const char* dbPath, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationUploadDatabase( + BNFileMetadata* metadata, BNRemoteProject* project, BNRemoteFolder* folder, + BNProgressFunction progress, void* progressContext, + BNCollaborationNameChangesetFunction nameChangeset, + void* nameChangesetContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsCollaborationDatabase( + BNDatabase* database) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteForLocalDatabase( + BNDatabase* database, BNRemote** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteProjectForLocalDatabase( + BNDatabase* database, BNRemoteProject** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteFileForLocalDatabase( + BNDatabase* database, BNRemoteFile** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationAssignSnapshotMap( + BNSnapshot* localSnapshot, BNCollaborationSnapshot* remoteSnapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteSnapshotFromLocal( + BNSnapshot* snapshot, BNCollaborationSnapshot** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetLocalSnapshotFromRemote( + BNCollaborationSnapshot* snapshot, BNDatabase* database, + BNSnapshot** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDownloadTypeArchive( + BNRemoteFile* file, const char* dbPath, BNProgressFunction progress, + void* progressContext, BNTypeArchive** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUploadTypeArchive( + BNTypeArchive* archive, BNRemoteProject* project, BNRemoteFolder* folder, + BNProgressFunction progress, void* progressContext, BNProjectFile* coreFile, + BNRemoteFile** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDownloadDatabaseForFile( + BNRemoteFile* file, const char* dbPath, bool force, + BNProgressFunction progress, void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNCollaborationMergeSnapshots( + BNSnapshot* first, BNSnapshot* second, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPullDatabase( + BNDatabase* database, BNRemoteFile* file, size_t* count, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressContext, BNCollaborationNameChangesetFunction nameChangeset, + void* nameChangesetContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationMergeDatabase( + BNDatabase* database, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPushDatabase(BNDatabase* database, + BNRemoteFile* file, + size_t* count, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDumpDatabase(BNDatabase* database) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIgnoreSnapshot(BNDatabase* database, + BNSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsSnapshotIgnored(BNDatabase* database, + BNSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetSnapshotAuthor(BNDatabase* database, + BNSnapshot* snapshot, + char** result) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationFreeIdList(uint64_t* ids, size_t size) {} +BINARYNINJACOREAPI void BNCollaborationFreeSnapshotIdList(int64_t* ids, + size_t size) {} +BINARYNINJACOREAPI BNCollaborationLazyT* BNCollaborationLazyTCreate( + void* (*ctor)(void*), void* context) { + return {}; +} +BINARYNINJACOREAPI void* BNCollaborationLazyTDereference( + BNCollaborationLazyT* lazyT) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationFreeLazyT(BNCollaborationLazyT* lazyT) {} +BINARYNINJACOREAPI BNRemote* BNNewRemoteReference(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemote(BNRemote* remote) {} +BINARYNINJACOREAPI void BNFreeRemoteList(BNRemote** remotes, size_t count) {} +BINARYNINJACOREAPI char* BNRemoteGetUniqueId(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetName(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetAddress(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteHasLoadedMetadata(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteIsConnected(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetUsername(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetToken(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI int BNRemoteGetServerVersion(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetServerBuildId(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteGetAuthBackends(BNRemote* remote, + char*** backendIds, + char*** backendNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteHasPulledProjects(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteHasPulledUsers(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteHasPulledGroups(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteIsAdmin(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteIsEnterprise(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteLoadMetadata(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteRequestAuthenticationToken( + BNRemote* remote, const char* username, const char* password) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteConnect(BNRemote* remote, const char* username, + const char* token) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteDisconnect(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI BNRemoteProject** BNRemoteGetProjects(BNRemote* remote, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteGetProjectById(BNRemote* remote, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteGetProjectByName(BNRemote* remote, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePullProjects(BNRemote* remote, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteCreateProject( + BNRemote* remote, const char* name, const char* description) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteImportLocalProject( + BNRemote* remote, BNProject* localProject, BNProgressFunction progress, + void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePushProject(BNRemote* remote, + BNRemoteProject* project, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteDeleteProject(BNRemote* remote, + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup** BNRemoteGetGroups(BNRemote* remote, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNRemoteGetGroupById(BNRemote* remote, + uint64_t id) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNRemoteGetGroupByName( + BNRemote* remote, const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteSearchGroups(BNRemote* remote, + const char* prefix, + uint64_t** groupIds, + char*** groupNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePullGroups(BNRemote* remote, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNRemoteCreateGroup( + BNRemote* remote, const char* name, const char** usernames, + size_t usernameCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePushGroup(BNRemote* remote, + BNCollaborationGroup* group, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteDeleteGroup(BNRemote* remote, + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser** BNRemoteGetUsers(BNRemote* remote, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteGetUserById(BNRemote* remote, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteGetUserByUsername( + BNRemote* remote, const char* username) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteGetCurrentUser( + BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteSearchUsers(BNRemote* remote, + const char* prefix, char*** userIds, + char*** usernames, size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePullUsers(BNRemote* remote, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteCreateUser( + BNRemote* remote, const char* username, const char* email, bool isActive, + const char* password, const uint64_t* groupIds, size_t groupIdCount, + const uint64_t* userPermissionIds, size_t userPermissionIdCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePushUser(BNRemote* remote, + BNCollaborationUser* user, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI int BNRemoteRequest(BNRemote* remote, void* request, + void* ret) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNNewCollaborationGroupReference( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationGroup(BNCollaborationGroup* group) {} +BINARYNINJACOREAPI void BNFreeCollaborationGroupList( + BNCollaborationGroup** group, size_t count) {} +BINARYNINJACOREAPI BNRemote* BNCollaborationGroupGetRemote( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationGroupGetUrl( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNCollaborationGroupGetId(BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationGroupGetName( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationGroupSetName(BNCollaborationGroup* group, + const char* name) {} +BINARYNINJACOREAPI bool BNCollaborationGroupGetUsers( + BNCollaborationGroup* group, char*** userIds, char*** usernames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGroupSetUsernames( + BNCollaborationGroup* group, const char** names, size_t count) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGroupContainsUser( + BNCollaborationGroup* group, const char* username) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNNewCollaborationUserReference( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationUser(BNCollaborationUser* user) {} +BINARYNINJACOREAPI void BNFreeCollaborationUserList(BNCollaborationUser** users, + size_t count) {} +BINARYNINJACOREAPI BNRemote* BNCollaborationUserGetRemote( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetUrl(BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetId(BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetUsername( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetEmail( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetLastLogin( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserIsActive(BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserSetUsername( + BNCollaborationUser* user, const char* username) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserSetEmail(BNCollaborationUser* user, + const char* email) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserSetIsActive( + BNCollaborationUser* user, bool isActive) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNNewRemoteProjectReference( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemoteProject(BNRemoteProject* project) {} +BINARYNINJACOREAPI void BNFreeRemoteProjectList(BNRemoteProject** projects, + size_t count) {} +BINARYNINJACOREAPI BNProject* BNRemoteProjectGetCoreProject( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectIsOpen(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectOpen(BNRemoteProject* project, + BNProgressFunction progress, + void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI void BNRemoteProjectClose(BNRemoteProject* project) {} +BINARYNINJACOREAPI BNRemote* BNRemoteProjectGetRemote( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetUrl(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteProjectGetCreated(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNRemoteProjectGetLastModified(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetId(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetName(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectSetName(BNRemoteProject* project, + const char* name) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetDescription( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectSetDescription(BNRemoteProject* project, + const char* description) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNRemoteProjectGetReceivedFileCount(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNRemoteProjectGetReceivedFolderCount(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledFiles( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledFolders( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledGroupPermissions( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledUserPermissions( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectIsAdmin(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile** BNRemoteProjectGetFiles( + BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNRemoteProjectGetFileById( + BNRemoteProject* project, const char* id) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNRemoteProjectGetFileByName( + BNRemoteProject* project, const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullFiles(BNRemoteProject* project, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNRemoteProjectCreateFile( + BNRemoteProject* project, const char* filename, uint8_t* contents, + size_t contentsSize, const char* name, const char* description, + BNRemoteFolder* folder, BNRemoteFileType type, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPushFile(BNRemoteProject* project, + BNRemoteFile* file, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectDeleteFile(BNRemoteProject* project, + BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder** BNRemoteProjectGetFolders( + BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNRemoteProjectGetFolderById( + BNRemoteProject* project, const char* id) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullFolders(BNRemoteProject* project, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNRemoteProjectCreateFolder( + BNRemoteProject* project, const char* name, const char* description, + BNRemoteFolder* parent, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPushFolder(BNRemoteProject* project, + BNRemoteFolder* folder, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectDeleteFolder(BNRemoteProject* project, + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission** +BNRemoteProjectGetGroupPermissions(BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission** +BNRemoteProjectGetUserPermissions(BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* BNRemoteProjectGetPermissionById( + BNRemoteProject* project, const char* id) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullGroupPermissions( + BNRemoteProject* project, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullUserPermissions( + BNRemoteProject* project, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* +BNRemoteProjectCreateGroupPermission(BNRemoteProject* project, int64_t groupId, + BNCollaborationPermissionLevel level, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* +BNRemoteProjectCreateUserPermission(BNRemoteProject* project, + const char* userId, + BNCollaborationPermissionLevel level, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPushPermission( + BNRemoteProject* project, BNCollaborationPermission* permission, + const char** extraFieldKeys, const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectDeletePermission( + BNRemoteProject* project, BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectCanUserView(BNRemoteProject* project, + const char* username) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectCanUserEdit(BNRemoteProject* project, + const char* username) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectCanUserAdmin(BNRemoteProject* project, + const char* username) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNNewRemoteFileReference(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemoteFile(BNRemoteFile* file) {} +BINARYNINJACOREAPI void BNFreeRemoteFileList(BNRemoteFile** files, + size_t count) {} +BINARYNINJACOREAPI BNProjectFile* BNRemoteFileGetCoreFile(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteFileGetProject(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNRemoteFileGetFolder(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNRemoteFileGetRemote(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetUrl(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI char* BNRemoteFileGetChatLogUrl(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetUserPositionsUrl(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetId(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI BNRemoteFileType BNRemoteFileGetType(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteFileGetCreated(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetCreatedBy(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteFileGetLastModified(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteFileGetLastSnapshot(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetLastSnapshotBy(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetLastSnapshotName(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetHash(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI char* BNRemoteFileGetName(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI char* BNRemoteFileGetDescription(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetMetadata(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI uint64_t BNRemoteFileGetSize(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileHasPulledSnapshots(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetName(BNRemoteFile* file, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetDescription(BNRemoteFile* file, + const char* description) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetFolder(BNRemoteFile* file, + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetMetadata(BNRemoteFile* file, + const char* metadata) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot** BNRemoteFileGetSnapshots( + BNRemoteFile* file, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNRemoteFileGetSnapshotById( + BNRemoteFile* file, const char* id) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFilePullSnapshots(BNRemoteFile* file, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNRemoteFileCreateSnapshot( + BNRemoteFile* file, const char* name, uint8_t* contents, + size_t contentsSize, uint8_t* analysisCacheContents, + size_t analysisCacheContentsSize, uint8_t* fileContents, + size_t fileContentsSize, const char** parentIds, size_t parentIdCount, + BNProgressFunction progress, void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileDeleteSnapshot( + BNRemoteFile* file, BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileDownload(BNRemoteFile* file, + BNProgressFunction progress, + void* progressCtxt, uint8_t** data, + size_t* size) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileRequestUserPositions(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileRequestChatLog(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNNewRemoteFolderReference( + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemoteFolder(BNRemoteFolder* folder) {} +BINARYNINJACOREAPI void BNFreeRemoteFolderList(BNRemoteFolder** folders, + size_t count) {} +BINARYNINJACOREAPI BNProjectFolder* BNRemoteFolderGetCoreFolder( + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteFolderGetProject( + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNRemoteFolderGetRemote(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderGetParent(BNRemoteFolder* folder, + BNRemoteFolder** parent) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetUrl(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetId(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderGetParentId(BNRemoteFolder* folder, + char** result) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetName(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetDescription(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderSetName(BNRemoteFolder* folder, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderSetDescription(BNRemoteFolder* folder, + const char* description) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderSetParent(BNRemoteFolder* folder, + BNRemoteFolder* parent) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* +BNNewCollaborationPermissionReference(BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationPermission( + BNCollaborationPermission* permission) {} +BINARYNINJACOREAPI void BNFreeCollaborationPermissionList( + BNCollaborationPermission** permissions, size_t count) {} +BINARYNINJACOREAPI BNRemoteProject* BNCollaborationPermissionGetProject( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationPermissionGetRemote( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetId( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetUrl( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNCollaborationPermissionGetGroupId(BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetGroupName( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetUserId( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetUsername( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermissionLevel +BNCollaborationPermissionGetLevel(BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationPermissionSetLevel( + BNCollaborationPermission* permission, + BNCollaborationPermissionLevel level) {} +BINARYNINJACOREAPI bool BNCollaborationPermissionCanView( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPermissionCanEdit( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPermissionCanAdmin( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI BNAnalysisMergeConflict* BNNewAnalysisMergeConflictReference( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI void BNFreeAnalysisMergeConflict( + BNAnalysisMergeConflict* conflict) {} +BINARYNINJACOREAPI void BNFreeAnalysisMergeConflictList( + BNAnalysisMergeConflict** conflicts, size_t count) {} +BINARYNINJACOREAPI BNDatabase* BNAnalysisMergeConflictGetDatabase( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetType( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetKey( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNMergeConflictDataType +BNAnalysisMergeConflictGetDataType(BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetBase( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetFirst( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetSecond( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNAnalysisMergeConflictGetBaseFile( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNAnalysisMergeConflictGetFirstFile( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNAnalysisMergeConflictGetSecondFile( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNAnalysisMergeConflictGetBaseSnapshot( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNAnalysisMergeConflictGetFirstSnapshot( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNAnalysisMergeConflictGetSecondSnapshot( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetPathItemString( + BNAnalysisMergeConflict* conflict, const char* path) { + return {}; +} +BINARYNINJACOREAPI void* BNAnalysisMergeConflictGetPathItem( + BNAnalysisMergeConflict* conflict, const char* path) { + return {}; +} +BINARYNINJACOREAPI bool BNAnalysisMergeConflictSuccess( + BNAnalysisMergeConflict* conflict, const char* value) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchiveMergeConflict* +BNNewTypeArchiveMergeConflictReference(BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI void BNFreeTypeArchiveMergeConflict( + BNTypeArchiveMergeConflict* conflict) {} +BINARYNINJACOREAPI void BNFreeTypeArchiveMergeConflictList( + BNTypeArchiveMergeConflict** conflicts, size_t count) {} +BINARYNINJACOREAPI BNTypeArchive* BNTypeArchiveMergeConflictGetTypeArchive( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetTypeId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetBaseSnapshotId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetFirstSnapshotId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetSecondSnapshotId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeArchiveMergeConflictSuccess( + BNTypeArchiveMergeConflict* conflict, const char* value) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNNewCollaborationSnapshotReference( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationSnapshot( + BNCollaborationSnapshot* snapshot) {} +BINARYNINJACOREAPI void BNFreeCollaborationSnapshotList( + BNCollaborationSnapshot** snapshots, size_t count) {} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationSnapshotGetFile( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNCollaborationSnapshotGetProject( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationSnapshotGetRemote( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetUrl( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetId( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetName( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetAuthor( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNCollaborationSnapshotGetCreated(BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNCollaborationSnapshotGetLastModified(BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetHash( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetSnapshotFileHash( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotHasPulledUndoEntries( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotIsFinalized( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char** BNCollaborationSnapshotGetParentIds( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNCollaborationSnapshotGetChildIds( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI uint64_t BNCollaborationSnapshotGetAnalysisCacheBuildId( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetTitle( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetDescription( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetAuthorUsername( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot** BNCollaborationSnapshotGetParents( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot** BNCollaborationSnapshotGetChildren( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry** +BNCollaborationSnapshotGetUndoEntries(BNCollaborationSnapshot* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* +BNCollaborationSnapshotGetUndoEntryById(BNCollaborationSnapshot* snapshot, + uint64_t id) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotPullUndoEntries( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* +BNCollaborationSnapshotCreateUndoEntry(BNCollaborationSnapshot* snapshot, + bool hasParent, uint64_t parent, + const char* data) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotFinalize( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotDownloadSnapshotFile( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext, uint8_t** data, size_t* size) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotDownload( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext, uint8_t** data, size_t* size) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotDownloadAnalysisCache( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext, uint8_t** data, size_t* size) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* +BNNewCollaborationUndoEntryReference(BNCollaborationUndoEntry* entry) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationUndoEntry( + BNCollaborationUndoEntry* entry) {} +BINARYNINJACOREAPI void BNFreeCollaborationUndoEntryList( + BNCollaborationUndoEntry** entries, size_t count) {} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNCollaborationUndoEntryGetSnapshot( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationUndoEntryGetFile( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNCollaborationUndoEntryGetProject( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationUndoEntryGetRemote( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUndoEntryGetUrl( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNCollaborationUndoEntryGetId(BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUndoEntryGetParentId( + BNCollaborationUndoEntry* undoEntry, uint64_t* parentId) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUndoEntryGetData( + BNCollaborationUndoEntry* undoEntry, char** data) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* BNCollaborationUndoEntryGetParent( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationChangeset* +BNNewCollaborationChangesetReference(BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationChangeset( + BNCollaborationChangeset* changeset) {} +BINARYNINJACOREAPI void BNFreeCollaborationChangesetList( + BNCollaborationChangeset** changesets, size_t count) {} +BINARYNINJACOREAPI BNDatabase* BNCollaborationChangesetGetDatabase( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationChangesetGetFile( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI int64_t* BNCollaborationChangesetGetSnapshotIds( + BNCollaborationChangeset* changeset, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNCollaborationChangesetGetAuthor( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationChangesetGetName( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationChangesetSetName( + BNCollaborationChangeset* changeset, const char* name) { + return {}; +} +BINARYNINJACOREAPI BNAnalysisMergeConflictSplitter* +BNRegisterAnalysisMergeConflictSplitter( + BNAnalysisMergeConflictSplitterCallbacks* callbacks) { + return {}; +} +BINARYNINJACOREAPI BNAnalysisMergeConflictSplitter** +BNGetAnalysisMergeConflictSplitterList(size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreeAnalysisMergeConflictSplitterList( + BNAnalysisMergeConflictSplitter** splitters, size_t count) {} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictSplitterGetName( + BNAnalysisMergeConflictSplitter* splitter) { + return {}; +} +BINARYNINJACOREAPI bool BNAnalysisMergeConflictSplitterCanSplit( + BNAnalysisMergeConflictSplitter* splitter, const char* key, + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI bool BNAnalysisMergeConflictSplitterSplit( + BNAnalysisMergeConflictSplitter* splitter, const char* originalKey, + BNAnalysisMergeConflict* originalConflict, BNKeyValueStore* result, + char*** newKeys, BNAnalysisMergeConflict*** newConflicts, + size_t* newCount) { + return {}; +} } // extern "C" diff --git a/binaryninja/stubs/binaryninjacore_stable.cc b/binaryninja/stubs/binaryninjacore_stable.cc index 001d798f..2f3e9201 100644 --- a/binaryninja/stubs/binaryninjacore_stable.cc +++ b/binaryninja/stubs/binaryninjacore_stable.cc @@ -48,6 +48,7 @@ BINARYNINJACOREAPI char* BNGetProductType(void) { return {}; } BINARYNINJACOREAPI int BNGetLicenseCount(void) { return {}; } BINARYNINJACOREAPI bool BNIsUIEnabled(void) { return {}; } BINARYNINJACOREAPI void BNSetLicense(const char* licenseData) {} +BINARYNINJACOREAPI bool BNIsDatabase(const char* filename) { return {}; } BINARYNINJACOREAPI bool BNAuthenticateEnterpriseServerWithCredentials( const char* username, const char* password, bool remember) { return {}; @@ -96,6 +97,7 @@ BINARYNINJACOREAPI void BNRegisterEnterpriseServerNotification( BINARYNINJACOREAPI void BNUnregisterEnterpriseServerNotification( BNEnterpriseServerCallbacks* notify) {} BINARYNINJACOREAPI bool BNIsEnterpriseServerInitialized(void) { return {}; } +BINARYNINJACOREAPI bool BNInitializeEnterpriseServer(void) { return {}; } BINARYNINJACOREAPI void BNRegisterObjectDestructionCallbacks( BNObjectDestructionCallbacks* callbacks) {} BINARYNINJACOREAPI void BNUnregisterObjectDestructionCallbacks( @@ -249,6 +251,15 @@ BINARYNINJACOREAPI BNDataBuffer* BNZlibCompress(BNDataBuffer* buf) { BINARYNINJACOREAPI BNDataBuffer* BNZlibDecompress(BNDataBuffer* buf) { return {}; } +BINARYNINJACOREAPI BNDataBuffer* BNLzmaDecompress(BNDataBuffer* buf) { + return {}; +} +BINARYNINJACOREAPI BNDataBuffer* BNLzma2Decompress(BNDataBuffer* buf) { + return {}; +} +BINARYNINJACOREAPI BNDataBuffer* BNXzDecompress(BNDataBuffer* buf) { + return {}; +} BINARYNINJACOREAPI BNSaveSettings* BNCreateSaveSettings(void) { return {}; } BINARYNINJACOREAPI BNSaveSettings* BNNewSaveSettingsReference( BNSaveSettings* settings) { @@ -267,7 +278,7 @@ BINARYNINJACOREAPI char* BNGetSaveSettingsName(BNSaveSettings* settings) { } BINARYNINJACOREAPI void BNSetSaveSettingsName(BNSaveSettings* settings, const char* name) {} -BINARYNINJACOREAPI BNFileMetadata* BNCreateFileMetadata(void) { return {}; } +BINARYNINJACOREAPI BNFileMetadata* BNCreateFileMetadata() { return {}; } BINARYNINJACOREAPI BNFileMetadata* BNNewFileReference(BNFileMetadata* file) { return {}; } @@ -391,6 +402,264 @@ BINARYNINJACOREAPI size_t BNGetKeyValueStoreNamespaceSize(BNKeyValueStore* store) { return {}; } +BINARYNINJACOREAPI BNProject* BNNewProjectReference(BNProject* project) { + return {}; +} +BINARYNINJACOREAPI void BNFreeProject(BNProject* project) {} +BINARYNINJACOREAPI void BNFreeProjectList(BNProject** projects, size_t count) {} +BINARYNINJACOREAPI BNProject** BNGetOpenProjects(size_t* count) { return {}; } +BINARYNINJACOREAPI BNProject* BNCreateProject(const char* path, + const char* name) { + return {}; +} +BINARYNINJACOREAPI BNProject* BNOpenProject(const char* path) { return {}; } +BINARYNINJACOREAPI bool BNProjectOpen(BNProject* project) { return {}; } +BINARYNINJACOREAPI bool BNProjectClose(BNProject* project) { return {}; } +BINARYNINJACOREAPI char* BNProjectGetId(BNProject* project) { return {}; } +BINARYNINJACOREAPI bool BNProjectIsOpen(BNProject* project) { return {}; } +BINARYNINJACOREAPI char* BNProjectGetPath(BNProject* project) { return {}; } +BINARYNINJACOREAPI char* BNProjectGetName(BNProject* project) { return {}; } +BINARYNINJACOREAPI void BNProjectSetName(BNProject* project, const char* name) { +} +BINARYNINJACOREAPI char* BNProjectGetDescription(BNProject* project) { + return {}; +} +BINARYNINJACOREAPI void BNProjectSetDescription(BNProject* project, + const char* description) {} +BINARYNINJACOREAPI BNMetadata* BNProjectQueryMetadata(BNProject* project, + const char* key) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectStoreMetadata(BNProject* project, + const char* key, + BNMetadata* value) { + return {}; +} +BINARYNINJACOREAPI void BNProjectRemoveMetadata(BNProject* project, + const char* key) {} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFileFromPath( + BNProject* project, const char* path, BNProjectFolder* folder, + const char* name, const char* description, void* ctxt, + bool (*progress)(void* ctxt, size_t progress, size_t total)) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFileFromPathUnsafe( + BNProject* project, const char* path, BNProjectFolder* folder, + const char* name, const char* description, const char* id, + int64_t creationTimestamp, void* ctxt, + bool (*progress)(void* ctxt, size_t progress, size_t total)) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFile( + BNProject* project, const uint8_t* contents, size_t contentsSize, + BNProjectFolder* folder, const char* name, const char* description, + void* ctxt, bool (*progress)(void* ctxt, size_t progress, size_t total)) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectCreateFileUnsafe( + BNProject* project, const uint8_t* contents, size_t contentsSize, + BNProjectFolder* folder, const char* name, const char* description, + const char* id, int64_t creationTimestamp, void* ctxt, + bool (*progress)(void* ctxt, size_t progress, size_t total)) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile** BNProjectGetFiles(BNProject* project, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectGetFileById(BNProject* project, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNProjectFile* BNProjectGetFileByPathOnDisk( + BNProject* project, const char* path) { + return {}; +} +BINARYNINJACOREAPI void BNProjectPushFile(BNProject* project, + BNProjectFile* file) {} +BINARYNINJACOREAPI bool BNProjectDeleteFile(BNProject* project, + BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectCreateFolderFromPath( + BNProject* project, const char* path, BNProjectFolder* parent, + const char* description, void* ctxt, + bool (*progress)(void* ctxt, size_t progress, size_t total)) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectCreateFolder( + BNProject* project, BNProjectFolder* parent, const char* name, + const char* description) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectCreateFolderUnsafe( + BNProject* project, BNProjectFolder* parent, const char* name, + const char* description, const char* id) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder** BNProjectGetFolders(BNProject* project, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectGetFolderById(BNProject* project, + const char* id) { + return {}; +} +BINARYNINJACOREAPI void BNProjectPushFolder(BNProject* project, + BNProjectFolder* folder) {} +BINARYNINJACOREAPI bool BNProjectDeleteFolder( + BNProject* project, BNProjectFolder* folder, void* ctxt, + bool (*progress)(void* ctxt, size_t progress, size_t total)) { + return {}; +} +BINARYNINJACOREAPI void BNProjectBeginBulkOperation(BNProject* project) {} +BINARYNINJACOREAPI void BNProjectEndBulkOperation(BNProject* project) {} +BINARYNINJACOREAPI BNProjectFile* BNNewProjectFileReference( + BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI void BNFreeProjectFile(BNProjectFile* file) {} +BINARYNINJACOREAPI void BNFreeProjectFileList(BNProjectFile** files, + size_t count) {} +BINARYNINJACOREAPI char* BNProjectFileGetPathOnDisk(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileExistsOnDisk(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFileGetName(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileSetName(BNProjectFile* file, + const char* name) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFileGetDescription(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileSetDescription(BNProjectFile* file, + const char* description) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFileGetId(BNProjectFile* file) { return {}; } +BINARYNINJACOREAPI BNProjectFolder* BNProjectFileGetFolder( + BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileSetFolder(BNProjectFile* file, + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNProject* BNProjectFileGetProject(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFileExport(BNProjectFile* file, + const char* destination) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNProjectFileGetCreationTimestamp(BNProjectFile* file) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNNewProjectFolderReference( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI void BNFreeProjectFolder(BNProjectFolder* folder) {} +BINARYNINJACOREAPI void BNFreeProjectFolderList(BNProjectFolder** folders, + size_t count) {} +BINARYNINJACOREAPI char* BNProjectFolderGetId(BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFolderGetName(BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderSetName(BNProjectFolder* folder, + const char* name) { + return {}; +} +BINARYNINJACOREAPI char* BNProjectFolderGetDescription( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderSetDescription(BNProjectFolder* folder, + const char* description) { + return {}; +} +BINARYNINJACOREAPI BNProjectFolder* BNProjectFolderGetParent( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderSetParent(BNProjectFolder* folder, + BNProjectFolder* parent) { + return {}; +} +BINARYNINJACOREAPI BNProject* BNProjectFolderGetProject( + BNProjectFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNProjectFolderExport( + BNProjectFolder* folder, const char* destination, void* ctxt, + bool (*progress)(void* ctxt, size_t progress, size_t total)) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary* BNNewExternalLibraryReference( + BNExternalLibrary* lib) { + return {}; +} +BINARYNINJACOREAPI void BNFreeExternalLibrary(BNExternalLibrary* lib) {} +BINARYNINJACOREAPI void BNFreeExternalLibraryList(BNExternalLibrary** libs, + size_t count) {} +BINARYNINJACOREAPI char* BNExternalLibraryGetName(BNExternalLibrary* lib) { + return {}; +} +BINARYNINJACOREAPI void BNExternalLibrarySetBackingFile(BNExternalLibrary* lib, + BNProjectFile* file) {} +BINARYNINJACOREAPI BNProjectFile* BNExternalLibraryGetBackingFile( + BNExternalLibrary* lib) { + return {}; +} +BINARYNINJACOREAPI BNExternalLocation* BNNewExternalLocationReference( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI void BNFreeExternalLocation(BNExternalLocation* loc) {} +BINARYNINJACOREAPI void BNFreeExternalLocationList(BNExternalLocation** locs, + size_t count) {} +BINARYNINJACOREAPI BNSymbol* BNExternalLocationGetSourceSymbol( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNExternalLocationGetTargetAddress(BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI char* BNExternalLocationGetTargetSymbol( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary* BNExternalLocationGetExternalLibrary( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationHasTargetAddress( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationHasTargetSymbol( + BNExternalLocation* loc) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationSetTargetAddress( + BNExternalLocation* loc, uint64_t* address) { + return {}; +} +BINARYNINJACOREAPI bool BNExternalLocationSetTargetSymbol( + BNExternalLocation* loc, const char* symbol) { + return {}; +} +BINARYNINJACOREAPI void BNExternalLocationSetExternalLibrary( + BNExternalLocation* loc, BNExternalLibrary* library) {} BINARYNINJACOREAPI BNDatabase* BNNewDatabaseReference(BNDatabase* database) { return {}; } @@ -412,7 +681,7 @@ BINARYNINJACOREAPI BNSnapshot* BNGetDatabaseSnapshot(BNDatabase* database, BINARYNINJACOREAPI int64_t BNWriteDatabaseSnapshotData( BNDatabase* database, int64_t* parents, size_t parentCount, BNBinaryView* file, const char* name, BNKeyValueStore* data, bool autoSave, - void* ctxt, bool (*progress)(void*, size_t, size_t)) { + void* ctxt, BNProgressFunction progress) { return {}; } BINARYNINJACOREAPI bool BNTrimDatabaseSnapshot(BNDatabase* database, @@ -452,6 +721,7 @@ BINARYNINJACOREAPI bool BNWriteDatabaseGlobalData(BNDatabase* database, BINARYNINJACOREAPI BNFileMetadata* BNGetDatabaseFile(BNDatabase* database) { return {}; } +BINARYNINJACOREAPI void BNDatabaseReloadConnection(BNDatabase* database) {} BINARYNINJACOREAPI BNKeyValueStore* BNReadDatabaseAnalysisCache( BNDatabase* database) { return {}; @@ -513,11 +783,11 @@ BINARYNINJACOREAPI BNKeyValueStore* BNReadSnapshotDataWithProgress( BINARYNINJACOREAPI BNDataBuffer* BNGetSnapshotUndoData(BNSnapshot* snapshot) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetSnapshotUndoEntries(BNSnapshot* snapshot, - size_t* count) { +BINARYNINJACOREAPI BNUndoEntry** BNGetSnapshotUndoEntries(BNSnapshot* snapshot, + size_t* count) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetSnapshotUndoEntriesWithProgress( +BINARYNINJACOREAPI BNUndoEntry** BNGetSnapshotUndoEntriesWithProgress( BNSnapshot* snapshot, void* ctxt, bool (*progress)(void* ctxt, size_t progress, size_t total), size_t* count) { @@ -529,8 +799,35 @@ BINARYNINJACOREAPI bool BNSnapshotHasAncestor(BNSnapshot* snapshot, } BINARYNINJACOREAPI bool BNSnapshotStoreData(BNSnapshot* snapshot, BNKeyValueStore* data, void* ctxt, - bool (*progress)(void*, size_t, - size_t)) { + BNProgressFunction progress) { + return {}; +} +BINARYNINJACOREAPI BNUndoAction* BNNewUndoActionReference( + BNUndoAction* action) { + return {}; +} +BINARYNINJACOREAPI void BNFreeUndoAction(BNUndoAction* action) {} +BINARYNINJACOREAPI void BNFreeUndoActionList(BNUndoAction** actions, + size_t count) {} +BINARYNINJACOREAPI char* BNUndoActionGetSummaryText(BNUndoAction* action) { + return {}; +} +BINARYNINJACOREAPI BNInstructionTextToken* BNUndoActionGetSummary( + BNUndoAction* action, size_t* tokenCount) { + return {}; +} +BINARYNINJACOREAPI BNUndoEntry* BNNewUndoEntryReference(BNUndoEntry* entry) { + return {}; +} +BINARYNINJACOREAPI void BNFreeUndoEntry(BNUndoEntry* entry) {} +BINARYNINJACOREAPI void BNFreeUndoEntryList(BNUndoEntry** entrys, + size_t count) {} +BINARYNINJACOREAPI char* BNUndoEntryGetId(BNUndoEntry* entry) { return {}; } +BINARYNINJACOREAPI BNUndoAction** BNUndoEntryGetActions(BNUndoEntry* entry, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI uint64_t BNUndoEntryGetTimestamp(BNUndoEntry* entry) { return {}; } BINARYNINJACOREAPI bool BNRebase(BNBinaryView* data, uint64_t address) { @@ -557,6 +854,11 @@ BINARYNINJACOREAPI void BNSetOriginalFilename(BNFileMetadata* file, const char* name) {} BINARYNINJACOREAPI char* BNGetFilename(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI void BNSetFilename(BNFileMetadata* file, const char* name) {} +BINARYNINJACOREAPI BNProjectFile* BNGetProjectFile(BNFileMetadata* file) { + return {}; +} +BINARYNINJACOREAPI void BNSetProjectFile(BNFileMetadata* file, + BNProjectFile* pfile) {} BINARYNINJACOREAPI char* BNBeginUndoActions(BNFileMetadata* file, bool anonymousAllowed) { return {}; @@ -565,22 +867,24 @@ BINARYNINJACOREAPI void BNCommitUndoActions(BNFileMetadata* file, const char* id) {} BINARYNINJACOREAPI void BNRevertUndoActions(BNFileMetadata* file, const char* id) {} +BINARYNINJACOREAPI void BNForgetUndoActions(BNFileMetadata* file, + const char* id) {} BINARYNINJACOREAPI bool BNCanUndo(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI bool BNUndo(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI bool BNCanRedo(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI bool BNRedo(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetUndoEntries(BNFileMetadata* file, - size_t* count) { +BINARYNINJACOREAPI BNUndoEntry** BNGetUndoEntries(BNFileMetadata* file, + size_t* count) { return {}; } -BINARYNINJACOREAPI BNUndoEntry* BNGetRedoEntries(BNFileMetadata* file, - size_t* count) { +BINARYNINJACOREAPI BNUndoEntry** BNGetRedoEntries(BNFileMetadata* file, + size_t* count) { return {}; } -BINARYNINJACOREAPI BNUndoEntry BNGetLastUndoEntry(BNFileMetadata* file) { +BINARYNINJACOREAPI BNUndoEntry* BNGetLastUndoEntry(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI BNUndoEntry BNGetLastRedoEntry(BNFileMetadata* file) { +BINARYNINJACOREAPI BNUndoEntry* BNGetLastRedoEntry(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI char* BNGetLastUndoEntryTitle(BNFileMetadata* file) { @@ -589,7 +893,8 @@ BINARYNINJACOREAPI char* BNGetLastUndoEntryTitle(BNFileMetadata* file) { BINARYNINJACOREAPI char* BNGetLastRedoEntryTitle(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI void BNFreeUndoEntries(BNUndoEntry* entries, size_t count) {} +BINARYNINJACOREAPI void BNFreeUndoEntries(BNUndoEntry** entries, size_t count) { +} BINARYNINJACOREAPI void BNClearUndoEntries(BNFileMetadata* file) {} BINARYNINJACOREAPI BNUser* BNNewUserReference(BNUser* user) { return {}; } BINARYNINJACOREAPI void BNFreeUser(BNUser* user) {} @@ -600,9 +905,6 @@ BINARYNINJACOREAPI void BNFreeUserList(BNUser** users, size_t count) {} BINARYNINJACOREAPI char* BNGetUserName(BNUser* user) { return {}; } BINARYNINJACOREAPI char* BNGetUserEmail(BNUser* user) { return {}; } BINARYNINJACOREAPI char* BNGetUserId(BNUser* user) { return {}; } -BINARYNINJACOREAPI bool BNOpenProject(BNFileMetadata* file) { return {}; } -BINARYNINJACOREAPI void BNCloseProject(BNFileMetadata* file) {} -BINARYNINJACOREAPI bool BNIsProjectOpen(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI char* BNGetCurrentView(BNFileMetadata* file) { return {}; } BINARYNINJACOREAPI uint64_t BNGetCurrentOffset(BNFileMetadata* file) { return {}; @@ -629,6 +931,46 @@ BINARYNINJACOREAPI bool BNIsSnapshotDataAppliedWithoutError( BINARYNINJACOREAPI void BNUnregisterViewOfType(BNFileMetadata* file, const char* type, BNBinaryView* view) {} +BINARYNINJACOREAPI char* BNGetMemoryMapDescription(BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI bool BNAddBinaryMemoryRegion(BNBinaryView* view, + const char* name, + uint64_t start, + BNBinaryView* data) { + return {}; +} +BINARYNINJACOREAPI bool BNAddDataMemoryRegion(BNBinaryView* view, + const char* name, uint64_t start, + BNDataBuffer* data) { + return {}; +} +BINARYNINJACOREAPI bool BNAddRemoteMemoryRegion(BNBinaryView* view, + const char* name, + uint64_t start, + BNFileAccessor* accessor) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoveMemoryRegion(BNBinaryView* view, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNIsMemoryRegionEnabled(BNBinaryView* view, + const char* name, + uint64_t start) { + return {}; +} +BINARYNINJACOREAPI bool BNSetMemoryRegionEnabled(BNBinaryView* view, + const char* name, + uint64_t start, bool enable) { + return {}; +} +BINARYNINJACOREAPI bool BNSetMemoryRegionFill(BNBinaryView* view, + const char* name, uint64_t start, + uint8_t fill) { + return {}; +} +BINARYNINJACOREAPI void BNResetMemoryMap(BNBinaryView* view) {} BINARYNINJACOREAPI BNBinaryView* BNNewViewReference(BNBinaryView* view) { return {}; } @@ -725,6 +1067,8 @@ BINARYNINJACOREAPI uint64_t BNGetNextValidOffset(BNBinaryView* view, uint64_t offset) { return {}; } +BINARYNINJACOREAPI uint64_t BNGetOriginalBase(BNBinaryView* view) { return {}; } +BINARYNINJACOREAPI void BNSetOriginalBase(BNBinaryView* view, uint64_t base) {} BINARYNINJACOREAPI uint64_t BNGetStartOffset(BNBinaryView* view) { return {}; } BINARYNINJACOREAPI uint64_t BNGetEndOffset(BNBinaryView* view) { return {}; } BINARYNINJACOREAPI uint64_t BNGetViewLength(BNBinaryView* view) { return {}; } @@ -778,10 +1122,21 @@ BINARYNINJACOREAPI bool BNRangeContainsRelocation(BNBinaryView* view, uint64_t addr, size_t size) { return {}; } +BINARYNINJACOREAPI BNRelocation** BNGetRelocationsAt(BNBinaryView* view, + uint64_t addr, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRelocationList(BNRelocation** relocations, + size_t count) {} BINARYNINJACOREAPI void BNRegisterDataNotification( BNBinaryView* view, BNBinaryDataNotification* notify) {} BINARYNINJACOREAPI void BNUnregisterDataNotification( BNBinaryView* view, BNBinaryDataNotification* notify) {} +BINARYNINJACOREAPI void BNRegisterProjectNotification( + BNProject* project, BNProjectNotification* notify) {} +BINARYNINJACOREAPI void BNUnregisterProjectNotification( + BNProject* project, BNProjectNotification* notify) {} BINARYNINJACOREAPI bool BNCanAssemble(BNBinaryView* view, BNArchitecture* arch) { return {}; @@ -894,6 +1249,18 @@ BINARYNINJACOREAPI bool BNFindAllConstantWithProgress( BNLinearDisassemblyLine* line)) { return {}; } +BINARYNINJACOREAPI bool BNSearch(BNBinaryView* view, const char* query, + void* context, + bool (*callback)(void*, uint64_t, + BNDataBuffer*)) { + return {}; +} +BINARYNINJACOREAPI bool BNPerformSearch(const char* query, + const uint8_t* buffer, size_t size, + bool (*callback)(void*, size_t, size_t), + void* context) { + return {}; +} BINARYNINJACOREAPI void BNAddAutoSegment(BNBinaryView* view, uint64_t start, uint64_t length, uint64_t dataOffset, uint64_t dataLength, uint32_t flags) {} @@ -1146,6 +1513,11 @@ BINARYNINJACOREAPI bool BNReadBE32(BNBinaryReader* stream, uint32_t* result) { BINARYNINJACOREAPI bool BNReadBE64(BNBinaryReader* stream, uint64_t* result) { return {}; } +BINARYNINJACOREAPI bool BNReadPointer(BNBinaryView* view, + BNBinaryReader* stream, + uint64_t* result) { + return {}; +} BINARYNINJACOREAPI uint64_t BNGetReaderPosition(BNBinaryReader* stream) { return {}; } @@ -1481,6 +1853,10 @@ BINARYNINJACOREAPI uint32_t BNGetArchitectureRegisterStackForRegister(BNArchitecture* arch, uint32_t reg) { return {}; } +BINARYNINJACOREAPI BNIntrinsicClass +BNGetArchitectureIntrinsicClass(BNArchitecture* arch, uint32_t intrinsic) { + return {}; +} BINARYNINJACOREAPI char* BNGetArchitectureIntrinsicName(BNArchitecture* arch, uint32_t intrinsic) { return {}; @@ -1656,6 +2032,12 @@ BINARYNINJACOREAPI BNFunction** BNGetAnalysisFunctionsContainingAddress( BINARYNINJACOREAPI BNFunction* BNGetAnalysisEntryPoint(BNBinaryView* view) { return {}; } +BINARYNINJACOREAPI BNFunction** BNGetAllEntryFunctions(BNBinaryView* view, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNAddToEntryFunctions(BNBinaryView* view, + BNFunction* func) {} BINARYNINJACOREAPI char* BNGetGlobalCommentForAddress(BNBinaryView* view, uint64_t addr) { return {}; @@ -2021,6 +2403,9 @@ BINARYNINJACOREAPI BNRegisterValueWithConfidence BNGetFunctionGlobalPointerValue(BNFunction* func) { return {}; } +BINARYNINJACOREAPI bool BNFunctionUsesIncomingGlobalPointer(BNFunction* func) { + return {}; +} BINARYNINJACOREAPI BNRegisterValueWithConfidence BNGetFunctionRegisterValueAtExit(BNFunction* func, uint32_t reg) { return {}; @@ -2410,6 +2795,24 @@ BINARYNINJACOREAPI BNTypeWithConfidence* BNGetTypesReferenced( BNBinaryView* view, BNQualifiedName* type, uint64_t offset, size_t* count) { return {}; } +BINARYNINJACOREAPI BNQualifiedName* BNGetOutgoingDirectTypeReferences( + BNBinaryView* view, BNQualifiedName* type, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetOutgoingRecursiveTypeReferences( + BNBinaryView* view, BNQualifiedName* types, size_t typeCount, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetIncomingDirectTypeReferences( + BNBinaryView* view, BNQualifiedName* type, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetIncomingRecursiveTypeReferences( + BNBinaryView* view, BNQualifiedName* types, size_t typeCount, + size_t* count) { + return {}; +} BINARYNINJACOREAPI void BNRegisterGlobalFunctionRecognizer( BNFunctionRecognizer* rec) {} BINARYNINJACOREAPI bool BNGetStringAtAddress(BNBinaryView* view, uint64_t addr, @@ -2622,15 +3025,12 @@ BINARYNINJACOREAPI BNIntegerDisplayType BNGetIntegerConstantDisplayType( } BINARYNINJACOREAPI void BNSetIntegerConstantDisplayType( BNFunction* func, BNArchitecture* arch, uint64_t instrAddr, uint64_t value, - size_t operand, BNIntegerDisplayType type) {} -BINARYNINJACOREAPI BNType* BNGetIntegerConstantDisplayTypeEnumerationType( + size_t operand, BNIntegerDisplayType type, const char* typeID) {} +BINARYNINJACOREAPI char* BNGetIntegerConstantDisplayTypeEnumerationType( BNFunction* func, BNArchitecture* arch, uint64_t instrAddr, uint64_t value, size_t operand) { return {}; } -BINARYNINJACOREAPI void BNSetIntegerConstantDisplayTypeEnumerationType( - BNFunction* func, BNArchitecture* arch, uint64_t instrAddr, uint64_t value, - size_t operand, BNType* type) {} BINARYNINJACOREAPI bool BNIsFunctionTooLarge(BNFunction* func) { return {}; } BINARYNINJACOREAPI bool BNIsFunctionAnalysisSkipped(BNFunction* func) { return {}; @@ -3012,14 +3412,15 @@ BINARYNINJACOREAPI bool BNGetDataVariableAtAddress(BNBinaryView* view, } BINARYNINJACOREAPI bool BNParseTypeString( BNBinaryView* view, const char* text, BNQualifiedNameAndType* result, - char** errors, BNQualifiedNameList* typesAllowRedefinition) { + char** errors, BNQualifiedNameList* typesAllowRedefinition, + bool importDepencencies) { return {}; } BINARYNINJACOREAPI bool BNParseTypesString( BNBinaryView* view, const char* text, const char* const* options, size_t optionCount, const char* const* includeDirs, size_t includeDirCount, BNTypeParserResult* result, char** errors, - BNQualifiedNameList* typesAllowRedefinition) { + BNQualifiedNameList* typesAllowRedefinition, bool importDepencencies) { return {}; } BINARYNINJACOREAPI void BNFreeQualifiedNameAndType( @@ -3044,8 +3445,8 @@ BINARYNINJACOREAPI BNQualifiedNameAndType* BNGetAnalysisDependencySortedTypeList(BNBinaryView* view, size_t* count) { return {}; } -BINARYNINJACOREAPI void BNFreeTypeList(BNQualifiedNameAndType* types, - size_t count) {} +BINARYNINJACOREAPI void BNFreeTypeAndNameList(BNQualifiedNameAndType* types, + size_t count) {} BINARYNINJACOREAPI void BNFreeTypeIdList(BNQualifiedNameTypeAndId* types, size_t count) {} BINARYNINJACOREAPI BNQualifiedName* BNGetAnalysisTypeNames( @@ -3054,6 +3455,18 @@ BINARYNINJACOREAPI BNQualifiedName* BNGetAnalysisTypeNames( } BINARYNINJACOREAPI void BNFreeTypeNameList(BNQualifiedName* names, size_t count) {} +BINARYNINJACOREAPI BNTypeContainer* BNGetAnalysisTypeContainer( + BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI BNTypeContainer* BNGetAnalysisAutoTypeContainer( + BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI BNTypeContainer* BNGetAnalysisUserTypeContainer( + BNBinaryView* view) { + return {}; +} BINARYNINJACOREAPI BNType* BNGetAnalysisTypeByName(BNBinaryView* view, BNQualifiedName* name) { return {}; @@ -3088,13 +3501,15 @@ BINARYNINJACOREAPI void BNDefineUserAnalysisType(BNBinaryView* view, BNType* type) {} BINARYNINJACOREAPI size_t BNDefineAnalysisTypes( BNBinaryView* view, BNQualifiedNameTypeAndId* types, size_t count, - bool (*progress)(void*, size_t, size_t), void* progressContext, - char*** resultIds, BNQualifiedName** resultNames) { + BNProgressFunction progress, void* progressContext, char*** resultIds, + BNQualifiedName** resultNames) { return {}; } -BINARYNINJACOREAPI void BNDefineUserAnalysisTypes( - BNBinaryView* view, BNQualifiedNameAndType* types, size_t count, - bool (*progress)(void*, size_t, size_t), void* progressContext) {} +BINARYNINJACOREAPI void BNDefineUserAnalysisTypes(BNBinaryView* view, + BNQualifiedNameAndType* types, + size_t count, + BNProgressFunction progress, + void* progressContext) {} BINARYNINJACOREAPI void BNUndefineAnalysisType(BNBinaryView* view, const char* id) {} BINARYNINJACOREAPI void BNUndefineUserAnalysisType(BNBinaryView* view, @@ -3167,62 +3582,157 @@ BINARYNINJACOREAPI void BNSetAutoBasicBlockHighlight(BNBasicBlock* block, BNHighlightColor color) {} BINARYNINJACOREAPI void BNSetUserBasicBlockHighlight(BNBasicBlock* block, BNHighlightColor color) {} -BINARYNINJACOREAPI BNTagType* BNCreateTagType(BNBinaryView* view) { return {}; } -BINARYNINJACOREAPI BNTagType* BNNewTagTypeReference(BNTagType* tagType) { +BINARYNINJACOREAPI void BNFreeTypeContainer(BNTypeContainer* container) {} +BINARYNINJACOREAPI BNTypeContainer* BNDuplicateTypeContainer( + BNTypeContainer* container) { return {}; } -BINARYNINJACOREAPI void BNFreeTagType(BNTagType* tagType) {} -BINARYNINJACOREAPI void BNFreeTagTypeList(BNTagType** tagTypes, size_t count) {} -BINARYNINJACOREAPI BNBinaryView* BNTagTypeGetView(BNTagType* tagType) { +BINARYNINJACOREAPI char* BNTypeContainerGetId(BNTypeContainer* container) { return {}; } -BINARYNINJACOREAPI char* BNTagTypeGetId(BNTagType* tagType) { return {}; } -BINARYNINJACOREAPI char* BNTagTypeGetName(BNTagType* tagType) { return {}; } -BINARYNINJACOREAPI void BNTagTypeSetName(BNTagType* tagType, const char* name) { +BINARYNINJACOREAPI char* BNTypeContainerGetName(BNTypeContainer* container) { + return {}; } -BINARYNINJACOREAPI char* BNTagTypeGetIcon(BNTagType* tagType) { return {}; } -BINARYNINJACOREAPI void BNTagTypeSetIcon(BNTagType* tagType, const char* icon) { +BINARYNINJACOREAPI BNTypeContainerType +BNTypeContainerGetType(BNTypeContainer* container) { + return {}; } -BINARYNINJACOREAPI bool BNTagTypeGetVisible(BNTagType* tagType) { return {}; } -BINARYNINJACOREAPI void BNTagTypeSetVisible(BNTagType* tagType, bool visible) {} -BINARYNINJACOREAPI BNTagTypeType BNTagTypeGetType(BNTagType* tagType) { +BINARYNINJACOREAPI bool BNTypeContainerIsMutable(BNTypeContainer* container) { return {}; } -BINARYNINJACOREAPI void BNTagTypeSetType(BNTagType* tagType, - BNTagTypeType type) {} -BINARYNINJACOREAPI BNTag* BNCreateTag(BNTagType* type, const char* data) { +BINARYNINJACOREAPI BNPlatform* BNTypeContainerGetPlatform( + BNTypeContainer* container) { return {}; } -BINARYNINJACOREAPI BNTag* BNNewTagReference(BNTag* tag) { return {}; } -BINARYNINJACOREAPI void BNFreeTag(BNTag* tag) {} -BINARYNINJACOREAPI void BNFreeTagList(BNTag** tags, size_t count) {} -BINARYNINJACOREAPI char* BNTagGetId(BNTag* tag) { return {}; } -BINARYNINJACOREAPI BNTagType* BNTagGetType(BNTag* tag) { return {}; } -BINARYNINJACOREAPI char* BNTagGetData(BNTag* tag) { return {}; } -BINARYNINJACOREAPI void BNTagSetData(BNTag* tag, const char* data) {} -BINARYNINJACOREAPI void BNAddTagType(BNBinaryView* view, BNTagType* tagType) {} -BINARYNINJACOREAPI void BNRemoveTagType(BNBinaryView* view, - BNTagType* tagType) {} -BINARYNINJACOREAPI BNTagType* BNGetTagType(BNBinaryView* view, - const char* name) { +BINARYNINJACOREAPI bool BNTypeContainerAddTypes( + BNTypeContainer* container, const BNQualifiedName* typeNames, + BNType** types, size_t typeCount, bool (*progress)(void*, size_t, size_t), + void* progressContext, BNQualifiedName** resultNames, char*** resultIds, + size_t* resultCount) { return {}; } -BINARYNINJACOREAPI BNTagType* BNGetTagTypeWithType(BNBinaryView* view, - const char* name, - BNTagTypeType type) { +BINARYNINJACOREAPI bool BNTypeContainerRenameType( + BNTypeContainer* container, const char* typeId, + const BNQualifiedName* newName) { return {}; } -BINARYNINJACOREAPI BNTagType* BNGetTagTypeById(BNBinaryView* view, - const char* id) { +BINARYNINJACOREAPI bool BNTypeContainerDeleteType(BNTypeContainer* container, + const char* typeId) { return {}; } -BINARYNINJACOREAPI BNTagType* BNGetTagTypeByIdWithType(BNBinaryView* view, - const char* id, - BNTagTypeType type) { +BINARYNINJACOREAPI bool BNTypeContainerGetTypeId( + BNTypeContainer* container, const BNQualifiedName* typeName, + char** result) { return {}; } -BINARYNINJACOREAPI BNTagType** BNGetTagTypes(BNBinaryView* view, - size_t* count) { +BINARYNINJACOREAPI bool BNTypeContainerGetTypeName(BNTypeContainer* container, + const char* typeId, + BNQualifiedName* result) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeById(BNTypeContainer* container, + const char* typeId, + BNType** result) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypes(BNTypeContainer* container, + char*** typeIds, + BNQualifiedName** typeNames, + BNType*** types, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeByName( + BNTypeContainer* container, const BNQualifiedName* typeName, + BNType** result) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeIds(BNTypeContainer* container, + char*** typeIds, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeNames(BNTypeContainer* container, + BNQualifiedName** typeNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerGetTypeNamesAndIds( + BNTypeContainer* container, char*** typeIds, BNQualifiedName** typeNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerParseTypeString( + BNTypeContainer* container, const char* source, bool importDepencencies, + BNQualifiedNameAndType* result, BNTypeParserError** errors, + size_t* errorCount) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeContainerParseTypesFromSource( + BNTypeContainer* container, const char* source, const char* fileName, + const char* const* options, size_t optionCount, + const char* const* includeDirs, size_t includeDirCount, + const char* autoTypeSource, bool importDepencencies, + BNTypeParserResult* result, BNTypeParserError** errors, + size_t* errorCount) { + return {}; +} +BINARYNINJACOREAPI BNTagType* BNCreateTagType(BNBinaryView* view) { return {}; } +BINARYNINJACOREAPI BNTagType* BNNewTagTypeReference(BNTagType* tagType) { + return {}; +} +BINARYNINJACOREAPI void BNFreeTagType(BNTagType* tagType) {} +BINARYNINJACOREAPI void BNFreeTagTypeList(BNTagType** tagTypes, size_t count) {} +BINARYNINJACOREAPI BNBinaryView* BNTagTypeGetView(BNTagType* tagType) { + return {}; +} +BINARYNINJACOREAPI char* BNTagTypeGetId(BNTagType* tagType) { return {}; } +BINARYNINJACOREAPI char* BNTagTypeGetName(BNTagType* tagType) { return {}; } +BINARYNINJACOREAPI void BNTagTypeSetName(BNTagType* tagType, const char* name) { +} +BINARYNINJACOREAPI char* BNTagTypeGetIcon(BNTagType* tagType) { return {}; } +BINARYNINJACOREAPI void BNTagTypeSetIcon(BNTagType* tagType, const char* icon) { +} +BINARYNINJACOREAPI bool BNTagTypeGetVisible(BNTagType* tagType) { return {}; } +BINARYNINJACOREAPI void BNTagTypeSetVisible(BNTagType* tagType, bool visible) {} +BINARYNINJACOREAPI BNTagTypeType BNTagTypeGetType(BNTagType* tagType) { + return {}; +} +BINARYNINJACOREAPI void BNTagTypeSetType(BNTagType* tagType, + BNTagTypeType type) {} +BINARYNINJACOREAPI BNTag* BNCreateTag(BNTagType* type, const char* data) { + return {}; +} +BINARYNINJACOREAPI BNTag* BNNewTagReference(BNTag* tag) { return {}; } +BINARYNINJACOREAPI void BNFreeTag(BNTag* tag) {} +BINARYNINJACOREAPI void BNFreeTagList(BNTag** tags, size_t count) {} +BINARYNINJACOREAPI char* BNTagGetId(BNTag* tag) { return {}; } +BINARYNINJACOREAPI BNTagType* BNTagGetType(BNTag* tag) { return {}; } +BINARYNINJACOREAPI char* BNTagGetData(BNTag* tag) { return {}; } +BINARYNINJACOREAPI void BNTagSetData(BNTag* tag, const char* data) {} +BINARYNINJACOREAPI void BNAddTagType(BNBinaryView* view, BNTagType* tagType) {} +BINARYNINJACOREAPI void BNRemoveTagType(BNBinaryView* view, + BNTagType* tagType) {} +BINARYNINJACOREAPI BNTagType* BNGetTagType(BNBinaryView* view, + const char* name) { + return {}; +} +BINARYNINJACOREAPI BNTagType* BNGetTagTypeWithType(BNBinaryView* view, + const char* name, + BNTagTypeType type) { + return {}; +} +BINARYNINJACOREAPI BNTagType* BNGetTagTypeById(BNBinaryView* view, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNTagType* BNGetTagTypeByIdWithType(BNBinaryView* view, + const char* id, + BNTagTypeType type) { + return {}; +} +BINARYNINJACOREAPI BNTagType** BNGetTagTypes(BNBinaryView* view, + size_t* count) { return {}; } BINARYNINJACOREAPI void BNAddTag(BNBinaryView* view, BNTag* tag, bool user) {} @@ -3758,6 +4268,24 @@ BNGetDisassemblyGutterWidth(BNDisassemblySettings* settings) { } BINARYNINJACOREAPI void BNSetDisassemblyGutterWidth( BNDisassemblySettings* settings, size_t width) {} +BINARYNINJACOREAPI BNDisassemblyAddressMode +BNGetDisassemblyAddressMode(BNDisassemblySettings* settings) { + return {}; +} +BINARYNINJACOREAPI void BNSetDisassemblyAddressMode( + BNDisassemblySettings* settings, BNDisassemblyAddressMode mode) {} +BINARYNINJACOREAPI uint64_t +BNGetDisassemblyAddressBaseOffset(BNDisassemblySettings* settings) { + return {}; +} +BINARYNINJACOREAPI void BNSetDisassemblyAddressBaseOffset( + BNDisassemblySettings* settings, uint64_t addressBaseOffset) {} +BINARYNINJACOREAPI BNDisassemblyCallParameterHints +BNGetDisassemblyCallParameterHints(BNDisassemblySettings* settings) { + return {}; +} +BINARYNINJACOREAPI void BNSetDisassemblyCallParameterHints( + BNDisassemblySettings* settings, BNDisassemblyCallParameterHints hints) {} BINARYNINJACOREAPI BNFlowGraph* BNCreateFlowGraph(void) { return {}; } BINARYNINJACOREAPI BNFlowGraph* BNCreateFunctionGraph( BNFunction* func, BNFunctionGraphType type, @@ -5053,8 +5581,15 @@ BINARYNINJACOREAPI BNMetadata* BNTypeLibraryQueryMetadata(BNTypeLibrary* lib, const char* key) { return {}; } +BINARYNINJACOREAPI BNMetadata* BNTypeLibraryGetMetadata(BNTypeLibrary* lib) { + return {}; +} BINARYNINJACOREAPI void BNTypeLibraryRemoveMetadata(BNTypeLibrary* lib, const char* key) {} +BINARYNINJACOREAPI BNTypeContainer* BNGetTypeLibraryTypeContainer( + BNTypeLibrary* lib) { + return {}; +} BINARYNINJACOREAPI void BNAddTypeLibraryNamedObject(BNTypeLibrary* lib, BNQualifiedName* name, BNType* type) {} @@ -5100,6 +5635,14 @@ BINARYNINJACOREAPI BNType* BNBinaryViewImportTypeLibraryObject( BNBinaryView* view, BNTypeLibrary** lib, BNQualifiedName* name) { return {}; } +BINARYNINJACOREAPI BNType* BNBinaryViewImportTypeLibraryTypeByGuid( + BNBinaryView* view, const char* guid) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName +BNBinaryViewGetTypeNameByGuid(BNBinaryView* view, const char* guid) { + return {}; +} BINARYNINJACOREAPI void BNBinaryViewExportTypeToTypeLibrary( BNBinaryView* view, BNTypeLibrary* lib, BNQualifiedName* name, BNType* type) {} @@ -5198,6 +5741,7 @@ BINARYNINJACOREAPI char* BNGetTypeAndName(BNType* type, BNQualifiedName* name, return {}; } BINARYNINJACOREAPI void BNFreeType(BNType* type) {} +BINARYNINJACOREAPI void BNFreeTypeList(BNType** types, size_t count) {} BINARYNINJACOREAPI BNTypeBuilder* BNCreateTypeBuilderFromType(BNType* type) { return {}; } @@ -5336,11 +5880,30 @@ BINARYNINJACOREAPI BNNamedTypeReference* BNGetRegisteredTypeName(BNType* type) { BINARYNINJACOREAPI BNReferenceType BNTypeGetReferenceType(BNType* type) { return {}; } +BINARYNINJACOREAPI BNPointerBaseType BNTypeGetPointerBaseType(BNType* type) { + return {}; +} +BINARYNINJACOREAPI int64_t BNTypeGetPointerBaseOffset(BNType* type) { + return {}; +} BINARYNINJACOREAPI char* BNGetTypeAlternateName(BNType* type) { return {}; } BINARYNINJACOREAPI uint32_t BNTypeGetSystemCallNumber(BNType* type) { return {}; } BINARYNINJACOREAPI bool BNTypeIsSystemCall(BNType* type) { return {}; } +BINARYNINJACOREAPI BNPointerSuffix* BNGetTypePointerSuffix(BNType* type, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypePointerSuffixString(BNType* type) { + return {}; +} +BINARYNINJACOREAPI BNInstructionTextToken* BNGetTypePointerSuffixTokens( + BNType* type, uint8_t baseConfidence, size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreePointerSuffixList(BNPointerSuffix* suffix, + size_t count) {} BINARYNINJACOREAPI char* BNGetTypeString(BNType* type, BNPlatform* platform, BNTokenEscapingType escaping) { return {}; @@ -5391,7 +5954,7 @@ BINARYNINJACOREAPI bool BNAddTypeMemberTokens(BNType* type, BNBinaryView* data, return {}; } BINARYNINJACOREAPI BNTypeDefinitionLine* BNGetTypeLines( - BNType* type, BNBinaryView* data, const char* name, int lineWidth, + BNType* type, BNTypeContainer* types, const char* name, int paddingCols, bool collapsed, BNTokenEscapingType escaping, size_t* count) { return {}; } @@ -5475,12 +6038,19 @@ BINARYNINJACOREAPI uint64_t BNGetTypeBuilderOffset(BNTypeBuilder* type) { } BINARYNINJACOREAPI void BNSetTypeBuilderOffset(BNTypeBuilder* type, uint64_t offset) {} +BINARYNINJACOREAPI void BNSetTypeBuilderPointerBase(BNTypeBuilder* type, + BNPointerBaseType baseType, + int64_t baseOffset) {} BINARYNINJACOREAPI void BNSetFunctionTypeBuilderCanReturn( BNTypeBuilder* type, BNBoolWithConfidence* canReturn) {} BINARYNINJACOREAPI void BNSetTypeBuilderPure(BNTypeBuilder* type, BNBoolWithConfidence* pure) {} BINARYNINJACOREAPI void BNSetFunctionTypeBuilderParameters( BNTypeBuilder* type, BNFunctionParameter* params, size_t paramCount) {} +BINARYNINJACOREAPI void BNTypeBuilderSetWidth(BNTypeBuilder* type, + size_t width) {} +BINARYNINJACOREAPI void BNTypeBuilderSetAlignment(BNTypeBuilder* type, + size_t alignment) {} BINARYNINJACOREAPI void BNTypeBuilderSetConst(BNTypeBuilder* type, BNBoolWithConfidence* cnst) {} BINARYNINJACOREAPI void BNTypeBuilderSetVolatile(BNTypeBuilder* type, @@ -5502,6 +6072,14 @@ BINARYNINJACOREAPI BNReferenceType BNTypeBuilderGetReferenceType(BNTypeBuilder* type) { return {}; } +BINARYNINJACOREAPI BNPointerBaseType +BNTypeBuilderGetPointerBaseType(BNTypeBuilder* type) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNTypeBuilderGetPointerBaseOffset(BNTypeBuilder* type) { + return {}; +} BINARYNINJACOREAPI char* BNGetTypeBuilderAlternateName(BNTypeBuilder* type) { return {}; } @@ -5514,6 +6092,23 @@ BNTypeBuilderGetSystemCallNumber(BNTypeBuilder* type) { } BINARYNINJACOREAPI void BNTypeBuilderSetStackAdjustment( BNTypeBuilder* type, BNOffsetWithConfidence* adjust) {} +BINARYNINJACOREAPI BNPointerSuffix* BNGetTypeBuilderPointerSuffix( + BNTypeBuilder* type, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeBuilderPointerSuffixString( + BNTypeBuilder* type) { + return {}; +} +BINARYNINJACOREAPI BNInstructionTextToken* BNGetTypeBuilderPointerSuffixTokens( + BNTypeBuilder* type, uint8_t baseConfidence, size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNAddTypeBuilderPointerSuffix(BNTypeBuilder* type, + BNPointerSuffix ps) {} +BINARYNINJACOREAPI void BNSetTypeBuilderPointerSuffix(BNTypeBuilder* type, + BNPointerSuffix* suffix, + size_t count) {} BINARYNINJACOREAPI char* BNGetTypeBuilderString(BNTypeBuilder* type, BNPlatform* platform) { return {}; @@ -5590,6 +6185,8 @@ BNGetTypeReferenceName(BNNamedTypeReference* nt) { return {}; } BINARYNINJACOREAPI void BNFreeQualifiedName(BNQualifiedName* name) {} +BINARYNINJACOREAPI void BNFreeQualifiedNameArray(BNQualifiedName* names, + size_t count) {} BINARYNINJACOREAPI void BNFreeNamedTypeReference(BNNamedTypeReference* nt) {} BINARYNINJACOREAPI BNNamedTypeReference* BNNewNamedTypeReference( BNNamedTypeReference* nt) { @@ -5663,7 +6260,7 @@ BINARYNINJACOREAPI BNStructureMember* BNGetStructureMembers(BNStructure* s, BINARYNINJACOREAPI void BNFreeStructureMemberList(BNStructureMember* members, size_t count) {} BINARYNINJACOREAPI BNInheritedStructureMember* -BNGetStructureMembersIncludingInherited(BNStructure* s, BNBinaryView* view, +BNGetStructureMembersIncludingInherited(BNStructure* s, BNTypeContainer* types, size_t* count) { return {}; } @@ -5857,14 +6454,48 @@ BINARYNINJACOREAPI bool BNCheckForStringAnnotationType( return {}; } BINARYNINJACOREAPI BNBinaryView* BNLoadFilename( - const char* const filename, const bool updateAnalysis, - bool (*progress)(size_t, size_t), const BNMetadata* const options) { + const char* const filename, const bool updateAnalysis, const char* options, + bool (*progress)(size_t, size_t)) { + return {}; +} +BINARYNINJACOREAPI BNBinaryView* BNLoadProjectFile( + BNProjectFile* projectFile, const bool updateAnalysis, const char* options, + bool (*progress)(size_t, size_t)) { return {}; } BINARYNINJACOREAPI BNBinaryView* BNLoadBinaryView( - BNBinaryView* view, const bool updateAnalysis, - bool (*progress)(size_t, size_t), const BNMetadata* const options, - const bool isDatabase) { + BNBinaryView* view, const bool updateAnalysis, const char* options, + bool (*progress)(size_t, size_t)) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary* BNBinaryViewAddExternalLibrary( + BNBinaryView* view, const char* name, BNProjectFile* backingFile, + bool isAuto) { + return {}; +} +BINARYNINJACOREAPI void BNBinaryViewRemoveExternalLibrary(BNBinaryView* view, + const char* name) {} +BINARYNINJACOREAPI BNExternalLibrary* BNBinaryViewGetExternalLibrary( + BNBinaryView* view, const char* name) { + return {}; +} +BINARYNINJACOREAPI BNExternalLibrary** BNBinaryViewGetExternalLibraries( + BNBinaryView* view, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNExternalLocation* BNBinaryViewAddExternalLocation( + BNBinaryView* view, BNSymbol* sourceSymbol, BNExternalLibrary* library, + const char* targetSymbol, uint64_t* targetAddress, bool isAuto) { + return {}; +} +BINARYNINJACOREAPI void BNBinaryViewRemoveExternalLocation( + BNBinaryView* view, BNSymbol* sourceSymbol) {} +BINARYNINJACOREAPI BNExternalLocation* BNBinaryViewGetExternalLocation( + BNBinaryView* view, BNSymbol* sourceSymbol) { + return {}; +} +BINARYNINJACOREAPI BNExternalLocation** BNBinaryViewGetExternalLocations( + BNBinaryView* view, size_t* count) { return {}; } BINARYNINJACOREAPI bool BNPreprocessSource(const char* source, @@ -5909,16 +6540,16 @@ BINARYNINJACOREAPI bool BNGetTypeParserOptionText(BNTypeParser* parser, } BINARYNINJACOREAPI bool BNTypeParserPreprocessSource( BNTypeParser* parser, const char* source, const char* fileName, - BNPlatform* platform, const BNQualifiedNameTypeAndId* existingTypes, - size_t existingTypeCount, const char* const* options, size_t optionCount, + BNPlatform* platform, BNTypeContainer* existingTypes, + const char* const* options, size_t optionCount, const char* const* includeDirs, size_t includeDirCount, char** output, BNTypeParserError** errors, size_t* errorCount) { return {}; } BINARYNINJACOREAPI bool BNTypeParserParseTypesFromSource( BNTypeParser* parser, const char* source, const char* fileName, - BNPlatform* platform, const BNQualifiedNameTypeAndId* existingTypes, - size_t existingTypeCount, const char* const* options, size_t optionCount, + BNPlatform* platform, BNTypeContainer* existingTypes, + const char* const* options, size_t optionCount, const char* const* includeDirs, size_t includeDirCount, const char* autoTypeSource, BNTypeParserResult* result, BNTypeParserError** errors, size_t* errorCount) { @@ -5926,9 +6557,8 @@ BINARYNINJACOREAPI bool BNTypeParserParseTypesFromSource( } BINARYNINJACOREAPI bool BNTypeParserParseTypeString( BNTypeParser* parser, const char* source, BNPlatform* platform, - const BNQualifiedNameTypeAndId* existingTypes, size_t existingTypeCount, - BNQualifiedNameAndType* result, BNTypeParserError** errors, - size_t* errorCount) { + BNTypeContainer* existingTypes, BNQualifiedNameAndType* result, + BNTypeParserError** errors, size_t* errorCount) { return {}; } BINARYNINJACOREAPI char** BNParseTypeParserOptionsText(const char* optionsText, @@ -5987,21 +6617,21 @@ BINARYNINJACOREAPI bool BNGetTypePrinterTypeStringAfterName( return {}; } BINARYNINJACOREAPI bool BNGetTypePrinterTypeLines( - BNTypePrinter* printer, BNType* type, BNBinaryView* data, - BNQualifiedName* name, int lineWidth, bool collapsed, + BNTypePrinter* printer, BNType* type, BNTypeContainer* types, + BNQualifiedName* name, int paddingCols, bool collapsed, BNTokenEscapingType escaping, BNTypeDefinitionLine** result, size_t* resultCount) { return {}; } BINARYNINJACOREAPI bool BNTypePrinterPrintAllTypes( BNTypePrinter* printer, BNQualifiedName* names, BNType** types, - size_t typeCount, BNBinaryView* data, int lineWidth, + size_t typeCount, BNBinaryView* data, int paddingCols, BNTokenEscapingType escaping, char** result) { return {}; } BINARYNINJACOREAPI bool BNTypePrinterDefaultPrintAllTypes( BNTypePrinter* printer, BNQualifiedName* names, BNType** types, - size_t typeCount, BNBinaryView* data, int lineWidth, + size_t typeCount, BNBinaryView* data, int paddingCols, BNTokenEscapingType escaping, char** result) { return {}; } @@ -6020,6 +6650,12 @@ BINARYNINJACOREAPI BNUpdateVersion* BNGetUpdateChannelVersions( } BINARYNINJACOREAPI void BNFreeUpdateChannelVersionList(BNUpdateVersion* list, size_t count) {} +BINARYNINJACOREAPI BNUpdateChannelFullInfo* BNGetFullInfoUpdateChannels( + size_t* count, char** errors) { + return {}; +} +BINARYNINJACOREAPI void BNFreeFullInfoUpdateChannels( + BNUpdateChannelFullInfo* list, size_t count) {} BINARYNINJACOREAPI bool BNAreUpdatesAvailable(const char* channel, uint64_t* expireTime, uint64_t* serverTime, @@ -6252,14 +6888,14 @@ BINARYNINJACOREAPI BNRegisterValue BNGetIncomingFlagValue( BNCallingConvention* cc, uint32_t reg, BNFunction* func) { return {}; } -BINARYNINJACOREAPI BNVariable* BNGetVariablesForParametersDefaultIntArgs( +BINARYNINJACOREAPI BNVariable* BNGetVariablesForParametersDefaultPermittedArgs( BNCallingConvention* cc, const BNFunctionParameter* params, size_t paramCount, size_t* count) { return {}; } BINARYNINJACOREAPI BNVariable* BNGetVariablesForParameters( BNCallingConvention* cc, const BNFunctionParameter* params, - size_t paramCount, const uint32_t* intArgs, size_t intArgCount, + size_t paramCount, const uint32_t* permittedArgs, size_t permittedArgCount, size_t* count) { return {}; } @@ -6329,6 +6965,16 @@ BINARYNINJACOREAPI BNPlatform* BNCreatePlatformWithTypes( const char** includeDirs, size_t includeDirCount) { return {}; } +BINARYNINJACOREAPI BNPlatform* BNCreateCustomPlatform(BNArchitecture* arch, + const char* name, + BNCustomPlatform* impl) { + return {}; +} +BINARYNINJACOREAPI BNPlatform* BNCreateCustomPlatformWithTypes( + BNArchitecture* arch, const char* name, BNCustomPlatform* impl, + const char* typeFile, const char** includeDirs, size_t includeDirCount) { + return {}; +} BINARYNINJACOREAPI void BNRegisterPlatform(const char* os, BNPlatform* platform) {} BINARYNINJACOREAPI BNPlatform* BNNewPlatformReference(BNPlatform* platform) { @@ -6396,6 +7042,20 @@ BINARYNINJACOREAPI void BNRegisterPlatformFastcallCallingConvention( BNPlatform* platform, BNCallingConvention* cc) {} BINARYNINJACOREAPI void BNSetPlatformSystemCallConvention( BNPlatform* platform, BNCallingConvention* cc) {} +BINARYNINJACOREAPI uint32_t* BNGetPlatformGlobalRegisters(BNPlatform* platform, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNType* BNGetPlatformGlobalRegisterType(BNPlatform* platform, + uint32_t reg) { + return {}; +} +BINARYNINJACOREAPI void BNPlatformAdjustTypeParserInput( + BNPlatform* platform, 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) {} BINARYNINJACOREAPI BNPlatform* BNGetArchitectureStandalonePlatform( BNArchitecture* arch) { return {}; @@ -6411,6 +7071,10 @@ BINARYNINJACOREAPI BNPlatform* BNGetAssociatedPlatformByAddress( BNPlatform* platform, uint64_t* addr) { return {}; } +BINARYNINJACOREAPI BNTypeContainer* BNGetPlatformTypeContainer( + BNPlatform* platform) { + return {}; +} BINARYNINJACOREAPI BNQualifiedNameAndType* BNGetPlatformTypes( BNPlatform* platform, size_t* count) { return {}; @@ -6732,6 +7396,7 @@ BINARYNINJACOREAPI void BNWorkerInteractiveEnqueueNamed( void* ctxt, void (*action)(void* ctxt), const char* name) {} BINARYNINJACOREAPI size_t BNGetWorkerThreadCount(void) { return {}; } BINARYNINJACOREAPI void BNSetWorkerThreadCount(size_t count) {} +BINARYNINJACOREAPI void BNSetThreadName(const char* name) {} BINARYNINJACOREAPI BNBackgroundTask* BNBeginBackgroundTask( const char* initialText, bool canCancel) { return {}; @@ -6757,6 +7422,10 @@ BINARYNINJACOREAPI char* BNGetBackgroundTaskProgressText( BNBackgroundTask* task) { return {}; } +BINARYNINJACOREAPI uint64_t +BNGetBackgroundTaskRuntimeSeconds(BNBackgroundTask* task) { + return {}; +} BINARYNINJACOREAPI bool BNCanCancelBackgroundTask(BNBackgroundTask* task) { return {}; } @@ -6799,6 +7468,13 @@ BINARYNINJACOREAPI bool BNGetChoiceInput(size_t* result, const char* prompt, const char** choices, size_t count) { return {}; } +BINARYNINJACOREAPI bool BNGetLargeChoiceInput(size_t* result, + const char* prompt, + const char* title, + const char** choices, + size_t count) { + return {}; +} BINARYNINJACOREAPI bool BNGetOpenFileNameInput(char** result, const char* prompt, const char* ext) { @@ -6905,6 +7581,17 @@ BINARYNINJACOREAPI bool BNDemangleGNU3WithOptions( } BINARYNINJACOREAPI void BNFreeDemangledName(char*** name, size_t nameElements) { } +BINARYNINJACOREAPI bool BNDemangleLLVM(const char* mangledName, + char*** outVarName, + size_t* outVarNameElements, + const bool simplify) { + return {}; +} +BINARYNINJACOREAPI bool BNDemangleLLVMWithOptions( + const char* mangledName, char*** outVarName, size_t* outVarNameElements, + const BNBinaryView* const view) { + return {}; +} BINARYNINJACOREAPI char** BNPluginGetApis(BNRepoPlugin* p, size_t* count) { return {}; } @@ -6912,16 +7599,25 @@ BINARYNINJACOREAPI const char* BNPluginGetAuthor(BNRepoPlugin* p) { return {}; } BINARYNINJACOREAPI const char* BNPluginGetDescription(BNRepoPlugin* p) { return {}; } -BINARYNINJACOREAPI const char* BNPluginGetLicense(BNRepoPlugin* p) { - return {}; -} BINARYNINJACOREAPI const char* BNPluginGetLicenseText(BNRepoPlugin* p) { return {}; } BINARYNINJACOREAPI const char* BNPluginGetLongdescription(BNRepoPlugin* p) { return {}; } -BINARYNINJACOREAPI uint64_t BNPluginGetMinimumVersion(BNRepoPlugin* p) { +BINARYNINJACOREAPI BNVersionInfo +BNPluginGetMinimumVersionInfo(BNRepoPlugin* p) { + return {}; +} +BINARYNINJACOREAPI BNVersionInfo +BNPluginGetMaximumVersionInfo(BNRepoPlugin* p) { + return {}; +} +BINARYNINJACOREAPI BNVersionInfo BNParseVersionString(const char* v) { + return {}; +} +BINARYNINJACOREAPI bool BNVersionLessThan(const BNVersionInfo smaller, + const BNVersionInfo larger) { return {}; } BINARYNINJACOREAPI const char* BNPluginGetName(BNRepoPlugin* p) { return {}; } @@ -6967,10 +7663,6 @@ BINARYNINJACOREAPI bool BNPluginInstallDependencies(BNRepoPlugin* p) { } BINARYNINJACOREAPI bool BNPluginUninstall(BNRepoPlugin* p) { return {}; } BINARYNINJACOREAPI bool BNPluginUpdate(BNRepoPlugin* p) { return {}; } -BINARYNINJACOREAPI char* BNPluginGetInstallInstructions(BNRepoPlugin* p, - const char* platform) { - return {}; -} BINARYNINJACOREAPI char** BNPluginGetPlatforms(BNRepoPlugin* p, size_t* count) { return {}; } @@ -7157,10 +7849,8 @@ BINARYNINJACOREAPI int BNLlvmServicesAssemble(const char* src, int dialect, return {}; } BINARYNINJACOREAPI void BNLlvmServicesAssembleFree(char* outBytes, char* err) {} -BINARYNINJACOREAPI int BNDeleteFile(const char* path) { return {}; } -BINARYNINJACOREAPI int BNDeleteDirectory(const char* path, int contentsOnly) { - return {}; -} +BINARYNINJACOREAPI bool BNDeleteFile(const char* path) { return {}; } +BINARYNINJACOREAPI bool BNDeleteDirectory(const char* path) { return {}; } BINARYNINJACOREAPI bool BNCreateDirectory(const char* path, bool createSubdirectories) { return {}; @@ -7178,10 +7868,8 @@ BINARYNINJACOREAPI bool BNRenameFile(const char* source, const char* dest) { BINARYNINJACOREAPI bool BNCopyFile(const char* source, const char* dest) { return {}; } -BINARYNINJACOREAPI const char* BNGetFileName(const char* path) { return {}; } -BINARYNINJACOREAPI const char* BNGetFileExtension(const char* path) { - return {}; -} +BINARYNINJACOREAPI char* BNGetFileName(const char* path) { return {}; } +BINARYNINJACOREAPI char* BNGetFileExtension(const char* path) { return {}; } BINARYNINJACOREAPI char** BNGetFilePathsInDirectory(const char* path, size_t* count) { return {}; @@ -7510,6 +8198,9 @@ BINARYNINJACOREAPI BNMetadataValueStore* BNMetadataGetValueStore( BNMetadata* data) { return {}; } +BINARYNINJACOREAPI char* BNMetadataGetJsonString(BNMetadata* data) { + return {}; +} BINARYNINJACOREAPI BNMetadataType BNMetadataGetType(BNMetadata* data) { return {}; } @@ -7546,6 +8237,12 @@ BINARYNINJACOREAPI BNMetadata* BNBinaryViewQueryMetadata(BNBinaryView* view, } BINARYNINJACOREAPI void BNBinaryViewRemoveMetadata(BNBinaryView* view, const char* key) {} +BINARYNINJACOREAPI BNMetadata* BNBinaryViewGetMetadata(BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI BNMetadata* BNBinaryViewGetAutoMetadata(BNBinaryView* view) { + return {}; +} BINARYNINJACOREAPI char** BNBinaryViewGetLoadSettingsTypeNames( BNBinaryView* view, size_t* count) { return {}; @@ -7749,10 +8446,12 @@ BINARYNINJACOREAPI bool BNIsDebugInfoParserValidForView( BNDebugInfoParser* parser, BNBinaryView* view) { return {}; } -BINARYNINJACOREAPI BNDebugInfo* BNParseDebugInfo( - BNDebugInfoParser* parser, BNBinaryView* view, BNBinaryView* debugFile, - BNDebugInfo* existingDebugInfo, bool (*progress)(void*, size_t, size_t), - void* progressCtxt) { +BINARYNINJACOREAPI BNDebugInfo* BNParseDebugInfo(BNDebugInfoParser* parser, + BNBinaryView* view, + BNBinaryView* debugFile, + BNDebugInfo* existingDebugInfo, + BNProgressFunction progress, + void* progressCtxt) { return {}; } BINARYNINJACOREAPI BNDebugInfoParser* BNNewDebugInfoParserReference( @@ -7772,6 +8471,10 @@ BINARYNINJACOREAPI char** BNGetDebugParserNames(BNDebugInfo* const debugInfo, size_t* count) { return {}; } +BINARYNINJACOREAPI BNTypeContainer* BNGetDebugInfoTypeContainer( + BNDebugInfo* debugInfo, const char* const parserName) { + return {}; +} BINARYNINJACOREAPI bool BNRemoveDebugParserInfo(BNDebugInfo* const debugInfo, const char* const parserName) { return {}; @@ -7790,7 +8493,9 @@ BINARYNINJACOREAPI bool BNRemoveDebugParserDataVariables( } BINARYNINJACOREAPI bool BNAddDebugType(BNDebugInfo* const debugInfo, const char* const name, - const BNType* const type) { + const BNType* const type, + const char** const components, + size_t components_count) { return {}; } BINARYNINJACOREAPI BNNameAndType* BNGetDebugTypes(BNDebugInfo* const debugInfo, @@ -7828,10 +8533,9 @@ BINARYNINJACOREAPI bool BNRemoveDebugFunctionByIndex( } BINARYNINJACOREAPI void BNFreeDebugFunctions(BNDebugFunctionInfo* functions, size_t count) {} -BINARYNINJACOREAPI bool BNAddDebugDataVariable(BNDebugInfo* const debugInfo, - uint64_t address, - const BNType* const type, - const char* name) { +BINARYNINJACOREAPI bool BNAddDebugDataVariable( + BNDebugInfo* const debugInfo, uint64_t address, const BNType* const type, + const char* name, const char** const components, size_t components_count) { return {}; } BINARYNINJACOREAPI bool BNAddDebugDataVariableInfo( @@ -7909,4 +8613,1507 @@ BINARYNINJACOREAPI void BNAppendSymbolQueue( void (*add)(void* ctxt, BNSymbol* symbol, BNType* type), void* addContext) { } BINARYNINJACOREAPI void BNProcessSymbolQueue(BNSymbolQueue* queue) {} +BINARYNINJACOREAPI bool BNCoreEnumToString(const char* enumName, size_t value, + char** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCoreEnumFromString(const char* enumName, + const char* value, + size_t* result) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNNewTypeArchiveReference( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI void BNFreeTypeArchiveReference(BNTypeArchive* archive) {} +BINARYNINJACOREAPI void BNFreeTypeArchiveList(BNTypeArchive** archives, + size_t count) {} +BINARYNINJACOREAPI BNTypeArchive* BNOpenTypeArchive(const char* path) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNCreateTypeArchive(const char* path, + BNPlatform* platform) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNCreateTypeArchiveWithId( + const char* path, BNPlatform* platform, const char* id) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNLookupTypeArchiveById(const char* id) { + return {}; +} +BINARYNINJACOREAPI void BNCloseTypeArchive(BNTypeArchive* archive) {} +BINARYNINJACOREAPI bool BNIsTypeArchive(const char* path) { return {}; } +BINARYNINJACOREAPI char* BNGetTypeArchiveId(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeArchivePath(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNPlatform* BNGetTypeArchivePlatform( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeArchiveCurrentSnapshotId( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI void BNSetTypeArchiveCurrentSnapshot(BNTypeArchive* archive, + const char* id) {} +BINARYNINJACOREAPI char** BNGetTypeArchiveAllSnapshotIds(BNTypeArchive* archive, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveSnapshotParentIds( + BNTypeArchive* archive, const char* id, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveSnapshotChildIds( + BNTypeArchive* archive, const char* id, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNTypeContainer* BNGetTypeArchiveTypeContainer( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI bool BNAddTypeArchiveTypes( + BNTypeArchive* archive, const BNQualifiedNameAndType* types, size_t count) { + return {}; +} +BINARYNINJACOREAPI bool BNRenameTypeArchiveType( + BNTypeArchive* archive, const char* id, const BNQualifiedName* newName) { + return {}; +} +BINARYNINJACOREAPI bool BNDeleteTypeArchiveType(BNTypeArchive* archive, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNType* BNGetTypeArchiveTypeById(BNTypeArchive* archive, + const char* id, + const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNType* BNGetTypeArchiveTypeByName( + BNTypeArchive* archive, const BNQualifiedName* name, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNGetTypeArchiveTypeId(BNTypeArchive* archive, + const BNQualifiedName* name, + const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName BNGetTypeArchiveTypeName( + BNTypeArchive* archive, const char* id, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedNameTypeAndId* BNGetTypeArchiveTypes( + BNTypeArchive* archive, const char* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveTypeIds(BNTypeArchive* archive, + const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNQualifiedName* BNGetTypeArchiveTypeNames( + BNTypeArchive* archive, const char* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNGetTypeArchiveTypeNamesAndIds(BNTypeArchive* archive, + const char* snapshot, + BNQualifiedName** names, + char*** ids, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveOutgoingDirectTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveOutgoingRecursiveTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveIncomingDirectTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNGetTypeArchiveIncomingRecursiveTypeReferences( + BNTypeArchive* archive, const char* id, const char* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveNewSnapshotTransaction( + BNTypeArchive* archive, bool (*func)(void* context, const char* id), + void* context, const char* const* parents, size_t parentCount) { + return {}; +} +BINARYNINJACOREAPI void BNRegisterTypeArchiveNotification( + BNTypeArchive* archive, BNTypeArchiveNotification* notification) {} +BINARYNINJACOREAPI void BNUnregisterTypeArchiveNotification( + BNTypeArchive* archive, BNTypeArchiveNotification* notification) {} +BINARYNINJACOREAPI bool BNTypeArchiveStoreMetadata(BNTypeArchive* archive, + const char* key, + BNMetadata* value) { + return {}; +} +BINARYNINJACOREAPI BNMetadata* BNTypeArchiveQueryMetadata( + BNTypeArchive* archive, const char* key) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeArchiveRemoveMetadata(BNTypeArchive* archive, + const char* key) { + return {}; +} +BINARYNINJACOREAPI BNDataBuffer* BNTypeArchiveSerializeSnapshot( + BNTypeArchive* archive, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveDeserializeSnapshot( + BNTypeArchive* archive, BNDataBuffer* buffer) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeArchiveMergeSnapshots( + BNTypeArchive* archive, const char* baseSnapshot, const char* firstSnapshot, + const char* secondSnapshot, const char* const* mergeConflictKeysIn, + const char* const* mergeConflictValuesIn, size_t mergeConflictCountIn, + char*** mergeConflictsOut, size_t* mergeConflictCountOut, char** result, + BNProgressFunction progress, void* context) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNBinaryViewAttachTypeArchive( + BNBinaryView* view, const char* id, const char* path) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewDetachTypeArchive(BNBinaryView* view, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchive* BNBinaryViewGetTypeArchive(BNBinaryView* view, + const char* id) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetTypeArchives(BNBinaryView* view, + char*** ids, + char*** paths) { + return {}; +} +BINARYNINJACOREAPI char* BNBinaryViewGetTypeArchivePath(BNBinaryView* view, + const char* id) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetTypeArchiveTypeNameList( + BNBinaryView* view, BNQualifiedName** names) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetTypeArchiveTypeNames( + BNBinaryView* view, BNQualifiedName* name, char*** archiveIds, + char*** archiveTypeIds) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetAssociatedTypeArchiveTypes( + BNBinaryView* view, char*** typeIds, char*** archiveIds, + char*** archiveTypeIds) { + return {}; +} +BINARYNINJACOREAPI size_t BNBinaryViewGetAssociatedTypesFromArchive( + BNBinaryView* view, const char* archiveId, char*** typeIds, + char*** archiveTypeIds) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewGetAssociatedTypeArchiveTypeTarget( + BNBinaryView* view, const char* typeId, char** archiveId, + char** archiveTypeId) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewGetAssociatedTypeArchiveTypeSource( + BNBinaryView* view, const char* archiveId, const char* archiveTypeId, + char** typeId) { + return {}; +} +BINARYNINJACOREAPI BNSyncStatus +BNBinaryViewGetTypeArchiveSyncStatus(BNBinaryView* view, const char* typeId) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewDisassociateTypeArchiveType( + BNBinaryView* view, const char* typeId) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewPullTypeArchiveTypes( + BNBinaryView* view, const char* archiveId, + const char* const* archiveTypeIds, size_t archiveTypeIdCount, + char*** updatedArchiveTypeIds, char*** updatedAnalysisTypeIds, + size_t* updatedTypeCount) { + return {}; +} +BINARYNINJACOREAPI bool BNBinaryViewPushTypeArchiveTypes( + BNBinaryView* view, const char* archiveId, const char* const* typeIds, + size_t typeIdCount, char*** updatedAnalysisTypeIds, + char*** updatedArchiveTypeIds, size_t* updatedTypeCount) { + return {}; +} +BINARYNINJACOREAPI BNBaseAddressDetection* BNCreateBaseAddressDetection( + BNBinaryView* view) { + return {}; +} +BINARYNINJACOREAPI bool BNDetectBaseAddress( + BNBaseAddressDetection* bad, BNBaseAddressDetectionSettings& settings) { + return {}; +} +BINARYNINJACOREAPI size_t BNGetBaseAddressDetectionScores( + BNBaseAddressDetection* bad, BNBaseAddressDetectionScore* scores, + size_t count, BNBaseAddressDetectionConfidence* confidence, + uint64_t* lastTestedBaseAddress) { + return {}; +} +BINARYNINJACOREAPI BNBaseAddressDetectionReason* +BNGetBaseAddressDetectionReasons(BNBaseAddressDetection* bad, + uint64_t baseAddress, size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreeBaseAddressDetectionReasons( + BNBaseAddressDetectionReason* reasons) {} +BINARYNINJACOREAPI void BNAbortBaseAddressDetection( + BNBaseAddressDetection* bad) {} +BINARYNINJACOREAPI bool BNIsBaseAddressDetectionAborted( + BNBaseAddressDetection* bad) { + return {}; +} +BINARYNINJACOREAPI void BNFreeBaseAddressDetection( + BNBaseAddressDetection* bad) {} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetActiveRemote() { return {}; } +BINARYNINJACOREAPI void BNCollaborationSetActiveRemote(BNRemote* remote) {} +BINARYNINJACOREAPI bool BNCollaborationStoreDataInKeychain( + const char* key, const char** dataKeys, const char** dataValues, + size_t dataCount) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationHasDataInKeychain(const char* key) { + return {}; +} +BINARYNINJACOREAPI size_t BNCollaborationGetDataFromKeychain( + const char* key, char*** foundKeys, char*** foundValues) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDeleteDataFromKeychain(const char* key) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationLoadRemotes() { return {}; } +BINARYNINJACOREAPI BNRemote** BNCollaborationGetRemotes(size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteById( + const char* remoteId) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteByAddress( + const char* remoteAddress) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteByName(const char* name) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationCreateRemote(const char* name, + const char* address) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationRemoveRemote(BNRemote* remote) {} +BINARYNINJACOREAPI void BNCollaborationSaveRemotes() {} +BINARYNINJACOREAPI bool BNCollaborationSyncDatabase( + BNDatabase* database, BNRemoteFile* file, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, void* progressCtxt, + BNCollaborationNameChangesetFunction nameChangeset, + void* nameChangesetCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSyncTypeArchive( + BNTypeArchive* archive, BNRemoteFile* file, + bool (*conflictHandler)(void*, BNTypeArchiveMergeConflict** conflicts, + size_t conflictCount), + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPushTypeArchive( + BNTypeArchive* archive, BNRemoteFile* file, size_t* count, + BNProgressFunction progress, void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPullTypeArchive( + BNTypeArchive* archive, BNRemoteFile* file, size_t* count, + bool (*conflictHandler)(void*, BNTypeArchiveMergeConflict** conflicts, + size_t conflictCount), + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsCollaborationTypeArchive( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationGetRemoteForLocalTypeArchive( + BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* +BNCollaborationGetRemoteProjectForLocalTypeArchive(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* +BNCollaborationGetRemoteFileForLocalTypeArchive(BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* +BNCollaborationGetRemoteSnapshotFromLocalTypeArchive(BNTypeArchive* archive, + const char* snapshotId) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationGetLocalSnapshotFromRemoteTypeArchive( + BNCollaborationSnapshot* snapshot, BNTypeArchive* archive) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsTypeArchiveSnapshotIgnored( + BNTypeArchive* archive, const char* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSetSnapshotAuthor(BNDatabase* database, + BNSnapshot* snapshot, + const char* author) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationDefaultProjectPath( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationDefaultFilePath(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNCollaborationDownloadFile( + BNRemoteFile* file, const char* dbPath, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationUploadDatabase( + BNFileMetadata* metadata, BNRemoteProject* project, BNRemoteFolder* folder, + BNProgressFunction progress, void* progressContext, + BNCollaborationNameChangesetFunction nameChangeset, + void* nameChangesetContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsCollaborationDatabase( + BNDatabase* database) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteForLocalDatabase( + BNDatabase* database, BNRemote** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteProjectForLocalDatabase( + BNDatabase* database, BNRemoteProject** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteFileForLocalDatabase( + BNDatabase* database, BNRemoteFile** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationAssignSnapshotMap( + BNSnapshot* localSnapshot, BNCollaborationSnapshot* remoteSnapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetRemoteSnapshotFromLocal( + BNSnapshot* snapshot, BNCollaborationSnapshot** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetLocalSnapshotFromRemote( + BNCollaborationSnapshot* snapshot, BNDatabase* database, + BNSnapshot** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDownloadTypeArchive( + BNRemoteFile* file, const char* dbPath, BNProgressFunction progress, + void* progressContext, BNTypeArchive** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUploadTypeArchive( + BNTypeArchive* archive, BNRemoteProject* project, BNRemoteFolder* folder, + BNProgressFunction progress, void* progressContext, BNProjectFile* coreFile, + BNRemoteFile** result) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDownloadDatabaseForFile( + BNRemoteFile* file, const char* dbPath, bool force, + BNProgressFunction progress, void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNCollaborationMergeSnapshots( + BNSnapshot* first, BNSnapshot* second, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPullDatabase( + BNDatabase* database, BNRemoteFile* file, size_t* count, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressContext, BNCollaborationNameChangesetFunction nameChangeset, + void* nameChangesetContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationMergeDatabase( + BNDatabase* database, + BNCollaborationAnalysisConflictHandler conflictHandler, + void* conflictHandlerCtxt, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPushDatabase(BNDatabase* database, + BNRemoteFile* file, + size_t* count, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationDumpDatabase(BNDatabase* database) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIgnoreSnapshot(BNDatabase* database, + BNSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationIsSnapshotIgnored(BNDatabase* database, + BNSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGetSnapshotAuthor(BNDatabase* database, + BNSnapshot* snapshot, + char** result) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationFreeIdList(uint64_t* ids, size_t size) {} +BINARYNINJACOREAPI void BNCollaborationFreeSnapshotIdList(int64_t* ids, + size_t size) {} +BINARYNINJACOREAPI BNCollaborationLazyT* BNCollaborationLazyTCreate( + void* (*ctor)(void*), void* context) { + return {}; +} +BINARYNINJACOREAPI void* BNCollaborationLazyTDereference( + BNCollaborationLazyT* lazyT) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationFreeLazyT(BNCollaborationLazyT* lazyT) {} +BINARYNINJACOREAPI BNRemote* BNNewRemoteReference(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemote(BNRemote* remote) {} +BINARYNINJACOREAPI void BNFreeRemoteList(BNRemote** remotes, size_t count) {} +BINARYNINJACOREAPI char* BNRemoteGetUniqueId(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetName(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetAddress(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteHasLoadedMetadata(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteIsConnected(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetUsername(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetToken(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI int BNRemoteGetServerVersion(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteGetServerBuildId(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteGetAuthBackends(BNRemote* remote, + char*** backendIds, + char*** backendNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteHasPulledProjects(BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteHasPulledUsers(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteHasPulledGroups(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteIsAdmin(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteIsEnterprise(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI bool BNRemoteLoadMetadata(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI char* BNRemoteRequestAuthenticationToken( + BNRemote* remote, const char* username, const char* password) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteConnect(BNRemote* remote, const char* username, + const char* token) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteDisconnect(BNRemote* remote) { return {}; } +BINARYNINJACOREAPI BNRemoteProject** BNRemoteGetProjects(BNRemote* remote, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteGetProjectById(BNRemote* remote, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteGetProjectByName(BNRemote* remote, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePullProjects(BNRemote* remote, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteCreateProject( + BNRemote* remote, const char* name, const char* description) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteImportLocalProject( + BNRemote* remote, BNProject* localProject, + bool (*progress)(void*, size_t, size_t), void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePushProject(BNRemote* remote, + BNRemoteProject* project, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteDeleteProject(BNRemote* remote, + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup** BNRemoteGetGroups(BNRemote* remote, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNRemoteGetGroupById(BNRemote* remote, + uint64_t id) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNRemoteGetGroupByName( + BNRemote* remote, const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteSearchGroups(BNRemote* remote, + const char* prefix, + uint64_t** groupIds, + char*** groupNames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePullGroups(BNRemote* remote, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNRemoteCreateGroup( + BNRemote* remote, const char* name, const char** usernames, + size_t usernameCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePushGroup(BNRemote* remote, + BNCollaborationGroup* group, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteDeleteGroup(BNRemote* remote, + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser** BNRemoteGetUsers(BNRemote* remote, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteGetUserById(BNRemote* remote, + const char* id) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteGetUserByUsername( + BNRemote* remote, const char* username) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteGetCurrentUser( + BNRemote* remote) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteSearchUsers(BNRemote* remote, + const char* prefix, char*** userIds, + char*** usernames, size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePullUsers(BNRemote* remote, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNRemoteCreateUser( + BNRemote* remote, const char* username, const char* email, bool isActive, + const char* password, const uint64_t* groupIds, size_t groupIdCount, + const uint64_t* userPermissionIds, size_t userPermissionIdCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemotePushUser(BNRemote* remote, + BNCollaborationUser* user, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI int BNRemoteRequest(BNRemote* remote, void* request, + void* ret) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationGroup* BNNewCollaborationGroupReference( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationGroup(BNCollaborationGroup* group) {} +BINARYNINJACOREAPI void BNFreeCollaborationGroupList( + BNCollaborationGroup** group, size_t count) {} +BINARYNINJACOREAPI BNRemote* BNCollaborationGroupGetRemote( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationGroupGetUrl( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNCollaborationGroupGetId(BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationGroupGetName( + BNCollaborationGroup* group) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationGroupSetName(BNCollaborationGroup* group, + const char* name) {} +BINARYNINJACOREAPI bool BNCollaborationGroupGetUsers( + BNCollaborationGroup* group, char*** userIds, char*** usernames, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGroupSetUsernames( + BNCollaborationGroup* group, const char** names, size_t count) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationGroupContainsUser( + BNCollaborationGroup* group, const char* username) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNNewCollaborationUserReference( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationUser(BNCollaborationUser* user) {} +BINARYNINJACOREAPI void BNFreeCollaborationUserList(BNCollaborationUser** users, + size_t count) {} +BINARYNINJACOREAPI BNRemote* BNCollaborationUserGetRemote( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetUrl(BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetId(BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetUsername( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetEmail( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUserGetLastLogin( + BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserIsActive(BNCollaborationUser* user) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserSetUsername( + BNCollaborationUser* user, const char* username) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserSetEmail(BNCollaborationUser* user, + const char* email) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUserSetIsActive( + BNCollaborationUser* user, bool isActive) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNNewRemoteProjectReference( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemoteProject(BNRemoteProject* project) {} +BINARYNINJACOREAPI void BNFreeRemoteProjectList(BNRemoteProject** projects, + size_t count) {} +BINARYNINJACOREAPI BNProject* BNRemoteProjectGetCoreProject( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectIsOpen(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectOpen(BNRemoteProject* project, + bool (*progress)(void*, size_t, + size_t), + void* progressCtxt) { + return {}; +} +BINARYNINJACOREAPI void BNRemoteProjectClose(BNRemoteProject* project) {} +BINARYNINJACOREAPI BNRemote* BNRemoteProjectGetRemote( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetUrl(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteProjectGetCreated(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNRemoteProjectGetLastModified(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetId(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetName(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectSetName(BNRemoteProject* project, + const char* name) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteProjectGetDescription( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectSetDescription(BNRemoteProject* project, + const char* description) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNRemoteProjectGetReceivedFileCount(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNRemoteProjectGetReceivedFolderCount(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledFiles( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledFolders( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledGroupPermissions( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectHasPulledUserPermissions( + BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectIsAdmin(BNRemoteProject* project) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile** BNRemoteProjectGetFiles( + BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNRemoteProjectGetFileById( + BNRemoteProject* project, const char* id) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNRemoteProjectGetFileByName( + BNRemoteProject* project, const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullFiles(BNRemoteProject* project, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNRemoteProjectCreateFile( + BNRemoteProject* project, const char* filename, uint8_t* contents, + size_t contentsSize, const char* name, const char* description, + BNRemoteFolder* folder, BNRemoteFileType type, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPushFile(BNRemoteProject* project, + BNRemoteFile* file, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectDeleteFile(BNRemoteProject* project, + BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder** BNRemoteProjectGetFolders( + BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNRemoteProjectGetFolderById( + BNRemoteProject* project, const char* id) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullFolders(BNRemoteProject* project, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNRemoteProjectCreateFolder( + BNRemoteProject* project, const char* name, const char* description, + BNRemoteFolder* parent, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPushFolder(BNRemoteProject* project, + BNRemoteFolder* folder, + const char** extraFieldKeys, + const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectDeleteFolder(BNRemoteProject* project, + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission** +BNRemoteProjectGetGroupPermissions(BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission** +BNRemoteProjectGetUserPermissions(BNRemoteProject* project, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* BNRemoteProjectGetPermissionById( + BNRemoteProject* project, const char* id) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullGroupPermissions( + BNRemoteProject* project, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPullUserPermissions( + BNRemoteProject* project, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* +BNRemoteProjectCreateGroupPermission(BNRemoteProject* project, int64_t groupId, + BNCollaborationPermissionLevel level, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* +BNRemoteProjectCreateUserPermission(BNRemoteProject* project, + const char* userId, + BNCollaborationPermissionLevel level, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectPushPermission( + BNRemoteProject* project, BNCollaborationPermission* permission, + const char** extraFieldKeys, const char** extraFieldValues, + size_t extraFieldCount) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectDeletePermission( + BNRemoteProject* project, BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectCanUserView(BNRemoteProject* project, + const char* username) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectCanUserEdit(BNRemoteProject* project, + const char* username) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteProjectCanUserAdmin(BNRemoteProject* project, + const char* username) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNNewRemoteFileReference(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemoteFile(BNRemoteFile* file) {} +BINARYNINJACOREAPI void BNFreeRemoteFileList(BNRemoteFile** files, + size_t count) {} +BINARYNINJACOREAPI BNProjectFile* BNRemoteFileGetCoreFile(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteFileGetProject(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNRemoteFileGetFolder(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNRemoteFileGetRemote(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetUrl(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI char* BNRemoteFileGetChatLogUrl(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetUserPositionsUrl(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetId(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI BNRemoteFileType BNRemoteFileGetType(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteFileGetCreated(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetCreatedBy(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteFileGetLastModified(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI int64_t BNRemoteFileGetLastSnapshot(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetLastSnapshotBy(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetLastSnapshotName(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetHash(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI char* BNRemoteFileGetName(BNRemoteFile* file) { return {}; } +BINARYNINJACOREAPI char* BNRemoteFileGetDescription(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileGetMetadata(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI uint64_t BNRemoteFileGetSize(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileHasPulledSnapshots(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetName(BNRemoteFile* file, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetDescription(BNRemoteFile* file, + const char* description) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetFolder(BNRemoteFile* file, + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileSetMetadata(BNRemoteFile* file, + const char* metadata) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot** BNRemoteFileGetSnapshots( + BNRemoteFile* file, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNRemoteFileGetSnapshotById( + BNRemoteFile* file, const char* id) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFilePullSnapshots(BNRemoteFile* file, + BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNRemoteFileCreateSnapshot( + BNRemoteFile* file, const char* name, uint8_t* contents, + size_t contentsSize, uint8_t* analysisCacheContents, + size_t analysisCacheContentsSize, uint8_t* fileContents, + size_t fileContentsSize, const char** parentIds, size_t parentIdCount, + BNProgressFunction progress, void* progressContext) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileDeleteSnapshot( + BNRemoteFile* file, BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFileDownload(BNRemoteFile* file, + BNProgressFunction progress, + void* progressCtxt, uint8_t** data, + size_t* size) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileRequestUserPositions(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFileRequestChatLog(BNRemoteFile* file) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFolder* BNNewRemoteFolderReference( + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI void BNFreeRemoteFolder(BNRemoteFolder* folder) {} +BINARYNINJACOREAPI void BNFreeRemoteFolderList(BNRemoteFolder** folders, + size_t count) {} +BINARYNINJACOREAPI BNProjectFolder* BNRemoteFolderGetCoreFolder( + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNRemoteFolderGetProject( + BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNRemoteFolderGetRemote(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderGetParent(BNRemoteFolder* folder, + BNRemoteFolder** parent) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetUrl(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetId(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderGetParentId(BNRemoteFolder* folder, + char** result) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetName(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI char* BNRemoteFolderGetDescription(BNRemoteFolder* folder) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderSetName(BNRemoteFolder* folder, + const char* name) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderSetDescription(BNRemoteFolder* folder, + const char* description) { + return {}; +} +BINARYNINJACOREAPI bool BNRemoteFolderSetParent(BNRemoteFolder* folder, + BNRemoteFolder* parent) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermission* +BNNewCollaborationPermissionReference(BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationPermission( + BNCollaborationPermission* permission) {} +BINARYNINJACOREAPI void BNFreeCollaborationPermissionList( + BNCollaborationPermission** permissions, size_t count) {} +BINARYNINJACOREAPI BNRemoteProject* BNCollaborationPermissionGetProject( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationPermissionGetRemote( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetId( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetUrl( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNCollaborationPermissionGetGroupId(BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetGroupName( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetUserId( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationPermissionGetUsername( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationPermissionLevel +BNCollaborationPermissionGetLevel(BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI void BNCollaborationPermissionSetLevel( + BNCollaborationPermission* permission, + BNCollaborationPermissionLevel level) {} +BINARYNINJACOREAPI bool BNCollaborationPermissionCanView( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPermissionCanEdit( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationPermissionCanAdmin( + BNCollaborationPermission* permission) { + return {}; +} +BINARYNINJACOREAPI BNAnalysisMergeConflict* BNNewAnalysisMergeConflictReference( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI void BNFreeAnalysisMergeConflict( + BNAnalysisMergeConflict* conflict) {} +BINARYNINJACOREAPI void BNFreeAnalysisMergeConflictList( + BNAnalysisMergeConflict** conflicts, size_t count) {} +BINARYNINJACOREAPI BNDatabase* BNAnalysisMergeConflictGetDatabase( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetType( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetKey( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNMergeConflictDataType +BNAnalysisMergeConflictGetDataType(BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetBase( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetFirst( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetSecond( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNAnalysisMergeConflictGetBaseFile( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNAnalysisMergeConflictGetFirstFile( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNFileMetadata* BNAnalysisMergeConflictGetSecondFile( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNAnalysisMergeConflictGetBaseSnapshot( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNAnalysisMergeConflictGetFirstSnapshot( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI BNSnapshot* BNAnalysisMergeConflictGetSecondSnapshot( + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictGetPathItemString( + BNAnalysisMergeConflict* conflict, const char* path) { + return {}; +} +BINARYNINJACOREAPI void* BNAnalysisMergeConflictGetPathItem( + BNAnalysisMergeConflict* conflict, const char* path) { + return {}; +} +BINARYNINJACOREAPI bool BNAnalysisMergeConflictSuccess( + BNAnalysisMergeConflict* conflict, const char* value) { + return {}; +} +BINARYNINJACOREAPI BNTypeArchiveMergeConflict* +BNNewTypeArchiveMergeConflictReference(BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI void BNFreeTypeArchiveMergeConflict( + BNTypeArchiveMergeConflict* conflict) {} +BINARYNINJACOREAPI void BNFreeTypeArchiveMergeConflictList( + BNTypeArchiveMergeConflict** conflicts, size_t count) {} +BINARYNINJACOREAPI BNTypeArchive* BNTypeArchiveMergeConflictGetTypeArchive( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetTypeId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetBaseSnapshotId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetFirstSnapshotId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI char* BNTypeArchiveMergeConflictGetSecondSnapshotId( + BNTypeArchiveMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI bool BNTypeArchiveMergeConflictSuccess( + BNTypeArchiveMergeConflict* conflict, const char* value) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNNewCollaborationSnapshotReference( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationSnapshot( + BNCollaborationSnapshot* snapshot) {} +BINARYNINJACOREAPI void BNFreeCollaborationSnapshotList( + BNCollaborationSnapshot** snapshots, size_t count) {} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationSnapshotGetFile( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNCollaborationSnapshotGetProject( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationSnapshotGetRemote( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetUrl( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetId( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetName( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetAuthor( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNCollaborationSnapshotGetCreated(BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI int64_t +BNCollaborationSnapshotGetLastModified(BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetHash( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetSnapshotFileHash( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotHasPulledUndoEntries( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotIsFinalized( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char** BNCollaborationSnapshotGetParentIds( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI char** BNCollaborationSnapshotGetChildIds( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI uint64_t BNCollaborationSnapshotGetAnalysisCacheBuildId( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetTitle( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetDescription( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationSnapshotGetAuthorUsername( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot** BNCollaborationSnapshotGetParents( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationSnapshot** BNCollaborationSnapshotGetChildren( + BNCollaborationSnapshot* snapshot, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry** +BNCollaborationSnapshotGetUndoEntries(BNCollaborationSnapshot* snapshot, + size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* +BNCollaborationSnapshotGetUndoEntryById(BNCollaborationSnapshot* snapshot, + uint64_t id) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotPullUndoEntries( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* +BNCollaborationSnapshotCreateUndoEntry(BNCollaborationSnapshot* snapshot, + bool hasParent, uint64_t parent, + const char* data) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotFinalize( + BNCollaborationSnapshot* snapshot) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotDownloadSnapshotFile( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext, uint8_t** data, size_t* size) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotDownload( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext, uint8_t** data, size_t* size) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationSnapshotDownloadAnalysisCache( + BNCollaborationSnapshot* snapshot, BNProgressFunction progress, + void* progressContext, uint8_t** data, size_t* size) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* +BNNewCollaborationUndoEntryReference(BNCollaborationUndoEntry* entry) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationUndoEntry( + BNCollaborationUndoEntry* entry) {} +BINARYNINJACOREAPI void BNFreeCollaborationUndoEntryList( + BNCollaborationUndoEntry** entries, size_t count) {} +BINARYNINJACOREAPI BNCollaborationSnapshot* BNCollaborationUndoEntryGetSnapshot( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationUndoEntryGetFile( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNRemoteProject* BNCollaborationUndoEntryGetProject( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNRemote* BNCollaborationUndoEntryGetRemote( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationUndoEntryGetUrl( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI uint64_t +BNCollaborationUndoEntryGetId(BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUndoEntryGetParentId( + BNCollaborationUndoEntry* undoEntry, uint64_t* parentId) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationUndoEntryGetData( + BNCollaborationUndoEntry* undoEntry, char** data) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUndoEntry* BNCollaborationUndoEntryGetParent( + BNCollaborationUndoEntry* undoEntry) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationChangeset* +BNNewCollaborationChangesetReference(BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI void BNFreeCollaborationChangeset( + BNCollaborationChangeset* changeset) {} +BINARYNINJACOREAPI void BNFreeCollaborationChangesetList( + BNCollaborationChangeset** changesets, size_t count) {} +BINARYNINJACOREAPI BNDatabase* BNCollaborationChangesetGetDatabase( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI BNRemoteFile* BNCollaborationChangesetGetFile( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI int64_t* BNCollaborationChangesetGetSnapshotIds( + BNCollaborationChangeset* changeset, size_t* count) { + return {}; +} +BINARYNINJACOREAPI BNCollaborationUser* BNCollaborationChangesetGetAuthor( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI char* BNCollaborationChangesetGetName( + BNCollaborationChangeset* changeset) { + return {}; +} +BINARYNINJACOREAPI bool BNCollaborationChangesetSetName( + BNCollaborationChangeset* changeset, const char* name) { + return {}; +} +BINARYNINJACOREAPI BNAnalysisMergeConflictSplitter* +BNRegisterAnalysisMergeConflictSplitter( + BNAnalysisMergeConflictSplitterCallbacks* callbacks) { + return {}; +} +BINARYNINJACOREAPI BNAnalysisMergeConflictSplitter** +BNGetAnalysisMergeConflictSplitterList(size_t* count) { + return {}; +} +BINARYNINJACOREAPI void BNFreeAnalysisMergeConflictSplitterList( + BNAnalysisMergeConflictSplitter** splitters, size_t count) {} +BINARYNINJACOREAPI char* BNAnalysisMergeConflictSplitterGetName( + BNAnalysisMergeConflictSplitter* splitter) { + return {}; +} +BINARYNINJACOREAPI bool BNAnalysisMergeConflictSplitterCanSplit( + BNAnalysisMergeConflictSplitter* splitter, const char* key, + BNAnalysisMergeConflict* conflict) { + return {}; +} +BINARYNINJACOREAPI bool BNAnalysisMergeConflictSplitterSplit( + BNAnalysisMergeConflictSplitter* splitter, const char* originalKey, + BNAnalysisMergeConflict* originalConflict, BNKeyValueStore* result, + char*** newKeys, BNAnalysisMergeConflict*** newConflicts, + size_t* newCount) { + return {}; +} } // extern "C" diff --git a/binaryninja/stubs/regenerate-api-stubs.ps1 b/binaryninja/stubs/regenerate-api-stubs.ps1 new file mode 100644 index 00000000..6d13d5b0 --- /dev/null +++ b/binaryninja/stubs/regenerate-api-stubs.ps1 @@ -0,0 +1,103 @@ +<# + Copyright 2011-2024 Google LLC + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#> + +# Updates the Binary Ninja API stub file + +# Exit on error +$ErrorActionPreference = "Stop" + +# Function to get the canonical path +function Get-CanonicalPath { + param ( + [string]$file + ) + $file = Resolve-Path $file -ErrorAction Stop + $limit = 0 + while ((Test-Path -PathType Leaf $file) -and ($limit -lt 1000)) { + $file = (Get-Item $file).Target + $limit++ + } + return (Get-Item $file).FullName +} + +$THIS = Split-Path $PSCommandPath -leaf + +if (-not $args[0]) { + Write-Host "usage: $THIS PATH_TO_BINARYNINJA_API [stable]" + Write-Host "set 'stable' to update the stable stubs" + exit 1 +} + +$SUFFIX = switch ($args[1]) { + "stable" { "_stable" } + "latest" { "_latest" } + default { "" } +} + +$BINARYNINJA_API_SRC = Get-CanonicalPath $args[0] + +Set-Location $PSScriptRoot + +$header = @" +// Copyright 2011-2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This file is auto-generated. To regenerate, run the "$THIS" script. + +#include +#include + +// clang-format off +#include "exceptions.h" // NOLINT +#define BINARYNINJACORE_LIBRARY +#include "binaryninjacore.h" // NOLINT +// clang-format on + +extern "C" { +"@ + +$footer = @" +} // extern "C" +"@ + +# The following extracts all C API functions from the Binary Ninja API +# and creates empty stub functions for them. This is later compiled +# into an API compatible library that is used to link against. This +# avoids having to use install a copy of Binary Ninja on the machine +# that builds BinExport. +# Note that the script line below can be replaced with a small Clang +# tool to make it more robust. +$functions = Get-Content "${BINARYNINJA_API_SRC}/binaryninjacore.h" | + foreach {$_ -replace "\s+// .*", "" } | + clang-format --style='{BasedOnStyle: Google, Language: Cpp, ColumnLimit: 100000}' | + Select-String '^BINARYNINJACOREAPI' | + ForEach-Object { + $_ -replace '(BINARYNINJACOREAPI void .*)\;$', '$1 {}' -replace '(BINARYNINJACOREAPI .*)\;$', '$1 { return {}; }' + } + +$functions = ,$header + $functions + ,$footer +$functions | Out-String | % Trim | Set-Content -Path "binaryninjacore${SUFFIX}.cc" diff --git a/binaryninja/stubs/regenerate-api-stubs.sh b/binaryninja/stubs/regenerate-api-stubs.sh index c272fe04..b56e187c 100755 --- a/binaryninja/stubs/regenerate-api-stubs.sh +++ b/binaryninja/stubs/regenerate-api-stubs.sh @@ -38,10 +38,19 @@ THIS=$(basename "$0") THIS_DIR=$(dirname "$(canonical_path "$0")") if [ -z "$1" ]; then - echo "usage: ${THIS} PATH_TO_BINARYNINJA_API" 2>&1 + echo "usage: ${THIS} PATH_TO_BINARYNINJA_API [stable]" 2>&1 + echo "set 'stable' to update the stable stubs" 2>&1 exit 1 fi +if [ "$2" = "stable" ]; then + SUFFIX="_stable" +elif [ "$2" = "latest" ]; then + SUFFIX="_latest" +else + SUFFIX="" +fi + BINARYNINJA_API_SRC=$(canonical_path "$1") cd "${THIS_DIR}" @@ -98,4 +107,4 @@ cat < binaryninjacore.cc + clang-format --style=Google > "binaryninjacore${SUFFIX}.cc" diff --git a/cmake/BinExportDeps.cmake b/cmake/BinExportDeps.cmake index 94d47588..b8c3a395 100644 --- a/cmake/BinExportDeps.cmake +++ b/cmake/BinExportDeps.cmake @@ -93,14 +93,19 @@ find_package(Protobuf 3.14 REQUIRED) # Make protobuf_generate_cpp available # Binary Ninja API if(BINEXPORT_ENABLE_BINARYNINJA) - if(BINEXPORT_BINARYNINJA_CHANNEL STREQUAL "stable") - set(_binexport_binaryninjacore_suffix "_stable") - set(_binexport_binaryninja_git_tag - "59e569906828e91e4884670c2bba448702f5a31d") # 2023-09-19 v3.5.4526 + if(BINEXPORT_BINARYNINJA_LATEST) + set(_binexport_binaryninjacore_suffix "_latest") + set(_binexport_binaryninja_git_tag "dev") else() - set(_binexport_binaryninjacore_suffix "") - set(_binexport_binaryninja_git_tag - "6e2b374dece03f6fb48a1615fa2bfee809ec2157") # 2023-09-24 + if(BINEXPORT_BINARYNINJA_CHANNEL STREQUAL "stable") + set(_binexport_binaryninjacore_suffix "_stable") + set(_binexport_binaryninja_git_tag + "967ffc9bd705f6820c4dbfe97f301d52facb1417") # 2024-08-14 v4.1.5902 + else() + set(_binexport_binaryninjacore_suffix "") + set(_binexport_binaryninja_git_tag + "de23abd02ab27b6623656ed04e9b62d4dc1361b7") # 2024-08-24 + endif() endif() FetchContent_Declare(binaryninjaapi GIT_REPOSITORY https://github.com/Vector35/binaryninja-api.git @@ -110,8 +115,22 @@ if(BINEXPORT_ENABLE_BINARYNINJA) if(NOT binaryninjaapi_POPULATED) FetchContent_Populate(binaryninjaapi) # For binaryninjaapi_SOURCE_DIR endif() + if(BINEXPORT_BINARYNINJA_LATEST) + if(WIN32) + find_program(POWERSHELL_PATH NAMES powershell pwsh) + set(_stub_command "${POWERSHELL_PATH} ${BINEXPORT_SOURCE_DIR}/binaryninja/stubs/regenerate-api-stubs.ps1") + else() + set(_stub_command "${BINEXPORT_SOURCE_DIR}/binaryninja/stubs/regenerate-api-stubs.sh") + endif() + add_custom_command( + OUTPUT ${BINEXPORT_SOURCE_DIR}/binaryninja/stubs/binaryninjacore${_binexport_binaryninjacore_suffix}.cc + COMMAND ${_stub_command} ${binaryninjaapi_SOURCE_DIR} latest + DEPENDS ${binaryninjaapi_SOURCE_DIR}/binaryninjacore.h + COMMENT "Updating stubs" + ) + endif() add_library(binaryninjacore SHARED - binaryninja/stubs/binaryninjacore${_binexport_binaryninjacore_suffix}.cc + ${BINEXPORT_SOURCE_DIR}/binaryninja/stubs/binaryninjacore${_binexport_binaryninjacore_suffix}.cc ) set_target_properties(binaryninjacore PROPERTIES SOVERSION 1 diff --git a/cmake/BinExportOptions.cmake b/cmake/BinExportOptions.cmake index ee657db4..06db3fa3 100644 --- a/cmake/BinExportOptions.cmake +++ b/cmake/BinExportOptions.cmake @@ -31,3 +31,5 @@ option(BINEXPORT_ENABLE_BINARYNINJA "Build the Binary Ninja plugin" ON) set(BINEXPORT_BINARYNINJA_CHANNEL "stable" CACHE STRING "Binary Ninja channel, either 'stable' or 'dev'") + +option(BINEXPORT_BINARYNINJA_LATEST "Use the latest Binary Ninja API from GitHub" OFF)