summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openpgp-ffi/include/sequoia/openpgp.h2
-rw-r--r--openpgp-ffi/src/packet/mod.rs8
2 files changed, 10 insertions, 0 deletions
diff --git a/openpgp-ffi/include/sequoia/openpgp.h b/openpgp-ffi/include/sequoia/openpgp.h
index aad66926..73bcc7a6 100644
--- a/openpgp-ffi/include/sequoia/openpgp.h
+++ b/openpgp-ffi/include/sequoia/openpgp.h
@@ -51,6 +51,8 @@ char *pgp_keyid_to_string (const pgp_keyid_t fp);
/*/
char *pgp_keyid_debug (const pgp_keyid_t fp);
+char *pgp_packet_debug (const pgp_packet_t fp);
+
/*/
/// Converts the KeyID to a hexadecimal number.
/*/
diff --git a/openpgp-ffi/src/packet/mod.rs b/openpgp-ffi/src/packet/mod.rs
index a2d557e3..52ffaee5 100644
--- a/openpgp-ffi/src/packet/mod.rs
+++ b/openpgp-ffi/src/packet/mod.rs
@@ -91,3 +91,11 @@ pub extern "system" fn pgp_tag_to_string(tag: uint8_t) -> *const c_char {
_ => "OTHER\x00",
}.as_bytes().as_ptr() as *const c_char
}
+
+/// Pretty prints a packet
+#[::sequoia_ffi_macros::extern_fn] #[no_mangle]
+pub extern "system" fn pgp_packet_debug(p: *const Packet) -> *const c_char {
+ let p = ffi_param_ref!(p);
+ format!("{:?}", p).as_ptr() as *const c_char
+}
+