From: Stacey Son <s...@freebsd.org> connect(2) syscall.
Add the connect(2) syscall to bsd-user/bsd-socket.h. Signed-off-by: Karim Taha <kariem.taha...@gmail.com> --- bsd-user/bsd-socket.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/bsd-user/bsd-socket.h b/bsd-user/bsd-socket.h index 7da4cf11a0..f191f22d63 100644 --- a/bsd-user/bsd-socket.h +++ b/bsd-user/bsd-socket.h @@ -58,4 +58,25 @@ static inline abi_long do_bsd_bind(int sockfd, abi_ulong target_addr, return get_errno(bind(sockfd, addr, addrlen)); } +/* connect(2) */ +static inline abi_long do_bsd_connect(int sockfd, abi_ulong target_addr, + socklen_t addrlen) +{ + abi_long ret; + void *addr; + + if ((int)addrlen < 0) { + return -TARGET_EINVAL; + } + addr = alloca(addrlen + 1); + + ret = target_to_host_sockaddr(addr, target_addr, addrlen); + + if (is_error(ret)) { + return ret; + } + + return get_errno(connect(sockfd, addr, addrlen)); +} + #endif /* BSD_SOCKET_H */ -- 2.40.0