glibc/include/sys/select.h
Adhemerval Zanella 2433d39b69 linux: Add time64 select support
The syscall __NR_pselect6_time64 (32-bit) or __NR_pselect6 (64-bit)
is used as default.  For architectures with __ASSUME_TIME64_SYSCALLS
the 32-bit fallback uses __NR_select/__NR__newselect or __NR_pselect6
(it should cover the microblaze case where older kernels do not
provide __NR_pselect6).

Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
kernel).

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
2020-09-28 16:21:48 -03:00

43 lines
1.2 KiB
C

#ifndef _SYS_SELECT_H
#include <misc/sys/select.h>
#ifndef _ISOMAC
/* Now define the internal interfaces. */
# if __TIMESIZE == 64
# define __pselect64 __pselect
# define __select64 __select
#else
# include <struct___timespec64.h>
# include <struct___timeval64.h>
extern int __pselect64 (int __nfds, fd_set *__readfds,
fd_set *__writefds, fd_set *__exceptfds,
const struct __timespec64 *__timeout,
const __sigset_t *__sigmask);
libc_hidden_proto (__pselect64)
extern int __pselect32 (int __nfds, fd_set *__readfds,
fd_set *__writefds, fd_set *__exceptfds,
const struct __timespec64 *__timeout,
const __sigset_t *__sigmask)
attribute_hidden;
extern int __select64 (int __nfds, fd_set *__readfds,
fd_set *__writefds, fd_set *__exceptfds,
struct __timeval64 *__timeout);
libc_hidden_proto (__select64)
#endif
extern int __pselect (int __nfds, fd_set *__readfds,
fd_set *__writefds, fd_set *__exceptfds,
const struct timespec *__timeout,
const __sigset_t *__sigmask);
extern int __select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout);
libc_hidden_proto (__select)
#endif
#endif