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