summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2021-08-23 19:05:09 -0400
committerGlenn Smith <glenn@vector35.com>2021-11-18 21:37:52 -0500
commit994a42659dc500f602e83f91501ec4a959481fa5 (patch)
treeca783900c9a6d41dbdd98a1cd66a083d3e886578 /binaryninjacore.h
parent60f2ecd9d1961f7cd700e01f802bcf640c9d50e0 (diff)
Enterprise apis and support
Also secrets provider + openUrl
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h42
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