diff options
Diffstat (limited to 'src/vita.rs')
-rw-r--r-- | src/vita.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/vita.rs b/src/vita.rs new file mode 100644 index 0000000..20a9878 --- /dev/null +++ b/src/vita.rs @@ -0,0 +1,13 @@ +//! Implementation for PS Vita +use crate::{util_libc::last_os_error, Error}; +use core::mem::MaybeUninit; + +pub fn getrandom_inner(dest: &mut [MaybeUninit<u8>]) -> Result<(), Error> { + for chunk in dest.chunks_mut(256) { + let ret = unsafe { libc::getentropy(chunk.as_mut_ptr() as *mut libc::c_void, chunk.len()) }; + if ret == -1 { + return Err(last_os_error()); + } + } + Ok(()) +} |