pub unsafe fn pselect6(
nfds: i32,
readfds: &mut fd_set_t,
writefds: &mut fd_set_t,
exceptfds: &mut fd_set_t,
timeout: ×pec_t,
sigmask: &sigset_t,
) -> Result<i32, Errno> {
let nfds = nfds as usize;
let readfds_ptr = core::ptr::from_mut(readfds) as usize;
let writefds_ptr = core::ptr::from_mut(writefds) as usize;
let exceptfds_ptr = core::ptr::from_mut(exceptfds) as usize;
let timeout_ptr = core::ptr::from_ref(timeout) as usize;
let sigmask_ptr = core::ptr::from_ref(sigmask) as usize;
unsafe {
syscall6(
SYS___PSELECT50,
nfds,
readfds_ptr,
writefds_ptr,
exceptfds_ptr,
timeout_ptr,
sigmask_ptr,
)
.map(|ret| ret as i32)
}
}