1 //! linux_raw syscalls supporting `rustix::rand`.
5 //! See the `rustix::imp` module documentation for details.
7 #![allow(clippy::undocumented_unsafe_blocks)]
9 use super::super::conv
::{ret_usize, slice_mut}
;
11 use crate::rand
::GetRandomFlags
;
14 pub(crate) fn getrandom(buf
: &mut [u8], flags
: GetRandomFlags
) -> io
::Result
<usize> {
15 let (buf_addr_mut
, buf_len
) = slice_mut(buf
);
16 unsafe { ret_usize(syscall!(__NR_getrandom, buf_addr_mut, buf_len, flags)) }