in src/driver/mod.rs [62:79]
fn nsm_ioctl(fd: i32, message: &mut NsmMessage) -> Option<Errno> {
let status = unsafe {
ioctl(
fd,
request_code_readwrite!(NSM_IOCTL_MAGIC, 0, mem::size_of::<NsmMessage>()),
message,
)
};
let errno = Errno::last();
match status {
// If ioctl() succeeded, the status is the message's response code
0 => None,
// If ioctl() failed, the error is given by errno
_ => Some(errno),
}
}