1 use super::super::*; 2 use libc::*; 3 4 cfg_if! { 5 if #[cfg(libressl)] { 6 #[repr(C)] 7 #[derive(Debug, Copy, Clone)] 8 pub struct poly1305_context { 9 pub aligner: usize, 10 pub opaque: [::libc::c_uchar; 136usize], 11 } 12 pub type poly1305_state = poly1305_context; 13 extern "C" { 14 pub fn CRYPTO_poly1305_init(ctx: *mut poly1305_context, key: *const ::libc::c_uchar); 15 pub fn CRYPTO_poly1305_update( 16 ctx: *mut poly1305_context, 17 in_: *const ::libc::c_uchar, 18 len: usize, 19 ); 20 pub fn CRYPTO_poly1305_finish(ctx: *mut poly1305_context, mac: *mut ::libc::c_uchar); 21 } 22 } 23 } 24