summaryrefslogtreecommitdiff
path: root/Kernel/API/Syscall.h
diff options
context:
space:
mode:
authorGunnar Beutner <gbeutner@serenityos.org>2021-05-16 19:56:11 +0200
committerAndreas Kling <kling@serenityos.org>2021-05-17 13:32:19 +0200
commit89956cb0d66f24bfcee312dcd35f78b5dbc9e1b9 (patch)
treedd7f38132b4cb91410271b4948cdfe99d28778d0 /Kernel/API/Syscall.h
parent529f605ac801a541b1206ce06d497f8835ca7412 (diff)
downloadserenity-89956cb0d66f24bfcee312dcd35f78b5dbc9e1b9.zip
Kernel+Userspace: Implement the accept4() system call
Unlike accept() the new accept4() system call lets the caller specify flags for the newly accepted socket file descriptor, such as SOCK_CLOEXEC and SOCK_NONBLOCK.
Diffstat (limited to 'Kernel/API/Syscall.h')
-rw-r--r--Kernel/API/Syscall.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h
index 2d4e839d35..80f6ce9747 100644
--- a/Kernel/API/Syscall.h
+++ b/Kernel/API/Syscall.h
@@ -99,7 +99,7 @@ namespace Kernel {
S(chmod) \
S(socket) \
S(bind) \
- S(accept) \
+ S(accept4) \
S(listen) \
S(connect) \
S(link) \
@@ -269,6 +269,13 @@ struct SC_clock_nanosleep_params {
struct timespec* remaining_sleep;
};
+struct SC_accept4_params {
+ int sockfd;
+ sockaddr* addr;
+ socklen_t* addrlen;
+ int flags;
+};
+
struct SC_getsockopt_params {
int sockfd;
int level;