summaryrefslogtreecommitdiffstats
path: root/ffi/src/openpgp/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ffi/src/openpgp/mod.rs')
-rw-r--r--ffi/src/openpgp/mod.rs182
1 files changed, 91 insertions, 91 deletions
diff --git a/ffi/src/openpgp/mod.rs b/ffi/src/openpgp/mod.rs
index f87b24eb..859d8096 100644
--- a/ffi/src/openpgp/mod.rs
+++ b/ffi/src/openpgp/mod.rs
@@ -126,10 +126,10 @@ pub extern "system" fn sq_revocation_status_free(
/// Generates a new RSA 3072 bit key with UID `primary_uid`.
#[no_mangle]
-pub extern "system" fn sq_tsk_new(ctx: Option<&mut Context>,
+pub extern "system" fn sq_tsk_new(ctx: *mut Context,
primary_uid: *const c_char,
- tsk_out: Option<&mut *mut TSK>,
- revocation_out: Option<&mut *mut Signature>)
+ tsk_out: *mut *mut TSK,
+ revocation_out: *mut *mut Signature)
-> Status
{
let ctx = ffi_param_ref_mut!(ctx);
@@ -157,7 +157,7 @@ pub extern "system" fn sq_tsk_free(tsk: *mut TSK) {
/// Returns a reference to the corresponding TPK.
#[no_mangle]
-pub extern "system" fn sq_tsk_tpk(tsk: Option<&TSK>)
+pub extern "system" fn sq_tsk_tpk(tsk: *const TSK)
-> *const TPK {
let tsk = ffi_param_ref!(tsk);
tsk.tpk()
@@ -174,9 +174,9 @@ pub extern "system" fn sq_tsk_into_tpk(tsk: *mut TSK)
/// Serializes the TSK.
#[no_mangle]
-pub extern "system" fn sq_tsk_serialize(ctx: Option<&mut Context>,
- tsk: Option<&TSK>,
- writer: Option<&mut Box<Write>>)
+pub extern "system" fn sq_tsk_serialize(ctx: *mut Context,
+ tsk: *const TSK,
+ writer: *mut Box<Write>)
-> Status {
let ctx = ffi_param_ref_mut!(ctx);
let tsk = ffi_param_ref!(tsk);
@@ -198,7 +198,7 @@ pub extern "system" fn sq_packet_free(p: *mut Packet) {
///
/// [Section 4.3 of RFC 4880]: https://tools.ietf.org/html/rfc4880#section-4.3
#[no_mangle]
-pub extern "system" fn sq_packet_tag(p: Option<&Packet>)
+pub extern "system" fn sq_packet_tag(p: *const Packet)
-> uint8_t {
let p = ffi_param_ref!(p);
let tag: u8 = p.tag().into();
@@ -213,7 +213,7 @@ pub extern "system" fn sq_packet_tag(p: Option<&Packet>)
/// into an `Packet::Unknown`. `tag()` returns `SQ_TAG_SIGNATURE`,
/// whereas `kind()` returns `0`.
#[no_mangle]
-pub extern "system" fn sq_packet_kind(p: Option<&Packet>)
+pub extern "system" fn sq_packet_kind(p: *const Packet)
-> uint8_t {
let p = ffi_param_ref!(p);
if let Some(kind) = p.kind() {
@@ -244,7 +244,7 @@ pub extern "system" fn sq_signature_to_packet(s: *mut Signature)
/// there is no Issuer subpacket, but there is an IssuerFingerprint
/// subpacket, this still returns NULL.
#[no_mangle]
-pub extern "system" fn sq_signature_issuer(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_issuer(sig: *const packet::Signature)
-> *mut KeyID {
let sig = ffi_param_ref!(sig);
maybe_box_raw!(sig.issuer())
@@ -257,7 +257,7 @@ pub extern "system" fn sq_signature_issuer(sig: Option<&packet::Signature>)
/// Issuer subpacket, this still returns NULL.
#[no_mangle]
pub extern "system" fn sq_signature_issuer_fingerprint(
- sig: Option<&packet::Signature>)
+ sig: *const packet::Signature)
-> *mut Fingerprint
{
let sig = ffi_param_ref!(sig);
@@ -268,7 +268,7 @@ pub extern "system" fn sq_signature_issuer_fingerprint(
/// Returns whether the KeyFlags indicates that the key can be used to
/// make certifications.
#[no_mangle]
-pub extern "system" fn sq_signature_can_certify(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_can_certify(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -278,7 +278,7 @@ pub extern "system" fn sq_signature_can_certify(sig: Option<&packet::Signature>)
/// Returns whether the KeyFlags indicates that the key can be used to
/// make signatures.
#[no_mangle]
-pub extern "system" fn sq_signature_can_sign(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_can_sign(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -288,7 +288,7 @@ pub extern "system" fn sq_signature_can_sign(sig: Option<&packet::Signature>)
/// Returns whether the KeyFlags indicates that the key can be used to
/// encrypt data for transport.
#[no_mangle]
-pub extern "system" fn sq_signature_can_encrypt_for_transport(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_can_encrypt_for_transport(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -298,7 +298,7 @@ pub extern "system" fn sq_signature_can_encrypt_for_transport(sig: Option<&packe
/// Returns whether the KeyFlags indicates that the key can be used to
/// encrypt data at rest.
#[no_mangle]
-pub extern "system" fn sq_signature_can_encrypt_at_rest(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_can_encrypt_at_rest(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -308,7 +308,7 @@ pub extern "system" fn sq_signature_can_encrypt_at_rest(sig: Option<&packet::Sig
/// Returns whether the KeyFlags indicates that the key can be used
/// for authentication.
#[no_mangle]
-pub extern "system" fn sq_signature_can_authenticate(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_can_authenticate(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -318,7 +318,7 @@ pub extern "system" fn sq_signature_can_authenticate(sig: Option<&packet::Signat
/// Returns whether the KeyFlags indicates that the key is a split
/// key.
#[no_mangle]
-pub extern "system" fn sq_signature_is_split_key(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_is_split_key(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -328,7 +328,7 @@ pub extern "system" fn sq_signature_is_split_key(sig: Option<&packet::Signature>
/// Returns whether the KeyFlags indicates that the key is a group
/// key.
#[no_mangle]
-pub extern "system" fn sq_signature_is_group_key(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_is_group_key(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -341,7 +341,7 @@ pub extern "system" fn sq_signature_is_group_key(sig: Option<&packet::Signature>
/// A signature is alive if the creation date is in the past, and the
/// signature has not expired.
#[no_mangle]
-pub extern "system" fn sq_signature_alive(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_alive(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -353,7 +353,7 @@ pub extern "system" fn sq_signature_alive(sig: Option<&packet::Signature>)
/// A signature is alive if the creation date is in the past, and the
/// signature has not expired at the specified time.
#[no_mangle]
-pub extern "system" fn sq_signature_alive_at(sig: Option<&packet::Signature>,
+pub extern "system" fn sq_signature_alive_at(sig: *const packet::Signature,
when: time_t)
-> bool
{
@@ -363,7 +363,7 @@ pub extern "system" fn sq_signature_alive_at(sig: Option<&packet::Signature>,
/// Returns whether the signature is expired.
#[no_mangle]
-pub extern "system" fn sq_signature_expired(sig: Option<&packet::Signature>)
+pub extern "system" fn sq_signature_expired(sig: *const packet::Signature)
-> bool
{
let sig = ffi_param_ref!(sig);
@@ -372,7 +372,7 @@ pub extern "system" fn sq_signature_expired(sig: Option<&packet::Signature>)
/// Returns whether the signature is expired at the specified time.
#[no_mangle]
-pub extern "system" fn sq_signature_expired_at(sig: Option<&packet::Signature>,
+pub extern "system" fn sq_signature_expired_at(sig: *const packet::Signature,
when: time_t)
-> bool
{
@@ -383,7 +383,7 @@ pub extern "system" fn sq_signature_expired_at(sig: Option<&packet::Signature>,
/// Clones the key.
#[no_mangle]
-pub extern "system" fn sq_p_key_clone(key: Option<&packet::Key>)
+pub extern "system" fn sq_p_key_clone(key: *const packet::Key)
-> *mut packet::Key {
let key = ffi_param_ref!(key);
box_raw!(key.clone())
@@ -392,7 +392,7 @@ pub extern "system" fn sq_p_key_clone(key: Option<&packet::Key>)
/// Computes and returns the key's fingerprint as per Section 12.2
/// of RFC 4880.
#[no_mangle]
-pub extern "system" fn sq_p_key_fingerprint(key: Option<&packet::Key>)
+pub extern "system" fn sq_p_key_fingerprint(key: *const packet::Key)
-> *mut Fingerprint {
let key = ffi_param_ref!(key);
box_raw!(key.fingerprint())
@@ -401,7 +401,7 @@ pub extern "system" fn sq_p_key_fingerprint(key: Option<&packet::Key>)
/// Computes and returns the key's key ID as per Section 12.2 of RFC
/// 4880.
#[no_mangle]
-pub extern "system" fn sq_p_key_keyid(key: Option<&packet::Key>)
+pub extern "system" fn sq_p_key_keyid(key: *const packet::Key)
-> *mut KeyID {
let key = ffi_param_ref!(key);
box_raw!(key.keyid())
@@ -414,8 +414,8 @@ pub extern "system" fn sq_p_key_keyid(key: Option<&packet::Key>)
/// checked for validity. That is, we do not check whether the
/// signature is a valid self-signature for the given key.
#[no_mangle]
-pub extern "system" fn sq_p_key_expired(key: Option<&packet::Key>,
- sig: Option<&packet::Signature>)
+pub extern "system" fn sq_p_key_expired(key: *const packet::Key,
+ sig: *const packet::Signature)
-> bool
{
let key = ffi_param_ref!(key);
@@ -426,8 +426,8 @@ pub extern "system" fn sq_p_key_expired(key: Option<&packet::Key>,
/// Like sq_p_key_expired, but at a specific time.
#[no_mangle]
-pub extern "system" fn sq_p_key_expired_at(key: Option<&packet::Key>,
- sig: Option<&packet::Signature>,
+pub extern "system" fn sq_p_key_expired_at(key: *const packet::Key,
+ sig: *const packet::Signature,
when: time_t)
-> bool
{
@@ -447,8 +447,8 @@ pub extern "system" fn sq_p_key_expired_at(key: Option<&packet::Key>,
/// checked for validity. That is, we do not check whether the
/// signature is a valid self-signature for the given key.
#[no_mangle]
-pub extern "system" fn sq_p_key_alive(key: Option<&packet::Key>,
- sig: Option<&packet::Signature>)
+pub extern "system" fn sq_p_key_alive(key: *const packet::Key,
+ sig: *const packet::Signature)
-> bool
{
let key = ffi_param_ref!(key);
@@ -459,8 +459,8 @@ pub extern "system" fn sq_p_key_alive(key: Option<&packet::Key>,
/// Like sq_p_key_alive, but at a specific time.
#[no_mangle]
-pub extern "system" fn sq_p_key_alive_at(key: Option<&packet::Key>,
- sig: Option<&packet::Signature>,
+pub extern "system" fn sq_p_key_alive_at(key: *const packet::Key,
+ sig: *const packet::Signature,
when: time_t)
-> bool
{
@@ -472,7 +472,7 @@ pub extern "system" fn sq_p_key_alive_at(key: Option<&packet::Key>,
/// Returns the key's creation time.
#[no_mangle]
-pub extern "system" fn sq_p_key_creation_time(key: Option<&packet::Key>)
+pub extern "system" fn sq_p_key_creation_time(key: *const packet::Key)
-> u32
{
let key = ffi_param_ref!(key);
@@ -483,7 +483,7 @@ pub extern "system" fn sq_p_key_creation_time(key: Option<&packet::Key>)
/// Returns the key's public key algorithm.
#[no_mangle]
-pub extern "system" fn sq_p_key_public_key_algo(key: Option<&packet::Key>)
+pub extern "system" fn sq_p_key_public_key_algo(key: *const packet::Key)
-> c_int
{
let key = ffi_param_ref!(key);
@@ -493,7 +493,7 @@ pub extern "system" fn sq_p_key_public_key_algo(key: Option<&packet::Key>)
/// Returns the public key's size in bits.
#[no_mangle]
-pub extern "system" fn sq_p_key_public_key_bits(key: Option<&packet::Key>)
+pub extern "system" fn sq_p_key_public_key_bits(key: *const packet::Key)
-> c_int
{
use self::openpgp::crypto::mpis::PublicKey::*;
@@ -515,7 +515,7 @@ pub extern "system" fn sq_p_key_public_key_bits(key: Option<&packet::Key>)
/// The returned pointer is valid until `uid` is deallocated. If
/// `value_len` is not `NULL`, the size of value is stored there.
#[no_mangle]
-pub extern "system" fn sq_user_id_value(uid: Option<&Packet>,
+pub extern "system" fn sq_user_id_value(uid: *const Packet,
value_len: Option<&mut size_t>)
-> *const uint8_t {
let uid = ffi_param_ref!(uid);
@@ -534,7 +534,7 @@ pub extern "system" fn sq_user_id_value(uid: Option<&Packet>,
/// The returned pointer is valid until `ua` is deallocated. If
/// `value_len` is not `NULL`, the size of value is stored there.
#[no_mangle]
-pub extern "system" fn sq_user_attribute_value(ua: Option<&Packet>,
+pub extern "system" fn sq_user_attribute_value(ua: *const Packet,
value_len: Option<&mut size_t>)
-> *const uint8_t {
let ua = ffi_param_ref!(ua);
@@ -555,13 +555,13 @@ pub extern "system" fn sq_user_attribute_value(ua: Option<&Packet>,
/// is not written to it. Either way, `key_len` is set to the size of
/// the session key.
#[no_mangle]
-pub extern "system" fn sq_skesk_decrypt(ctx: Option<&mut Context>,
- skesk: Option<&Packet>,
+pub extern "system" fn sq_skesk_decrypt(ctx: *mut Context,
+ skesk: *const Packet,
password: *const uint8_t,
password_len: size_t,
- algo: Option<&mut uint8_t>, // XXX
+ algo: *mut uint8_t, // XXX
key: *mut uint8_t,
- key_len: Option<&mut size_t>)
+ key_len: *mut size_t)
-> Status {
let ctx = ffi_param_ref_mut!(ctx);
let skesk = ffi_param_ref!(skesk);
@@ -598,7 +598,7 @@ pub extern "system" fn sq_skesk_decrypt(ctx: Option<&mut Context>,
/// The return value is a reference ot a `KeyID`. The caller must not
/// modify or free it.
#[no_mangle]
-pub extern "system" fn sq_pkesk_recipient(pkesk: Option<&PKESK>)
+pub extern "system" fn sq_pkesk_recipient(pkesk: *const PKESK)
-> *const KeyID {
let pkesk = ffi_param_ref!(pkesk);
pkesk.recipient()
@@ -611,12 +611,12 @@ pub extern "system" fn sq_pkesk_recipient(pkesk: Option<&PKESK>)
/// is not written to it. Either way, `key_len` is set to the size of
/// the session key.
#[no_mangle]
-pub extern "system" fn sq_pkesk_decrypt(ctx: Option<&mut Context>,
- pkesk: Option<&PKESK>,
- secret_key: Option<&packet::Key>,
- algo: Option<&mut uint8_t>, // XXX
+pub extern "system" fn sq_pkesk_decrypt(ctx: *mut Context,
+ pkesk: *const PKESK,
+ secret_key: *const packet::Key,
+ algo: *mut uint8_t, // XXX
key: *mut uint8_t,
- key_len: Option<&mut size_t>)
+ key_len: *mut size_t)
-> Status {
let ctx = ffi_param_ref_mut!(ctx);
let pkesk = ffi_param_ref!(pkesk);
@@ -655,7 +655,7 @@ pub extern "system" fn sq_pkesk_decrypt(ctx: Option<&mut Context>,
/// the stream.
#[no_mangle]
pub extern "system" fn sq_packet_parser_from_reader<'a>
- (ctx: Option<&mut Context>, reader: Option<&'a mut Box<'a + Read>>)
+ (ctx: *mut Context, reader: *mut Box<'a + Read>)
-> *mut PacketParserResult<'a> {
let ctx = ffi_param_ref_mut!(ctx);
let reader = ffi_param_ref_mut!(reader);
@@ -668,9 +668,9 @@ pub extern "system" fn sq_packet_parser_from_reader<'a>
/// the stream.
#[no_mangle]
pub extern "system" fn sq_packet_parser_from_file
- (ctx: Option<&mut Context>, filename: *const c_char)
- -> *mut PacketParserResult {
- let ctx = ffi_param_ref!(ctx);
+ (ctx: *mut Context, filename: *const c_char)
+ -> *mut PacketParserResult<'static> {
+ let ctx = ffi_param_ref_mut!(ctx);
assert!(! filename.is_null());
let filename = unsafe {
CStr::from_ptr(filename).to_string_lossy().into_owned()
@@ -684,8 +684,8 @@ pub extern "system" fn sq_packet_parser_from_file
/// the stream.
#[no_mangle]
pub extern "system" fn sq_packet_parser_from_bytes
- (ctx: Option<&mut Context>, b: *const uint8_t, len: size_t)
- -> *mut PacketParserResult {
+ (ctx: *mut Context, b: *const uint8_t, len: size_t)
+ -> *mut PacketParserResult<'static> {
let ctx = ffi_param_ref_mut!(ctx);
assert!(!b.is_null());
let buf = unsafe {
@@ -712,7 +712,7 @@ pub extern "system" fn sq_packet_parser_free(pp: *mut PacketParser) {
/// Frees the packet parser EOF object.
#[no_mangle]
pub extern "system" fn sq_packet_parser_eof_is_message(
- eof: Option<&PacketParserEOF>) -> bool
+ eof: *const PacketParserEOF) -> bool
{
let eof = ffi_param_ref!(eof);
@@ -728,7 +728,7 @@ pub extern "system" fn sq_packet_parser_eof_free(eof: *mut PacketParserEOF) {
/// Returns a reference to the packet that is being parsed.
#[no_mangle]
pub extern "system" fn sq_packet_parser_packet
- (pp: Option<&PacketParser>)
+ (pp: *const PacketParser)
-> *const Packet {
let pp = ffi_param_ref!(pp);
&pp.packet
@@ -740,7 +740,7 @@ pub extern "system" fn sq_packet_parser_packet
/// top-level container have a recursion depth of 1, etc.
#[no_mangle]
pub extern "system" fn sq_packet_parser_recursion_depth
- (pp: Option<&PacketParser>)
+ (pp: *const PacketParser)
-> uint8_t {
let pp = ffi_param_ref!(pp);
pp.recursion_depth() as u8
@@ -815,12 +815,12 @@ pub extern "system" fn sq_packet_parser_recursion_depth
/// Consumes the given packet parser.
#[no_mangle]
pub extern "system" fn sq_packet_parser_next<'a>
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
pp: *mut PacketParser<'a>,
old_packet: Option<&mut *mut Packet>,
ppr: Option<&mut *mut PacketParserResult<'a>>)
-> Status {
- let ctx = ffi_param_ref!(ctx);
+ let ctx = ffi_param_ref_mut!(ctx);
let pp = ffi_param_move!(pp);
match pp.next() {
@@ -859,12 +859,12 @@ pub extern "system" fn sq_packet_parser_next<'a>
/// Consumes the given packet parser.
#[no_mangle]
pub extern "system" fn sq_packet_parser_recurse<'a>
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
pp: *mut PacketParser<'a>,
old_packet: Option<&mut *mut Packet>,
ppr: Option<&mut *mut PacketParserResult<'a>>)
-> Status {
- let ctx = ffi_param_ref!(ctx);
+ let ctx = ffi_param_ref_mut!(ctx);
let pp = ffi_param_move!(pp);
match pp.recurse() {
@@ -889,9 +889,9 @@ pub extern "system" fn sq_packet_parser_recurse<'a>
/// content is small.
#[no_mangle]
pub extern "system" fn sq_packet_parser_buffer_unread_content<'a>
- (ctx: Option<&mut Context>,
- pp: Option<&mut PacketParser<'a>>,
- len: Option<&mut usize>)
+ (ctx: *mut Context,
+ pp: *mut PacketParser<'a>,
+ len: *mut usize)
-> *const uint8_t {
let ctx = ffi_param_ref_mut!(ctx);
let pp = ffi_param_ref_mut!(pp);
@@ -907,7 +907,7 @@ pub extern "system" fn sq_packet_parser_buffer_unread_content<'a>
/// `PacketParserBuild` to customize the default behavior.
#[no_mangle]
pub extern "system" fn sq_packet_parser_finish<'a>
- (ctx: Option<&mut Context>, pp: Option<&mut PacketParser<'a>>,
+ (ctx: *mut Context, pp: *mut PacketParser<'a>,
packet: Option<&mut *const Packet>)
-> Status
{
@@ -939,8 +939,8 @@ pub extern "system" fn sq_packet_parser_finish<'a>
/// returns `Error::InvalidOperation`.
#[no_mangle]
pub extern "system" fn sq_packet_parser_decrypt<'a>
- (ctx: Option<&mut Context>,
- pp: Option<&mut PacketParser<'a>>,
+ (ctx: *mut Context,
+ pp: *mut PacketParser<'a>,
algo: uint8_t, // XXX
key: *const uint8_t, key_len: size_t)
-> Status {
@@ -966,7 +966,7 @@ pub extern "system" fn sq_packet_parser_decrypt<'a>
/// Returns 0 if the PacketParserResult does not contain a packet.
#[no_mangle]
pub extern "system" fn sq_packet_parser_result_tag<'a>
- (ppr: Option<&mut PacketParserResult<'a>>)
+ (ppr: *mut PacketParserResult<'a>)
-> c_int
{
let ppr = ffi_param_ref_mut!(ppr);
@@ -1061,8 +1061,8 @@ pub extern "system" fn sq_writer_stack_message
/// Writes up to `len` bytes of `buf` into `writer`.
#[no_mangle]
pub extern "system" fn sq_writer_stack_write
- (ctx: Option<&mut Context>,
- writer: Option<&mut writer::Stack<'static, Cookie>>,
+ (ctx: *mut Context,
+ writer: *mut writer::Stack<'static, Cookie>,
buf: *const uint8_t, len: size_t)
-> ssize_t
{
@@ -1082,8 +1082,8 @@ pub extern "system" fn sq_writer_stack_write
/// EINTR.
#[no_mangle]
pub extern "system" fn sq_writer_stack_write_all
- (ctx: Option<&mut Context>,
- writer: Option<&mut writer::Stack<'static, Cookie>>,
+ (ctx: *mut Context,
+ writer: *mut writer::Stack<'static, Cookie>,
buf: *const uint8_t, len: size_t)
-> Status
{
@@ -1099,7 +1099,7 @@ pub extern "system" fn sq_writer_stack_write_all
/// Finalizes this writer, returning the underlying writer.
#[no_mangle]
pub extern "system" fn sq_writer_stack_finalize_one
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
writer: *mut writer::Stack<'static, Cookie>)
-> *mut writer::Stack<'static, Cookie>
{
@@ -1115,7 +1115,7 @@ pub extern "system" fn sq_writer_stack_finalize_one
/// Finalizes all writers, tearing down the whole stack.
#[no_mangle]
pub extern "system" fn sq_writer_stack_finalize
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
writer: *mut writer::Stack<'static, Cookie>)
-> Status
{
@@ -1135,7 +1135,7 @@ pub extern "system" fn sq_writer_stack_finalize
/// body is short, using full length encoding.
#[no_mangle]
pub extern "system" fn sq_arbitrary_writer_new
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
inner: *mut writer::Stack<'static, Cookie>,
tag: uint8_t)
-> *mut writer::Stack<'static, Cookie>
@@ -1152,9 +1152,9 @@ pub extern "system" fn sq_arbitrary_writer_new
/// writes a signature packet.
#[no_mangle]
pub extern "system" fn sq_signer_new
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
inner: *mut writer::Stack<'static, Cookie>,
- signers: Option<&&'static TPK>, signers_len: size_t)
+ signers: *const &'static TPK, signers_len: size_t)
-> *mut writer::Stack<'static, Cookie>
{
let ctx = ffi_param_ref_mut!(ctx);
@@ -1169,7 +1169,7 @@ pub extern "system" fn sq_signer_new
/// Creates a signer for a detached signature.
#[no_mangle]
pub extern "system" fn sq_signer_new_detached
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
inner: *mut writer::Stack<'static, Cookie>,
signers: Option<&&'static TPK>, signers_len: size_t)
-> *mut writer::Stack<'static, Cookie>
@@ -1189,7 +1189,7 @@ pub extern "system" fn sq_signer_new_detached
/// body is short, using full length encoding.
#[no_mangle]
pub extern "system" fn sq_literal_writer_new
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
inner: *mut writer::Stack<'static, Cookie>)
-> *mut writer::Stack<'static, Cookie>
{
@@ -1211,7 +1211,7 @@ pub extern "system" fn sq_literal_writer_new
/// preferences.
#[no_mangle]
pub extern "system" fn sq_encryptor_new
- (ctx: Option<&mut Context>,
+ (ctx: *mut Context,
inner: *mut writer::Stack<'static, Cookie>,
passwords: Option<&*const c_char>, passwords_len: size_t,
recipients: Option<&&TPK>, recipients_len: size_t,
@@ -1304,10 +1304,10 @@ pub struct VerificationResults<'a> {
/// level. The result is an array of references to
/// `VerificationResult`.
#[no_mangle]
-pub fn sq_verification_results_at_level<'a>(results: Option<&'a VerificationResults>,
+pub fn sq_verification_results_at_level<'a>(results: *const VerificationResults<'a>,
level: size_t,
- r: Option<&mut *const &'a VerificationResult>,
- r_count: Option<&mut size_t>) {
+ r: *mut *const &'a VerificationResult,
+ r_count: *mut size_t) {
let results = ffi_param_ref!(results);
let r = ffi_param_ref_mut!(r);
let r_count = ffi_param_ref_mut!(r_count);
@@ -1323,7 +1323,7 @@ pub fn sq_verification_results_at_level<'a>(results: Option<&'a VerificationResu
/// Returns the verification result code.
#[no_mangle]
-pub fn sq_verification_result_code(result: Option<&VerificationResult>)
+pub fn sq_verification_result_code(result: *const VerificationResult)
-> c_int
{
let result = ffi_param_ref!(result);
@@ -1336,7 +1336,7 @@ pub fn sq_verification_result_code(result: Option<&VerificationResult>)
/// Returns the verification result code.
#[no_mangle]
-pub fn sq_verification_result_signature(result: Option<&VerificationResult>)
+pub fn sq_verification_result_signature(result: *const VerificationResult)
-> *const packet::Signature
{
let result = ffi_param_ref!(result);
@@ -1351,7 +1351,7 @@ pub fn sq_verification_result_signature(result: Option<&VerificationResult>)
/// Returns the verification result code.
#[no_mangle]
-pub fn sq_verification_result_level(result: Option<&VerificationResult>)
+pub fn sq_verification_result_level(result: *const VerificationResult)
-> c_int
{
let result = ffi_param_ref!(result);
@@ -1528,8 +1528,8 @@ fn verify_real<'a>(input: &'a mut Box<'a + Read>,
///
/// Note: output may be NULL, if the output is not required.
#[no_mangle]
-pub fn sq_verify<'a>(ctx: Option<&mut Context>,
- input: Option<&'a mut Box<'a + Read>>,
+pub fn sq_verify<'a>(ctx: *mut Context,
+ input: *mut Box<'a + Read>,
dsig: Option<&'a mut Box<'a + Read>>,
output: Option<&'a mut Box<'a + Write>>,
get_public_keys: GetPublicKeysCallback,
@@ -1651,9 +1651,9 @@ fn decrypt_real<'a>(input: &'a mut Box<'a + Read>,
///
/// Note: all of the parameters are required; none may be NULL.
#[no_mangle]
-pub fn sq_decrypt<'a>(ctx: Option<&mut Context>,
- input: Option<&'a mut Box<'a + Read>>,
- output: Option<&'a mut Box<'a + Write>>,
+pub fn sq_decrypt<'a>(ctx: *mut Context,
+ input: *mut Box<'a + Read>,
+ output: *mut Box<'a + Write>,
get_public_keys: GetPublicKeysCallback,
get_secret_keys: GetSecretKeysCallback,
check_signatures: CheckSignaturesCallback,