1 //! Implementation for Fuchsia Zircon 2 use crate::Error; 3 use core::mem::MaybeUninit; 4 5 #[link(name = "zircon")] 6 extern "C" { zx_cprng_draw(buffer: *mut u8, length: usize)7 fn zx_cprng_draw(buffer: *mut u8, length: usize); 8 } 9 getrandom_inner(dest: &mut [MaybeUninit<u8>]) -> Result<(), Error>10pub fn getrandom_inner(dest: &mut [MaybeUninit<u8>]) -> Result<(), Error> { 11 unsafe { zx_cprng_draw(dest.as_mut_ptr() as *mut u8, dest.len()) } 12 Ok(()) 13 } 14