1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:18:11 +00:00

Userland+LibC: Add a new little "tc" program for testing TCP.

Also added send() and recv() to LibC in support of this. They are just
wrappers around sendto() and recvfrom().
This commit is contained in:
Andreas Kling 2019-03-13 17:33:40 +01:00
parent c588653f76
commit 7aba68d51c
6 changed files with 91 additions and 0 deletions

View file

@ -41,6 +41,11 @@ ssize_t sendto(int sockfd, const void* data, size_t data_length, int flags, cons
__RETURN_WITH_ERRNO(rc, rc, -1);
}
ssize_t send(int sockfd, const void* data, size_t data_length, int flags)
{
return sendto(sockfd, data, data_length, flags, nullptr, 0);
}
ssize_t recvfrom(int sockfd, void* buffer, size_t buffer_length, int flags, struct sockaddr* addr, socklen_t* addr_length)
{
Syscall::SC_recvfrom_params params { sockfd, buffer, buffer_length, flags, addr, addr_length };
@ -48,6 +53,11 @@ ssize_t recvfrom(int sockfd, void* buffer, size_t buffer_length, int flags, stru
__RETURN_WITH_ERRNO(rc, rc, -1);
}
ssize_t recv(int sockfd, void* buffer, size_t buffer_length, int flags)
{
return recvfrom(sockfd, buffer, buffer_length, flags, nullptr, nullptr);
}
int getsockopt(int sockfd, int level, int option, void* value, socklen_t* value_size)
{
Syscall::SC_getsockopt_params params { sockfd, level, option, value, value_size };