diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-07-06 16:55:46 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-09-28 17:28:39 -0300 |
commit | b16f282cb079980ddb4de5c9a2350e8b1919d023 (patch) | |
tree | 86c0b22b83aa9a9e8aebc6fd7b906e51a88aa02c /include/sys | |
parent | c3a020eedde907e7df69159a54bf59d39db85709 (diff) | |
download | glibc-b16f282cb079980ddb4de5c9a2350e8b1919d023.tar.gz glibc-b16f282cb079980ddb4de5c9a2350e8b1919d023.tar.xz glibc-b16f282cb079980ddb4de5c9a2350e8b1919d023.zip |
linux: Add time64 recvmmsg support
The wire-up syscall __NR_recvmmsg_time64 (for 32-bit) or __NR_recvmmsg (for 64-bit) is used as default. The 32-bit fallback is used iff __ASSUME_TIME64_SYSCALLS is not defined, which assumes the kernel ABI provides either __NR_socketcall or __NR_recvmmsg (32-bit time_t). It does not handle the timestamps on ancillary data (SCM_TIMESTAMPING records). Checked on x86_64-linux-gnu and i686-linux-gnu. Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/socket.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sys/socket.h b/include/sys/socket.h index 26db0e0d77..0e39dd2a3a 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -104,6 +104,14 @@ extern ssize_t __libc_recvmsg (int __fd, struct msghdr *__message, int __flags); extern ssize_t __recvmsg (int __fd, struct msghdr *__message, int __flags) attribute_hidden; +#if __TIMESIZE == 64 +# define __recvmmsg64 __recvmmsg +#else +extern int __recvmmsg64 (int __fd, struct mmsghdr *vmessages, + unsigned int vlen, int flags, + struct __timespec64 *timeout); +libc_hidden_proto (__recvmmsg64) +#endif /* Set socket FD's option OPTNAME at protocol level LEVEL to *OPTVAL (which is OPTLEN bytes long). |