diff --git a/book/src/kernel/linux-compatibility/README.md b/book/src/kernel/linux-compatibility/README.md index fdcc9b7e7..aa305a38b 100644 --- a/book/src/kernel/linux-compatibility/README.md +++ b/book/src/kernel/linux-compatibility/README.md @@ -63,7 +63,7 @@ which are summarized in the table below. | 40 | sendfile | ✅ | 💯 | | 41 | socket | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#socket) | | 42 | connect | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#connect) | -| 43 | accept | ✅ | ❓ | +| 43 | accept | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#accept-and-accept4) | | 44 | sendto | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#sendto-sendmsg-and-sendmmsg) | | 45 | recvfrom | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#recvfrom-and-recvmsg) | | 46 | sendmsg | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#sendto-sendmsg-and-sendmmsg) | @@ -308,7 +308,7 @@ which are summarized in the table below. | 285 | fallocate | ✅ | ❓ | | 286 | timerfd_settime | ✅ | [⚠️](syscall-flag-coverage/signals-and-timers/#timerfd_settime) | | 287 | timerfd_gettime | ✅ | 💯 | -| 288 | accept4 | ✅ | ❓ | +| 288 | accept4 | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#accept-and-accept4) | | 289 | signalfd4 | ✅ | 💯 | | 290 | eventfd2 | ✅ | [⚠️](syscall-flag-coverage/file-descriptor-and-io-control/#eventfd-and-eventfd2) | | 291 | epoll_create1 | ✅ | 💯 | diff --git a/book/src/kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/README.md b/book/src/kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/README.md index 924ded93d..dc1648fe2 100644 --- a/book/src/kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/README.md +++ b/book/src/kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/README.md @@ -57,6 +57,17 @@ Supported functionality in SCML: For more information, see [the man page](https://man7.org/linux/man-pages/man2/connect.2.html). +### `accept` and `accept4` + +Supported functionality in SCML: + +```c +{{#include accept_and_accept4.scml}} +``` + +For more information, +see [the man page](https://man7.org/linux/man-pages/man2/accept.2.html). + ## Socket Communication ### `sendto`, `sendmsg` and `sendmmsg` diff --git a/book/src/kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/accept_and_accept4.scml b/book/src/kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/accept_and_accept4.scml new file mode 100644 index 000000000..ee20285b1 --- /dev/null +++ b/book/src/kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/accept_and_accept4.scml @@ -0,0 +1,15 @@ +struct sockaddr = { + sa_family = AF_INET | AF_UNIX | AF_VSOCK, + .. +}; + +// Accept an incoming connection +accept( + sockfd, addr = , addrlen +); + +// Accept an incoming connection and set flags for the new socket +accept4( + sockfd, addr = , addrlen, + flags = SOCK_NONBLOCK | SOCK_CLOEXEC +); \ No newline at end of file