aboutsummaryrefslogtreecommitdiffstats
path: root/src/sdk/GFSDKGpg.h
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-12-01 00:21:46 +0000
committersaturneric <[email protected]>2024-12-01 00:21:46 +0000
commiteeec34f66fac8ecb350cd8d683a5dd167c91e706 (patch)
tree61da717af5370e37963da1e21f9daae0dc426b00 /src/sdk/GFSDKGpg.h
parentfix: solve link errors on windows (diff)
parentfeat: improve windows release structure at nightly build (diff)
downloadGpgFrontend-eeec34f66fac8ecb350cd8d683a5dd167c91e706.tar.gz
GpgFrontend-eeec34f66fac8ecb350cd8d683a5dd167c91e706.zip
Merge branch 'dev/2.1.5/mingw' into develop
Diffstat (limited to '')
-rw-r--r--src/sdk/GFSDKGpg.h106
1 files changed, 105 insertions, 1 deletions
diff --git a/src/sdk/GFSDKGpg.h b/src/sdk/GFSDKGpg.h
index 1bbf5914..8977a975 100644
--- a/src/sdk/GFSDKGpg.h
+++ b/src/sdk/GFSDKGpg.h
@@ -28,4 +28,108 @@
#pragma once
-extern "C" {} \ No newline at end of file
+#include "GFSDKExport.h"
+
+extern "C" {
+
+struct GFGpgSignResult {
+ char* signature;
+ char* hash_algo;
+ char* capsule_id;
+ char* error_string;
+};
+
+struct GFGpgEncryptionResult {
+ char* encrypted_data;
+ char* capsule_id;
+ char* error_string;
+};
+
+struct GFGpgDecryptResult {
+ char* decrypted_data;
+ char* capsule_id;
+ char* error_string;
+};
+
+struct GFGpgVerifyResult {
+ char* capsule_id;
+ char* error_string;
+};
+
+struct GFGpgKeyUID {
+ char* name;
+ char* email;
+ char* comment;
+};
+
+/**
+ * @brief
+ *
+ * @param key_id
+ * @param data
+ * @param mode
+ * @return const char*
+ */
+auto GPGFRONTEND_MODULE_SDK_EXPORT GFGpgSignData(int channel, char** key_ids,
+ int key_ids_size, char* data,
+ int sign_mode, int ascii,
+ GFGpgSignResult**) -> int;
+
+/**
+ * @brief
+ *
+ * @param channel
+ * @param key_ids
+ * @param key_ids_size
+ * @param data
+ * @param ascii
+ * @return int
+ */
+auto GPGFRONTEND_MODULE_SDK_EXPORT
+GFGpgEncryptData(int channel, char** key_ids, int key_ids_size, char* data,
+ int ascii, GFGpgEncryptionResult**) -> int;
+
+/**
+ * @brief
+ *
+ * @param key_id
+ * @param data
+ * @param mode
+ * @return const char*
+ */
+auto GPGFRONTEND_MODULE_SDK_EXPORT
+GFGpgDecryptData(int channel, char* data, GFGpgDecryptResult**) -> int;
+
+/**
+ * @brief
+ *
+ * @param key_id
+ * @param data
+ * @param mode
+ * @return const char*
+ */
+auto GPGFRONTEND_MODULE_SDK_EXPORT GFGpgVerifyData(int channel, char* data,
+ char* signature,
+ GFGpgVerifyResult**) -> int;
+
+/**
+ * @brief
+ *
+ * @param key_id
+ * @param data
+ * @param mode
+ * @return const char*
+ */
+auto GPGFRONTEND_MODULE_SDK_EXPORT GFGpgPublicKey(int channel, char* key_id,
+ int ascii) -> char*;
+
+/**
+ * @brief
+ *
+ * @param channel
+ * @param key_id
+ * @return GpgKeyUID
+ */
+auto GPGFRONTEND_MODULE_SDK_EXPORT GFGpgKeyPrimaryUID(int channel, char* key_id,
+ GFGpgKeyUID**) -> int;
+} \ No newline at end of file