]>
git.proxmox.com Git - wasi-libc.git/blob - libc-bottom-half/sources/accept.c
1 // SPDX-License-Identifier: BSD-2-Clause
3 #include <sys/socket.h>
10 int accept(int socket
, struct sockaddr
*restrict addr
, socklen_t
*restrict addrlen
) {
13 __wasi_errno_t error
= __wasi_sock_accept(socket
, 0, &ret
);
20 // Clear sockaddr to indicate undefined address
21 memset(addr
, 0, *addrlen
);
22 // might be AF_UNIX or AF_INET
23 addr
->sa_family
= AF_UNSPEC
;
24 *addrlen
= sizeof(struct sockaddr
);
29 int accept4(int socket
, struct sockaddr
*restrict addr
, socklen_t
*restrict addrlen
, int flags
) {
32 if (flags
& ~(SOCK_NONBLOCK
| SOCK_CLOEXEC
)) {
37 __wasi_errno_t error
= __wasi_sock_accept(socket
, (flags
& SOCK_NONBLOCK
) ? __WASI_FDFLAGS_NONBLOCK
: 0, &ret
);
44 // Clear sockaddr to indicate undefined address
45 memset(addr
, 0, *addrlen
);
46 // might be AF_UNIX or AF_INET
47 addr
->sa_family
= AF_UNSPEC
;
48 *addrlen
= sizeof(struct sockaddr
);