#![doc(
html_logo_url = "https://raw.githubusercontent.com/maidsafe/QA/master/Images/maidsafe_logo.png",
html_favicon_url = "https://maidsafe.net/img/favicon.ico",
test(attr(forbid(warnings)))
)]
#![forbid(
bad_style,
exceeding_bitshifts,
mutable_transmutes,
no_mangle_const_items,
unknown_crate_types,
warnings
)]
#![deny(
deprecated,
improper_ctypes,
missing_docs,
non_shorthand_field_patterns,
overflowing_literals,
plugin_as_library,
stable_features,
unconditional_recursion,
unknown_lints,
unused,
unused_allocation,
unused_attributes,
unused_comparisons,
unused_features,
unused_parens,
while_true
)]
#![warn(
trivial_numeric_casts,
unused_extern_crates,
unused_import_braces,
unused_qualifications,
unused_results
)]
#![allow(
box_pointers,
missing_copy_implementations,
missing_debug_implementations,
trivial_casts,
unsafe_code,
variant_size_differences
)]
#[cfg(test)]
extern crate hex;
#[cfg(test)]
extern crate rmp_serde;
#[cfg(test)]
extern crate serde_json;
#[macro_use]
extern crate unwrap;
use rust_sodium_sys as ffi;
#[macro_use]
mod newtype_macros;
pub mod randombytes;
pub mod utils;
pub mod version;
#[cfg(test)]
mod test_utils;
pub mod crypto {
pub mod aead;
pub mod auth;
pub mod box_;
pub mod hash;
pub mod kx;
pub mod onetimeauth;
pub mod pwhash;
pub mod scalarmult;
pub mod sealedbox;
pub mod secretbox;
pub mod shorthash;
pub mod sign;
pub mod stream;
pub mod verify;
}
pub fn init() -> Result<(), ()> {
if unsafe { ffi::sodium_init() } >= 0 {
Ok(())
} else {
Err(())
}
}
#[allow(clippy::doc_markdown)]
pub fn init_with_rng<T: rand::Rng>(rng: &mut T) -> Result<(), i32> {
ffi::init_with_rng(rng)
}