lx 0.4.0

A no_std crate to use Linux system calls
Documentation
use core::mem;

use super::abi::*;
use crate::{
    unit_result_from_value,
    AsRawFd,
    SockAddr,
};

#[inline]
pub fn bind<T: SockAddr>(fd: &impl AsRawFd, addr: &T) -> crate::Result<()> {
    let ret = unsafe {
        syscall_3(
            49,
            fd.as_raw_fd() as usize,
            addr as *const T as usize,
            mem::size_of_val(addr),
        ) as u32
    };
    unit_result_from_value(ret)
}