xref: /aosp_15_r20/external/cronet/third_party/rust/chromium_crates_io/vendor/getrandom-0.2.14/src/fuchsia.rs (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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>10 pub 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