1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
//! # Foreign Function Interface for calling sourmash from a C API //! //! Primary client for now is the Python version, using CFFI and milksnake. #![allow(clippy::missing_safety_doc)] #[macro_use] pub mod utils; pub mod cmd; pub mod minhash; pub mod nodegraph; pub mod signature; use std::ffi::CStr; use std::os::raw::c_char; use crate::_hash_murmur; #[no_mangle] pub unsafe extern "C" fn hash_murmur(kmer: *const c_char, seed: u64) -> u64 { let c_str = { assert!(!kmer.is_null()); CStr::from_ptr(kmer) }; _hash_murmur(c_str.to_bytes(), seed) }