mirror of
https://github.com/rosenpass/rosenpass.git
synced 2026-02-27 22:13:12 -08:00
22 lines
515 B
Rust
22 lines
515 B
Rust
use libsodium_sys as libsodium;
|
|
|
|
macro_rules! sodium_call {
|
|
($name:ident, $($args:expr),*) => { ::rosenpass_util::attempt!({
|
|
anyhow::ensure!(unsafe{libsodium::$name($($args),*)} > -1,
|
|
"Error in libsodium's {}.", stringify!($name));
|
|
Ok(())
|
|
})};
|
|
($name:ident) => { sodium_call!($name, ) };
|
|
}
|
|
|
|
#[inline]
|
|
pub fn init() -> anyhow::Result<()> {
|
|
log::trace!("initializing libsodium");
|
|
sodium_call!(sodium_init)
|
|
}
|
|
|
|
pub mod aead;
|
|
pub mod alloc;
|
|
pub mod hash;
|
|
pub mod helpers;
|