Add Unix domain sockets for local IPC #37

Merged
apio merged 16 commits from unix-sockets into main 2023-07-30 09:49:38 +00:00
2 changed files with 27 additions and 0 deletions
Showing only changes of commit 7b24a4d1c6 - Show all commits

View File

@ -16,6 +16,15 @@ extern "C"
/* Bind a socket to an address. */
int bind(int sockfd, struct sockaddr* addr, socklen_t addrlen);
/* Connect a socket to a remote address. */
int connect(int sockfd, struct sockaddr* addr, socklen_t addrlen);
/* Start listening on a socket. */
int listen(int sockfd, int backlog);
/* Wait for an incoming connection on a socket. */
int accept(int sockfd, struct sockaddr* addr, socklen_t* addrlen);
#ifdef __cplusplus
}
#endif

View File

@ -16,4 +16,22 @@ extern "C"
long rc = syscall(SYS_bind, sockfd, addr, addrlen);
__errno_return(rc, int);
}
int connect(int sockfd, struct sockaddr* addr, socklen_t addrlen)
{
long rc = syscall(SYS_connect, sockfd, addr, addrlen);
__errno_return(rc, int);
}
int listen(int sockfd, int backlog)
{
long rc = syscall(SYS_listen, sockfd, backlog);
__errno_return(rc, int);
}
int accept(int sockfd, struct sockaddr* addr, socklen_t* addrlen)
{
long rc = syscall(SYS_accept, sockfd, addr, addrlen);
__errno_return(rc, int);
}
}