use core::{
mem,
ptr,
};
use super::abi::*;
use crate::{
sigset_t,
unit_result_from_value,
};
#[inline]
pub fn rt_sigprocmask(how: i32, new: &sigset_t, old: Option<&mut sigset_t>) -> crate::Result<()> {
let old = match old {
Some(v) => v as *mut sigset_t,
None => ptr::null_mut(),
};
let ret = unsafe {
syscall_4(
14,
how as usize,
new as *const sigset_t as usize,
old as usize,
mem::size_of::<sigset_t>(),
) as i32
};
unit_result_from_value(ret)
}