diff options
| author | Glenn Smith <glenn@vector35.com> | 2021-08-23 19:05:09 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2021-11-18 21:37:52 -0500 |
| commit | 994a42659dc500f602e83f91501ec4a959481fa5 (patch) | |
| tree | ca783900c9a6d41dbdd98a1cd66a083d3e886578 /binaryninjacore.h | |
| parent | 60f2ecd9d1961f7cd700e01f802bcf640c9d50e0 (diff) | |
Enterprise apis and support
Also secrets provider + openUrl
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 6b95c459..1e424ccb 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -222,6 +222,7 @@ extern "C" struct BNLinearViewCursor; struct BNDebugInfo; struct BNDebugInfoParser; + struct BNSecretsProvider; //! Console log levels @@ -2439,6 +2440,7 @@ extern "C" bool (*getFormInput)(void* ctxt, BNFormInputField* fields, size_t count, const char* title); BNMessageBoxButtonResult (*showMessageBox)(void* ctxt, const char* title, const char* text, BNMessageBoxButtonSet buttons, BNMessageBoxIcon icon); + bool (*openUrl)(void* ctxt, const char* url); }; struct BNObjectDestructionCallbacks @@ -2651,6 +2653,15 @@ extern "C" BNPlatform* platform; }; + struct BNSecretsProviderCallbacks + { + void* context; + bool (*hasData)(void* ctxt, const char* key); + char* (*getData)(void* ctxt, const char* key); + bool (*storeData)(void* ctxt, const char* key, const char* data); + bool (*deleteData)(void* ctxt, const char* key); + }; + BINARYNINJACOREAPI char* BNAllocString(const char* contents); BINARYNINJACOREAPI void BNFreeString(char* str); BINARYNINJACOREAPI char** BNAllocStringList(const char** contents, size_t size); @@ -2674,6 +2685,23 @@ extern "C" BINARYNINJACOREAPI bool BNIsUIEnabled(void); BINARYNINJACOREAPI void BNSetLicense(const char* licenseData); + BINARYNINJACOREAPI bool BNAuthenticateEnterpriseServerWithCredentials(const char* username, const char* password); + BINARYNINJACOREAPI bool BNAuthenticateEnterpriseServerWithMethod(const char* method); + BINARYNINJACOREAPI size_t BNGetEnterpriseServerAuthenticationMethods(char*** methods, char*** names); + BINARYNINJACOREAPI bool BNDeauthenticateEnterpriseServer(void); + BINARYNINJACOREAPI void BNCancelEnterpriseServerAuthentication(void); + BINARYNINJACOREAPI bool BNConnectEnterpriseServer(void); + BINARYNINJACOREAPI bool BNAcquireEnterpriseServerLicense(uint64_t timeout, bool cached); + BINARYNINJACOREAPI bool BNReleaseEnterpriseServerLicense(void); + BINARYNINJACOREAPI bool BNIsEnterpriseServerConnected(void); + BINARYNINJACOREAPI bool BNIsEnterpriseServerAuthenticated(void); + BINARYNINJACOREAPI char* BNGetEnterpriseServerUsername(void); + BINARYNINJACOREAPI uint64_t BNGetEnterpriseServerLicenseExpirationTime(void); + BINARYNINJACOREAPI uint64_t BNGetEnterpriseServerLicenseDuration(void); + BINARYNINJACOREAPI uint64_t BNGetEnterpriseServerReservationTimeLimit(void); + BINARYNINJACOREAPI bool BNIsEnterpriseServerLicenseStillActivated(void); + BINARYNINJACOREAPI char* BNGetEnterpriseServerLastError(void); + BINARYNINJACOREAPI void BNRegisterObjectDestructionCallbacks(BNObjectDestructionCallbacks* callbacks); BINARYNINJACOREAPI void BNUnregisterObjectDestructionCallbacks(BNObjectDestructionCallbacks* callbacks); @@ -5245,6 +5273,7 @@ __attribute__ ((format (printf, 1, 2))) BINARYNINJACOREAPI void BNFreeFormInputResults(BNFormInputField* fields, size_t count); BINARYNINJACOREAPI BNMessageBoxButtonResult BNShowMessageBox(const char* title, const char* text, BNMessageBoxButtonSet buttons, BNMessageBoxIcon icon); + BINARYNINJACOREAPI bool BNOpenUrl(const char* url); BINARYNINJACOREAPI BNReportCollection* BNCreateReportCollection(void); BINARYNINJACOREAPI BNReportCollection* BNNewReportCollectionReference(BNReportCollection* reports); @@ -5573,6 +5602,19 @@ __attribute__ ((format (printf, 1, 2))) BINARYNINJACOREAPI bool BNAddDebugDataVariable(BNDebugInfo* const debugInfo, uint64_t address, const BNType* const type, const char* name); BINARYNINJACOREAPI BNDataVariableAndName* BNGetDebugDataVariables(BNDebugInfo* const debugInfo, const char* const name, size_t* count); + // Secrets providers + BINARYNINJACOREAPI BNSecretsProvider* BNRegisterSecretsProvider(const char* name, BNSecretsProviderCallbacks* callbacks); + BINARYNINJACOREAPI BNSecretsProvider** BNGetSecretsProviderList(size_t* count); + BINARYNINJACOREAPI void BNFreeSecretsProviderList(BNSecretsProvider** providers); + BINARYNINJACOREAPI BNSecretsProvider* BNGetSecretsProviderByName(const char* name); + + BINARYNINJACOREAPI char* BNGetSecretsProviderName(BNSecretsProvider* provider); + + BINARYNINJACOREAPI bool BNSecretsProviderHasData(BNSecretsProvider* provider, const char* key); + BINARYNINJACOREAPI char* BNGetSecretsProviderData(BNSecretsProvider* provider, const char* key); + BINARYNINJACOREAPI bool BNStoreSecretsProviderData(BNSecretsProvider* provider, const char* key, const char* data); + BINARYNINJACOREAPI bool BNDeleteSecretsProviderData(BNSecretsProvider* provider, const char* key); + #ifdef __cplusplus } #endif |
