aboutsummaryrefslogtreecommitdiffstats
path: root/common/call-gpg.h
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2015-11-24 17:31:14 +0000
committerJustus Winter <[email protected]>2015-11-25 11:19:50 +0000
commit03bf88f32c8d203d5b3bfbbc48cc45e6c08cc187 (patch)
tree30ad5c7a7377a62ed0b3522ba88fd6f8c67f71a9 /common/call-gpg.h
parentcommon: Refactor the call-gpg code. (diff)
downloadgnupg-03bf88f32c8d203d5b3bfbbc48cc45e6c08cc187.tar.gz
gnupg-03bf88f32c8d203d5b3bfbbc48cc45e6c08cc187.zip
common: Add stream interface to call-pgp.
* common/call-gpg.c (struct writer_thread_parms): Add field 'stream'. (writer_thread_main): Support reading from a stream. (start_writer): Add stream argument. (struct reader_thread_parms): Add field 'stream'. (reader_thread_main): Support writing to a stream. (start_reader): Add stream argument. (_gpg_encrypt): Add stream api. (gpg_encrypt_blob): Adapt accordingly. (gpg_encrypt_stream): New function. (_gpg_decrypt): Add stream api. (gpg_decrypt_blob): Adapt accordingly. (gpg_decrypt_stream): New function. * common/call-gpg.h (gpg_encrypt_stream): New prototype. (gpg_decrypt_stream): Likewise. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'common/call-gpg.h')
-rw-r--r--common/call-gpg.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/common/call-gpg.h b/common/call-gpg.h
index 606473d88..2c5854d61 100644
--- a/common/call-gpg.h
+++ b/common/call-gpg.h
@@ -20,6 +20,8 @@
#ifndef G13_CALL_GPG_H
#define G13_CALL_GPG_H
+#include <gpg-error.h>
+
#include "strlist.h"
typedef struct server_control_s *ctrl_t;
@@ -28,10 +30,18 @@ gpg_error_t gpg_encrypt_blob (ctrl_t ctrl, const char *gpg_program,
const void *plain, size_t plainlen,
strlist_t keys,
void **r_ciph, size_t *r_ciphlen);
+
+gpg_error_t gpg_encrypt_stream (ctrl_t ctrl, const char *gpg_program,
+ estream_t plain_stream,
+ strlist_t keys,
+ estream_t cipher_stream);
+
gpg_error_t gpg_decrypt_blob (ctrl_t ctrl, const char *gpg_program,
const void *ciph, size_t ciphlen,
void **r_plain, size_t *r_plainlen);
-
+gpg_error_t gpg_decrypt_stream (ctrl_t ctrl, const char *gpg_program,
+ estream_t cipher_stream,
+ estream_t plain_stream);
#endif /*G13_CALL_GPG_H*/