summaryrefslogtreecommitdiffstats
path: root/openpgp-ffi/include
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-01-29 23:48:24 +0100
committerJustus Winter <justus@sequoia-pgp.org>2020-01-29 23:48:24 +0100
commitb9b6533bd5394cd5cdb6b91b5c5ca7a02e3ea199 (patch)
tree6efa2009011ab08bbc24167a845d3d075edc6149 /openpgp-ffi/include
parent81e1b39d2ea9ffa07f11aed3f230a7f26792058f (diff)
openpgp-ffi: Add a general reader interface.
Diffstat (limited to 'openpgp-ffi/include')
-rw-r--r--openpgp-ffi/include/sequoia/io.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/openpgp-ffi/include/sequoia/io.h b/openpgp-ffi/include/sequoia/io.h
index 8cce06c5..81d0093a 100644
--- a/openpgp-ffi/include/sequoia/io.h
+++ b/openpgp-ffi/include/sequoia/io.h
@@ -29,6 +29,18 @@ pgp_reader_t pgp_reader_from_fd (int fd);
pgp_reader_t pgp_reader_from_bytes (const uint8_t *buf, size_t len);
/*/
+/// The callback type for the generic callback-based reader interface.
+/*/
+typedef ssize_t (*pgp_reader_cb_t) (void *cookie, const void *buf, size_t len);
+
+/*/
+/// Creates an reader from a callback and cookie.
+///
+/// This reader calls the given callback to write data.
+/*/
+pgp_reader_t pgp_reader_from_callback (pgp_reader_cb_t, void *);
+
+/*/
/// Frees a reader.
/*/
void pgp_reader_free (pgp_reader_t reader);