lx 0.4.0

A no_std crate to use Linux system calls
Documentation
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)
}