aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2024-08-31 12:07:34 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2024-08-31 12:07:34 -0400
commit1a2429666994fa94899b1310d8aeb3f59764ed41 (patch)
tree81bad70db4a8430846592292012d5ed465057585 /include
parent225c2be092fbe6e7464de2046937989f99a419e1 (diff)
parentde9741b417ee04a54512af106b71cf388c93ea9d (diff)
Merge branch 'develop' into c-sharp
Diffstat (limited to 'include')
-rw-r--r--include/noscrypt.h4
-rw-r--r--include/noscryptutil.h13
2 files changed, 15 insertions, 2 deletions
diff --git a/include/noscrypt.h b/include/noscrypt.h
index 3702555..8ba71b0 100644
--- a/include/noscrypt.h
+++ b/include/noscrypt.h
@@ -156,7 +156,7 @@ typedef int64_t NCResult;
/*
An secp256k1 secret key (aka private key buffer)
*/
-typedef struct secret_key_struct {
+typedef struct nc_secret_key_struct {
uint8_t key[NC_SEC_KEY_SIZE];
@@ -165,7 +165,7 @@ typedef struct secret_key_struct {
/*
An x-only secp256k1 public key
*/
-typedef struct xonly_pubkey_struct {
+typedef struct nc_xonly_pubkey_struct {
uint8_t key[NC_PUBKEY_SIZE];
diff --git a/include/noscryptutil.h b/include/noscryptutil.h
index 63e08f8..ea5dad0 100644
--- a/include/noscryptutil.h
+++ b/include/noscryptutil.h
@@ -78,6 +78,19 @@ NC_EXPORT NCResult NC_CC NCUtilGetEncryptionPaddedSize(uint32_t encVersion, uint
NC_EXPORT NCResult NC_CC NCUtilGetEncryptionBufferSize(uint32_t encVersion, uint32_t plaintextSize);
/*
+* Allocates a new library context structure dynamically on the heap and returns a pointer to
+* it. The library context must be freed with NCUtilContextFree when it is no longer needed.
+* @return A valid pointer to a new library context or NULL if the operation failed
+*/
+NC_EXPORT NCContext* NC_CC NCUtilContextAlloc(void);
+
+/*
+* Frees the library context structure and clears the memory it points to.
+* @param ctx A valid pointer to a library context memory
+*/
+NC_EXPORT void NC_CC NCUtilContextFree(NCContext* ctx);
+
+/*
* Allocates a new encryption context and sets the encryption version and flags. The encryption context
* must be freed with NCUtilCipherFree when it is no longer needed.
* @param encVersion The encryption specification version to use