diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2019-01-16 17:59:26 +0100 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2019-01-17 10:28:07 +0100 |
commit | 739b528ec5b1c94ee3c5c1e37bb88c810c48a0a4 (patch) | |
tree | 4219032208db41803c0d85389610931b6fc7b9d8 /ffi/include | |
parent | 2751c19a7aa0f70d76c0581f27fca9d15214e5ff (diff) |
ffi: Do not use a context where an errp suffices.
- This prepares us for the FFI crate split.
- Fixes #158.
Diffstat (limited to 'ffi/include')
-rw-r--r-- | ffi/include/sequoia/core.h | 8 | ||||
-rw-r--r-- | ffi/include/sequoia/openpgp.h | 86 |
2 files changed, 47 insertions, 47 deletions
diff --git a/ffi/include/sequoia/core.h b/ffi/include/sequoia/core.h index 829d7104..9d7d261b 100644 --- a/ffi/include/sequoia/core.h +++ b/ffi/include/sequoia/core.h @@ -229,7 +229,7 @@ typedef struct sq_reader *sq_reader_t; /*/ /// Opens a file returning a reader. /*/ -sq_reader_t sq_reader_from_file (sq_context_t ctx, const char *filename); +sq_reader_t sq_reader_from_file (sq_error_t *errp, const char *filename); /*/ /// Opens a file descriptor returning a reader. @@ -249,7 +249,7 @@ void sq_reader_free (sq_reader_t reader); /*/ /// Reads up to `len` bytes into `buf`. /*/ -ssize_t sq_reader_read (sq_context_t ctx, sq_reader_t reader, +ssize_t sq_reader_read (sq_error_t *errp, sq_reader_t reader, uint8_t *buf, size_t len); /*/ @@ -263,7 +263,7 @@ typedef struct sq_writer *sq_writer_t; /// The file will be created if it does not exist, or be truncated /// otherwise. If you need more control, use `sq_writer_from_fd`. /*/ -sq_writer_t sq_writer_from_file (sq_context_t ctx, const char *filename); +sq_writer_t sq_writer_from_file (sq_error_t *errp, const char *filename); /*/ /// Opens a file descriptor returning a writer. @@ -295,7 +295,7 @@ void sq_writer_free (sq_writer_t writer); /*/ /// Writes up to `len` bytes of `buf` into `writer`. /*/ -ssize_t sq_writer_write (sq_context_t ctx, sq_writer_t writer, +ssize_t sq_writer_write (sq_error_t *errp, sq_writer_t writer, const uint8_t *buf, size_t len); #endif diff --git a/ffi/include/sequoia/openpgp.h b/ffi/include/sequoia/openpgp.h index 6fe71f6b..2632a58a 100644 --- a/ffi/include/sequoia/openpgp.h +++ b/ffi/include/sequoia/openpgp.h @@ -257,7 +257,7 @@ sq_reader_t sq_armor_reader_new (sq_reader_t inner, sq_armor_kind_t kind); /*/ /// Creates a `Reader` from a file. /*/ -sq_reader_t sq_armor_reader_from_file (sq_context_t ctx, +sq_reader_t sq_armor_reader_from_file (sq_error_t *errp, const char *filename, sq_armor_kind_t kind); @@ -290,7 +290,7 @@ sq_armor_kind_t sq_armor_reader_kind (sq_reader_t reader); /// allocated with `malloc`, and the caller is responsible for freeing /// both the array and the strings. /*/ -sq_armor_header_t *sq_armor_reader_headers (sq_context_t ctx, +sq_armor_header_t *sq_armor_reader_headers (sq_error_t *errp, sq_reader_t reader, size_t *len); @@ -300,7 +300,7 @@ sq_armor_header_t *sq_armor_reader_headers (sq_context_t ctx, /// /// A filter that applies ASCII Armor to the data written to it. /*/ -sq_writer_t sq_armor_writer_new (sq_context_t ctx, sq_writer_t inner, +sq_writer_t sq_armor_writer_new (sq_error_t *errp, sq_writer_t inner, sq_armor_kind_t kind, sq_armor_header_t *header, size_t header_len); @@ -498,7 +498,7 @@ typedef struct sq_packet_pile *sq_packet_pile_t; /// /// Note: this interface *does* buffer the contents of packets. /*/ -sq_packet_pile_t sq_packet_pile_from_reader (sq_context_t ctx, +sq_packet_pile_t sq_packet_pile_from_reader (sq_error_t *errp, sq_reader_t reader); /*/ @@ -507,7 +507,7 @@ sq_packet_pile_t sq_packet_pile_from_reader (sq_context_t ctx, /// /// See `sq_packet_pile_from_reader` for more details and caveats. /*/ -sq_packet_pile_t sq_packet_pile_from_file (sq_context_t ctx, +sq_packet_pile_t sq_packet_pile_from_file (sq_error_t *errp, const char *filename); /*/ @@ -515,7 +515,7 @@ sq_packet_pile_t sq_packet_pile_from_file (sq_context_t ctx, /// /// See `sq_packet_pile_from_reader` for more details and caveats. /*/ -sq_packet_pile_t sq_packet_pile_from_bytes (sq_context_t ctx, +sq_packet_pile_t sq_packet_pile_from_bytes (sq_error_t *errp, const uint8_t *b, size_t len); /*/ @@ -531,7 +531,7 @@ sq_packet_pile_t sq_packet_pile_clone (sq_packet_pile_t message); /*/ /// Serializes the packet pile. /*/ -sq_status_t sq_packet_pile_serialize (sq_context_t ctx, +sq_status_t sq_packet_pile_serialize (sq_error_t *errp, const sq_packet_pile_t message, sq_writer_t writer); @@ -647,7 +647,7 @@ sq_keyid_t sq_pkesk_recipient(sq_pkesk_t pkesk); /// is not written to it. Either way, `key_len` is set to the size of /// the session key. /*/ -sq_status_t sq_pkesk_decrypt (sq_context_t ctx, sq_pkesk_t pkesk, +sq_status_t sq_pkesk_decrypt (sq_error_t *errp, sq_pkesk_t pkesk, sq_p_key_t secret_key, uint8_t *algo, /* XXX */ uint8_t *key, size_t *key_len); @@ -774,13 +774,13 @@ typedef struct sq_tsk *sq_tsk_t; /*/ /// Returns the first TPK encountered in the reader. /*/ -sq_tpk_t sq_tpk_from_reader (sq_context_t ctx, +sq_tpk_t sq_tpk_from_reader (sq_error_t *errp, sq_reader_t reader); /*/ /// Returns the first TPK encountered in the file. /*/ -sq_tpk_t sq_tpk_from_file (sq_context_t ctx, +sq_tpk_t sq_tpk_from_file (sq_error_t *errp, const char *filename); /*/ @@ -788,7 +788,7 @@ sq_tpk_t sq_tpk_from_file (sq_context_t ctx, /// /// Consumes `m`. /*/ -sq_tpk_t sq_tpk_from_packet_pile (sq_context_t ctx, +sq_tpk_t sq_tpk_from_packet_pile (sq_error_t *errp, sq_packet_pile_t m); /*/ @@ -796,7 +796,7 @@ sq_tpk_t sq_tpk_from_packet_pile (sq_context_t ctx, /// /// `buf` must be an OpenPGP-encoded TPK. /*/ -sq_tpk_t sq_tpk_from_bytes (sq_context_t ctx, +sq_tpk_t sq_tpk_from_bytes (sq_error_t *errp, const uint8_t *b, size_t len); /*/ @@ -804,7 +804,7 @@ sq_tpk_t sq_tpk_from_bytes (sq_context_t ctx, /// /// Consumes the packet parser result. /*/ -sq_tpk_t sq_tpk_from_packet_parser (sq_context_t ctx, +sq_tpk_t sq_tpk_from_packet_parser (sq_error_t *errp, sq_packet_parser_result_t ppr); /*/ @@ -825,7 +825,7 @@ int sq_tpk_equal (const sq_tpk_t a, const sq_tpk_t b); /*/ /// Serializes the TPK. /*/ -sq_status_t sq_tpk_serialize (sq_context_t ctx, +sq_status_t sq_tpk_serialize (sq_error_t *errp, const sq_tpk_t tpk, sq_writer_t writer); @@ -837,7 +837,7 @@ sq_status_t sq_tpk_serialize (sq_context_t ctx, /// /// Consumes `tpk` and `other`. /*/ -sq_tpk_t sq_tpk_merge (sq_context_t ctx, +sq_tpk_t sq_tpk_merge (sq_error_t *errp, sq_tpk_t tpk, sq_tpk_t other); @@ -850,7 +850,7 @@ sq_tpk_t sq_tpk_merge (sq_context_t ctx, /// Consumes `tpk` and the packets in `packets`. The buffer, however, /// must be freed by the caller. /*/ -sq_tpk_t sq_tpk_merge_packets (sq_context_t ctx, +sq_tpk_t sq_tpk_merge_packets (sq_error_t *errp, sq_tpk_t tpk, sq_packet_t *packets, size_t packets_len); @@ -893,7 +893,7 @@ sq_revocation_status_t sq_tpk_revocation_status (sq_tpk_t tpk); /// /// This function consumes the writer. It does *not* consume tpk. /*/ -sq_signature_t sq_tpk_revoke (sq_context_t ctx, +sq_signature_t sq_tpk_revoke (sq_error_t *errp, sq_tpk_t tpk, sq_signer_t primary_signer, sq_reason_for_revocation_t code, @@ -904,7 +904,7 @@ sq_signature_t sq_tpk_revoke (sq_context_t ctx, /// /// This function consumes the tpk. /*/ -sq_tpk_t sq_tpk_revoke_in_place (sq_context_t ctx, +sq_tpk_t sq_tpk_revoke_in_place (sq_error_t *errp, sq_tpk_t tpk, sq_signer_t primary_signer, sq_reason_for_revocation_t code, @@ -938,7 +938,7 @@ int sq_tpk_alive_at(sq_tpk_t tpk, time_t at); /// /// This function consumes `tpk` and returns a new `TPK`. /*/ -sq_tpk_t sq_tpk_set_expiry(sq_context_t ctx, +sq_tpk_t sq_tpk_set_expiry(sq_error_t *errp, sq_tpk_t tpk, uint32_t expiry); @@ -1033,7 +1033,7 @@ void sq_tpk_builder_add_certification_subkey(sq_tpk_builder_t *tpkb); /// /// Consumes `tpkb`. /*/ -sq_tpk_t sq_tpk_builder_generate(sq_context_t ctx, sq_tpk_builder_t tpkb, +sq_tpk_t sq_tpk_builder_generate(sq_error_t *errp, sq_tpk_builder_t tpkb, sq_tpk_t *tpk, sq_signature_t *revocation); @@ -1042,7 +1042,7 @@ sq_tpk_t sq_tpk_builder_generate(sq_context_t ctx, sq_tpk_builder_t tpkb, /*/ /// Generates a new RSA 3072 bit key with UID `primary_uid`. /*/ -sq_status_t sq_tsk_new (sq_context_t ctx, char *primary_uid, +sq_status_t sq_tsk_new (sq_error_t *errp, char *primary_uid, sq_tsk_t *tpk, sq_signature_t *revocation); /*/ @@ -1063,7 +1063,7 @@ sq_tpk_t sq_tsk_into_tpk (sq_tsk_t tsk); /*/ /// Serializes the TSK. /*/ -sq_status_t sq_tsk_serialize (sq_context_t ctx, +sq_status_t sq_tsk_serialize (sq_error_t *errp, const sq_tsk_t tsk, sq_writer_t writer); @@ -1188,7 +1188,7 @@ int sq_p_key_public_key_bits(sq_p_key_t key); /// /// Fails if the secret key is missing, or encrypted. /*/ -sq_key_pair_t sq_p_key_into_key_pair (sq_context_t ctx, sq_p_key_t key); +sq_key_pair_t sq_p_key_into_key_pair (sq_error_t *errp, sq_p_key_t key); /*/ /// Returns the value of the User ID Packet. @@ -1216,7 +1216,7 @@ const uint8_t *sq_user_attribute_value (sq_user_attribute_t ua, /// is not written to it. Either way, `key_len` is set to the size of /// the session key. /*/ -sq_status_t sq_skesk_decrypt (sq_context_t ctx, sq_skesk_t skesk, +sq_status_t sq_skesk_decrypt (sq_error_t *errp, sq_skesk_t skesk, const uint8_t *password, size_t password_len, uint8_t *algo, /* XXX */ uint8_t *key, size_t *key_len); @@ -1231,19 +1231,19 @@ uint32_t sq_p_key_creation_time (sq_p_key_t p); /*/ /// Starts parsing an OpenPGP message stored in a `sq_reader_t` object. /*/ -sq_packet_parser_result_t sq_packet_parser_from_reader (sq_context_t ctx, +sq_packet_parser_result_t sq_packet_parser_from_reader (sq_error_t *errp, sq_reader_t reader); /*/ /// Starts parsing an OpenPGP message stored in a file named `path`. /*/ -sq_packet_parser_result_t sq_packet_parser_from_file (sq_context_t ctx, +sq_packet_parser_result_t sq_packet_parser_from_file (sq_error_t *errp, const char *filename); /*/ /// Starts parsing an OpenPGP message stored in a buffer. /*/ -sq_packet_parser_result_t sq_packet_parser_from_bytes (sq_context_t ctx, +sq_packet_parser_result_t sq_packet_parser_from_bytes (sq_error_t *errp, const uint8_t *b, size_t len); @@ -1392,7 +1392,7 @@ uint8_t sq_packet_parser_recursion_depth (sq_packet_parser_t pp); /// /// Consumes the given packet parser. /*/ -sq_status_t sq_packet_parser_next (sq_context_t ctx, +sq_status_t sq_packet_parser_next (sq_error_t *errp, sq_packet_parser_t pp, sq_packet_t *old_packet, sq_packet_parser_result_t *ppr); @@ -1419,7 +1419,7 @@ sq_status_t sq_packet_parser_next (sq_context_t ctx, /// /// Consumes the given packet parser. /*/ -sq_status_t sq_packet_parser_recurse (sq_context_t ctx, +sq_status_t sq_packet_parser_recurse (sq_error_t *errp, sq_packet_parser_t pp, sq_packet_t *old_packet, sq_packet_parser_result_t *ppr); @@ -1432,7 +1432,7 @@ sq_status_t sq_packet_parser_recurse (sq_context_t ctx, /// prefer streaming its content unless you are certain that the /// content is small. /*/ -uint8_t *sq_packet_parser_buffer_unread_content (sq_context_t ctx, +uint8_t *sq_packet_parser_buffer_unread_content (sq_error_t *errp, sq_packet_parser_t pp, size_t *len); @@ -1442,7 +1442,7 @@ uint8_t *sq_packet_parser_buffer_unread_content (sq_context_t ctx, /// By default, this drops any unread content. Use, for instance, /// `PacketParserBuild` to customize the default behavior. /*/ -sq_status_t sq_packet_parser_finish (sq_context_t ctx, +sq_status_t sq_packet_parser_finish (sq_error_t *errp, sq_packet_parser_t pp, sq_packet_t **packet); @@ -1457,7 +1457,7 @@ sq_status_t sq_packet_parser_finish (sq_context_t ctx, /// encrypted data, or some of the data was already read, then it /// returns `Error::InvalidOperation`. /*/ -sq_status_t sq_packet_parser_decrypt (sq_context_t ctx, +sq_status_t sq_packet_parser_decrypt (sq_error_t *errp, sq_packet_parser_t pp, uint8_t algo, /* XXX */ uint8_t *key, size_t key_len); @@ -1472,7 +1472,7 @@ sq_writer_stack_t sq_writer_stack_message (sq_writer_t writer); /*/ /// Writes up to `len` bytes of `buf` into `writer`. /*/ -ssize_t sq_writer_stack_write (sq_context_t ctx, sq_writer_stack_t writer, +ssize_t sq_writer_stack_write (sq_error_t *errp, sq_writer_stack_t writer, const uint8_t *buf, size_t len); /*/ @@ -1482,20 +1482,20 @@ ssize_t sq_writer_stack_write (sq_context_t ctx, sq_writer_stack_t writer, /// buffer will be written. Also, this version automatically catches /// EINTR. /*/ -sq_status_t sq_writer_stack_write_all (sq_context_t ctx, +sq_status_t sq_writer_stack_write_all (sq_error_t *errp, sq_writer_stack_t writer, const uint8_t *buf, size_t len); /*/ /// Finalizes this writer, returning the underlying writer. /*/ -sq_writer_stack_t sq_writer_stack_finalize_one (sq_context_t ctx, +sq_writer_stack_t sq_writer_stack_finalize_one (sq_error_t *errp, sq_writer_stack_t writer); /*/ /// Finalizes all writers, tearing down the whole stack. /*/ -sq_status_t sq_writer_stack_finalize (sq_context_t ctx, +sq_status_t sq_writer_stack_finalize (sq_error_t *errp, sq_writer_stack_t writer); /*/ @@ -1505,7 +1505,7 @@ sq_status_t sq_writer_stack_finalize (sq_context_t ctx, /// The body will be written using partial length encoding, or, if the /// body is short, using full length encoding. /*/ -sq_writer_stack_t sq_arbitrary_writer_new (sq_context_t ctx, +sq_writer_stack_t sq_arbitrary_writer_new (sq_error_t *errp, sq_writer_stack_t inner, sq_tag_t tag); @@ -1516,14 +1516,14 @@ sq_writer_stack_t sq_arbitrary_writer_new (sq_context_t ctx, /// packet, then hashes and emits the data stream, then for every key /// writes a signature packet. /*/ -sq_writer_stack_t sq_signer_new (sq_context_t ctx, +sq_writer_stack_t sq_signer_new (sq_error_t *errp, sq_writer_stack_t inner, sq_tpk_t *signers, size_t signers_len); /*/ /// Creates a signer for a detached signature. /*/ -sq_writer_stack_t sq_signer_new_detached (sq_context_t ctx, +sq_writer_stack_t sq_signer_new_detached (sq_error_t *errp, sq_writer_stack_t inner, sq_tpk_t *signers, size_t signers_len); @@ -1534,7 +1534,7 @@ sq_writer_stack_t sq_signer_new_detached (sq_context_t ctx, /// The body will be written using partial length encoding, or, if the /// body is short, using full length encoding. /*/ -sq_writer_stack_t sq_literal_writer_new (sq_context_t ctx, +sq_writer_stack_t sq_literal_writer_new (sq_error_t *errp, sq_writer_stack_t inner); /*/ @@ -1572,7 +1572,7 @@ typedef enum sq_encryption_mode { /// The stream is encrypted using AES256, regardless of any key /// preferences. /*/ -sq_writer_stack_t sq_encryptor_new (sq_context_t ctx, +sq_writer_stack_t sq_encryptor_new (sq_error_t *errp, sq_writer_stack_t inner, char **passwords, size_t passwords_len, @@ -1643,13 +1643,13 @@ typedef sq_status_t (*sq_sequoia_decrypt_check_signatures_cb_t) (void *, sq_verification_results_t, size_t); -sq_status_t sq_decrypt (sq_context_t ctx, sq_reader_t input, sq_writer_t output, +sq_status_t sq_decrypt (sq_error_t *errp, sq_reader_t input, sq_writer_t output, sq_sequoia_decrypt_get_public_keys_cb_t get_public_keys, sq_sequoia_decrypt_get_secret_keys_cb_t get_secret_keys, sq_sequoia_decrypt_check_signatures_cb_t check_signatures, void *cookie); -sq_status_t sq_verify (sq_context_t ctx, +sq_status_t sq_verify (sq_error_t *errp, sq_reader_t input, sq_reader_t dsig, sq_writer_t output, sq_sequoia_decrypt_get_public_keys_cb_t get_public_keys, sq_sequoia_decrypt_check_signatures_cb_t check_signatures, |