mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 14:50:05 +00:00
Always define __USE_TIME_BITS64 when 64 bit time_t is used
It was raised on libc-help [1] that some Linux kernel interfaces expect
the libc to define __USE_TIME_BITS64 to indicate the time_t size for the
kABI. Different than defined by the initial y2038 design document [2],
the __USE_TIME_BITS64 is only defined for ABIs that support more than
one time_t size (by defining the _TIME_BITS for each module).
The 64 bit time_t redirects are now enabled using a different internal
define (__USE_TIME64_REDIRECTS). There is no expected change in semantic
or code generation.
Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu, and
arm-linux-gnueabi
[1] https://sourceware.org/pipermail/libc-help/2024-January/006557.html
[2] https://sourceware.org/glibc/wiki/Y2038ProofnessDesign
Reviewed-by: DJ Delorie <dj@redhat.com>
(cherry picked from commit a4ed0471d7
)
This commit is contained in:
parent
26e7005728
commit
dd535f4f19
@ -43,7 +43,7 @@ poll (struct pollfd *__fds, nfds_t __nfds, int __timeout)
|
||||
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
extern int __REDIRECT (__ppoll64_alias, (struct pollfd *__fds, nfds_t __nfds,
|
||||
const struct timespec *__timeout,
|
||||
const __sigset_t *__ss), __ppoll64);
|
||||
|
@ -172,7 +172,7 @@ typedef __pid_t pid_t;
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
# ifndef __USE_FILE_OFFSET64
|
||||
extern int fcntl (int __fd, int __cmd, ...);
|
||||
# else
|
||||
@ -185,7 +185,7 @@ extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64);
|
||||
# ifdef __USE_LARGEFILE64
|
||||
extern int fcntl64 (int __fd, int __cmd, ...);
|
||||
# endif
|
||||
#else /* __USE_TIME_BITS64 */
|
||||
#else /* __USE_TIME64_REDIRECTS */
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...),
|
||||
__fcntl_time64);
|
||||
|
6
io/fts.h
6
io/fts.h
@ -187,7 +187,7 @@ FTSENT *fts_read (FTS *);
|
||||
int fts_set (FTS *, FTSENT *, int) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
FTSENT *__REDIRECT (fts_children, (FTS *, int), fts64_children);
|
||||
int __REDIRECT (fts_close, (FTS *), fts64_close);
|
||||
FTS *__REDIRECT (fts_open, (char * const *, int,
|
||||
@ -206,7 +206,7 @@ int __REDIRECT_NTH (fts_set, (FTS *, FTSENT *, int),
|
||||
__fts64_set_time64);
|
||||
# endif
|
||||
# else
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
# define fts_children fts64_children
|
||||
# define fts_close fts64_close
|
||||
# define fts_open fts64_open
|
||||
@ -217,7 +217,7 @@ int __REDIRECT_NTH (fts_set, (FTS *, FTSENT *, int),
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
FTSENT64 *fts64_children (FTS64 *, int);
|
||||
int fts64_close (FTS64 *);
|
||||
FTS64 *fts64_open (char * const *, int,
|
||||
|
12
io/ftw.h
12
io/ftw.h
@ -137,7 +137,7 @@ extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors)
|
||||
__nonnull ((1, 2));
|
||||
#else
|
||||
# ifdef __REDIRECT
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
|
||||
int __descriptors), ftw64) __nonnull ((1, 2));
|
||||
# else
|
||||
@ -146,7 +146,7 @@ extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
|
||||
__nonnull ((1, 2));
|
||||
# endif
|
||||
# else
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
# define ftw ftw64
|
||||
# else
|
||||
# define ftw __ftw64_time64
|
||||
@ -154,7 +154,7 @@ extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int ftw64 (const char *__dir, __ftw64_func_t __func,
|
||||
int __descriptors) __nonnull ((1, 2));
|
||||
# else
|
||||
@ -180,7 +180,7 @@ extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
|
||||
int __flag) __nonnull ((1, 2));
|
||||
# else
|
||||
# ifdef __REDIRECT
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
|
||||
int __descriptors, int __flag), nftw64)
|
||||
__nonnull ((1, 2));
|
||||
@ -190,7 +190,7 @@ extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
|
||||
__nonnull ((1, 2));
|
||||
# endif
|
||||
# else
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
# define nftw nftw64
|
||||
# else
|
||||
# define nftw __nftw64_time64
|
||||
@ -198,7 +198,7 @@ extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
|
||||
# endif
|
||||
# endif
|
||||
# ifdef __USE_LARGEFILE64
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int nftw64 (const char *__dir, __nftw64_func_t __func,
|
||||
int __descriptors, int __flag) __nonnull ((1, 2));
|
||||
# else
|
||||
|
@ -66,7 +66,7 @@ extern int ppoll (struct pollfd *__fds, nfds_t __nfds,
|
||||
const __sigset_t *__ss)
|
||||
__fortified_attr_access (__write_only__, 1, 2);
|
||||
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# ifdef __REDIRECT
|
||||
extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds,
|
||||
const struct timespec *__timeout,
|
||||
|
@ -209,7 +209,7 @@ extern int stat (const char *__restrict __file,
|
||||
that file descriptor FD is open on and put them in BUF. */
|
||||
extern int fstat (int __fd, struct stat *__buf) __THROW __nonnull ((2));
|
||||
#else
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# ifdef __REDIRECT_NTH
|
||||
extern int __REDIRECT_NTH (stat, (const char *__restrict __file,
|
||||
struct stat *__restrict __buf),
|
||||
@ -236,7 +236,7 @@ extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64)
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int stat64 (const char *__restrict __file,
|
||||
struct stat64 *__restrict __buf) __THROW __nonnull ((1, 2));
|
||||
extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2));
|
||||
@ -265,7 +265,7 @@ extern int fstatat (int __fd, const char *__restrict __file,
|
||||
struct stat *__restrict __buf, int __flag)
|
||||
__THROW __nonnull ((2, 3));
|
||||
# else
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# ifdef __REDIRECT_NTH
|
||||
extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
|
||||
struct stat *__restrict __buf,
|
||||
@ -287,7 +287,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
|
||||
# endif
|
||||
|
||||
# ifdef __USE_LARGEFILE64
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int fstatat64 (int __fd, const char *__restrict __file,
|
||||
struct stat64 *__restrict __buf, int __flag)
|
||||
__THROW __nonnull ((2, 3));
|
||||
@ -313,7 +313,7 @@ extern int __REDIRECT_NTH (fstatat64, (int __fd,
|
||||
extern int lstat (const char *__restrict __file,
|
||||
struct stat *__restrict __buf) __THROW __nonnull ((1, 2));
|
||||
# else
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# ifdef __REDIRECT_NTH
|
||||
extern int __REDIRECT_NTH (lstat,
|
||||
(const char *__restrict __file,
|
||||
@ -334,7 +334,7 @@ extern int __REDIRECT_NTH (lstat,
|
||||
# endif
|
||||
# endif
|
||||
# ifdef __USE_LARGEFILE64
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int lstat64 (const char *__restrict __file,
|
||||
struct stat64 *__restrict __buf)
|
||||
__THROW __nonnull ((1, 2));
|
||||
@ -427,7 +427,7 @@ extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)
|
||||
#endif
|
||||
|
||||
#ifdef __USE_ATFILE
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Set file access and modification times relative to directory file
|
||||
descriptor. */
|
||||
extern int utimensat (int __fd, const char *__path,
|
||||
@ -447,7 +447,7 @@ extern int __REDIRECT_NTH (utimensat, (int fd, const char *__path,
|
||||
#endif
|
||||
|
||||
#ifdef __USE_XOPEN2K8
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Set file access and modification times of the file associated with FD. */
|
||||
extern int futimens (int __fd, const struct timespec __times[2]) __THROW;
|
||||
|
||||
|
@ -35,7 +35,7 @@ __BEGIN_DECLS
|
||||
/* Structure describing file times. */
|
||||
struct utimbuf
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
__time64_t actime; /* Access time. */
|
||||
__time64_t modtime; /* Modification time. */
|
||||
#else
|
||||
@ -46,7 +46,7 @@ struct utimbuf
|
||||
|
||||
/* Set the access and modification times of FILE to those given in
|
||||
*FILE_TIMES. If FILE_TIMES is NULL, set them to the current time. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int utime (const char *__file,
|
||||
const struct utimbuf *__file_times)
|
||||
__THROW __nonnull ((1));
|
||||
|
@ -192,6 +192,12 @@ Linux kernel version on which the system is running. For Linux kernel
|
||||
version above @b{5.1} syscalls supporting 64-bit time are used. Otherwise,
|
||||
a fallback code is used with legacy (i.e. 32-bit) syscalls.
|
||||
|
||||
On such platforms, @theglibc{} will also define @code{__USE_TIME64_REDIRECTS}
|
||||
to indicate whether the declarations are expanded to different ones
|
||||
(either by redefiniding the symbol name or using symbol aliais).
|
||||
For instance, if the symbol @code{clock_gettime} expands to
|
||||
@code{__glock_gettime64}.
|
||||
|
||||
@item
|
||||
If @code{_TIME_BITS} is defined to be 32, @code{time_t} is defined to
|
||||
be a 32-bit integer where that is supported. This is not recommended,
|
||||
|
@ -491,6 +491,10 @@ derived as in the dual-time configuration case, and which expands to
|
||||
the symbol's name. For instance, the macro @code{__clock_gettime64}
|
||||
expands to @code{clock_gettime}.
|
||||
|
||||
When @code{__TIMESIZE} is set to 64, @theglibc{} will also define
|
||||
the@code{__USE_TIME_BITS64} macro. It is used by the Linux kernel ABI
|
||||
to set the expected @code{time_t} size used on some syscalls.
|
||||
|
||||
These macros are purely internal to @theglibc{} and exist only so that
|
||||
a single definition of the 64-bit time functions can be used on both
|
||||
single-time and dual-time configurations, and so that glibc code can
|
||||
|
@ -38,7 +38,7 @@ __BEGIN_DECLS
|
||||
/* Perform the I/O control operation specified by REQUEST on FD.
|
||||
One argument may follow; its presence and type depend on REQUEST.
|
||||
Return value depends on REQUEST. Usually -1 indicates error. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT
|
||||
|
@ -98,7 +98,7 @@ __BEGIN_DECLS
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int select (int __nfds, fd_set *__restrict __readfds,
|
||||
fd_set *__restrict __writefds,
|
||||
fd_set *__restrict __exceptfds,
|
||||
@ -123,7 +123,7 @@ extern int __REDIRECT (select,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pselect (int __nfds, fd_set *__restrict __readfds,
|
||||
fd_set *__restrict __writefds,
|
||||
fd_set *__restrict __exceptfds,
|
||||
|
@ -150,7 +150,7 @@ extern int glob (const char *__restrict __pattern, int __flags,
|
||||
/* Free storage allocated in PGLOB by a previous `glob' call. */
|
||||
extern void globfree (glob_t *__pglob) __THROW;
|
||||
#else
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern,
|
||||
int __flags,
|
||||
int (*__errfunc) (const char *, int),
|
||||
@ -170,7 +170,7 @@ extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64);
|
||||
#endif
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
extern int __REDIRECT_NTHNL (glob64, (const char *__restrict __pattern,
|
||||
int __flags,
|
||||
int (*__errfunc) (const char *, int),
|
||||
|
@ -74,7 +74,7 @@ extern int sched_get_priority_max (int __algorithm) __THROW;
|
||||
extern int sched_get_priority_min (int __algorithm) __THROW;
|
||||
|
||||
/* Get the SCHED_RR interval for the named process. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT_NTH
|
||||
|
@ -139,7 +139,7 @@ struct rusage;
|
||||
nil, store information about the child's resource usage there. If the
|
||||
WUNTRACED bit is set in OPTIONS, return status for stopped children;
|
||||
otherwise don't. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern __pid_t wait3 (int *__stat_loc, int __options,
|
||||
struct rusage * __usage) __THROWNL;
|
||||
# else
|
||||
@ -154,7 +154,7 @@ extern __pid_t __REDIRECT_NTHNL (wait3, (int *__stat_loc, int __options,
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* PID is like waitpid. Other args are like wait3. */
|
||||
extern __pid_t wait4 (__pid_t __pid, int *__stat_loc, int __options,
|
||||
struct rusage *__usage) __THROWNL;
|
||||
|
@ -701,7 +701,7 @@ extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict_arr],
|
||||
extern int gai_suspend (const struct gaicb *const __list[], int __ent,
|
||||
const struct timespec *__timeout);
|
||||
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# if defined(__REDIRECT)
|
||||
extern int __REDIRECT (gai_suspend, (const struct gaicb *const __list[],
|
||||
int __ent,
|
||||
|
@ -88,7 +88,7 @@ extern int setrlimit64 (__rlimit_resource_t __resource,
|
||||
and put it in *USAGE. Returns 0 for success, -1 for failure. */
|
||||
extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __THROW;
|
||||
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# if defined(__REDIRECT_NTH)
|
||||
extern int __REDIRECT_NTH (getrusage, (__rusage_who_t __who,
|
||||
struct rusage *__usage),
|
||||
|
4
rt/aio.h
4
rt/aio.h
@ -193,7 +193,7 @@ extern __ssize_t __REDIRECT_NTH (aio_return, (struct aiocb *__aiocbp),
|
||||
extern int __REDIRECT_NTH (aio_cancel,
|
||||
(int __fildes, struct aiocb *__aiocbp),
|
||||
aio_cancel64);
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
extern int __REDIRECT_NTH (aio_suspend,
|
||||
(const struct aiocb *const __list[], int __nent,
|
||||
const struct timespec *__restrict __timeout),
|
||||
@ -215,7 +215,7 @@ extern int __REDIRECT_NTH (aio_fsync,
|
||||
# define aio_error aio_error64
|
||||
# define aio_return aio_return64
|
||||
# define aio_cancel aio_cancel64
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# define aio_suspend __aio_suspend_time64
|
||||
# else
|
||||
# define aio_suspend aio_suspend64
|
||||
|
@ -71,7 +71,7 @@ extern int mq_send (mqd_t __mqdes, const char *__msg_ptr, size_t __msg_len,
|
||||
unsigned int __msg_prio) __nonnull ((2));
|
||||
|
||||
#ifdef __USE_XOPEN2K
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Receive the oldest from highest priority messages in message queue
|
||||
MQDES, stop waiting if ABS_TIMEOUT expires. */
|
||||
extern ssize_t mq_timedreceive (mqd_t __mqdes, char *__restrict __msg_ptr,
|
||||
|
@ -269,7 +269,7 @@ extern int sigwaitinfo (const sigset_t *__restrict __set,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int sigtimedwait (const sigset_t *__restrict __set,
|
||||
siginfo_t *__restrict __info,
|
||||
const struct timespec *__restrict __timeout)
|
||||
|
@ -170,7 +170,7 @@ extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern ssize_t sendmsg (int __fd, const struct msghdr *__message,
|
||||
int __flags);
|
||||
#else
|
||||
@ -191,7 +191,7 @@ extern ssize_t __sendmsg64 (int __fd, const struct msghdr *__message,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
|
||||
unsigned int __vlen, int __flags);
|
||||
# else
|
||||
@ -204,7 +204,7 @@ extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages,
|
||||
unsigned int __vlen, int __flags);
|
||||
# define sendmmsg __sendmmsg64
|
||||
# endif
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
#endif /* __USE_GNU */
|
||||
|
||||
/* Receive a message as described by MESSAGE from socket FD.
|
||||
@ -212,7 +212,7 @@ extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
|
||||
#else
|
||||
# ifdef __REDIRECT
|
||||
@ -231,7 +231,7 @@ extern ssize_t __recvmsg64 (int __fd, struct msghdr *__message, int __flags);
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
|
||||
unsigned int __vlen, int __flags,
|
||||
struct timespec *__tmo);
|
||||
@ -251,7 +251,7 @@ extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr *__vmessages,
|
||||
/* Put the current value for socket FD's option OPTNAME at protocol level LEVEL
|
||||
into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's
|
||||
actual length. Returns 0 on success, -1 for errors. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int getsockopt (int __fd, int __level, int __optname,
|
||||
void *__restrict __optval,
|
||||
socklen_t *__restrict __optlen) __THROW;
|
||||
@ -273,7 +273,7 @@ extern int __getsockopt64 (int __fd, int __level, int __optname,
|
||||
/* Set socket FD's option OPTNAME at protocol level LEVEL
|
||||
to *OPTVAL (which is OPTLEN bytes long).
|
||||
Returns 0 on success, -1 for errors. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int setsockopt (int __fd, int __level, int __optname,
|
||||
const void *__optval, socklen_t __optlen) __THROW;
|
||||
#else
|
||||
|
@ -35,7 +35,7 @@ make_timespec (time_t s, long int ns)
|
||||
|
||||
enum { TIMESPEC_HZ = 1000000000 };
|
||||
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
struct timespec timespec_add (struct timespec, struct timespec)
|
||||
__attribute__((const));
|
||||
struct timespec timespec_sub (struct timespec, struct timespec)
|
||||
|
@ -30,7 +30,7 @@ __BEGIN_DECLS
|
||||
/* The following functions call the corresponding libc functions and
|
||||
terminate the process on error. */
|
||||
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
void xclock_gettime (clockid_t clock, struct timespec *ts);
|
||||
void xclock_settime (clockid_t clock, const struct timespec *ts);
|
||||
#else
|
||||
|
@ -36,7 +36,7 @@ pid_t xwaitpid (pid_t, int *status, int flags);
|
||||
void xpipe (int[2]);
|
||||
void xdup2 (int, int);
|
||||
int xopen (const char *path, int flags, mode_t);
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
# ifdef __USE_FILE_OFFSET64
|
||||
void xstat (const char *path, struct stat *);
|
||||
void xlstat (const char *path, struct stat *);
|
||||
|
@ -1,19 +0,0 @@
|
||||
/* Features part to handle 64-bit time_t support. Generic version.
|
||||
Copyright (C) 2021-2024 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* The generic configuration only support _TIME_BITS=32. */
|
@ -223,7 +223,7 @@ extern int pthread_join (pthread_t __th, void **__thread_return);
|
||||
the thread in *THREAD_RETURN, if THREAD_RETURN is not NULL. */
|
||||
extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW;
|
||||
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Make calling thread wait for termination of the thread TH, but only
|
||||
until TIMEOUT. The exit status of the thread is stored in
|
||||
*THREAD_RETURN, if THREAD_RETURN is not NULL.
|
||||
@ -796,7 +796,7 @@ extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
|
||||
|
||||
#ifdef __USE_XOPEN2K
|
||||
/* Wait until lock becomes available, or specified time passes. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
|
||||
const struct timespec *__restrict
|
||||
__abstime) __THROWNL __nonnull ((1, 2));
|
||||
@ -813,7 +813,7 @@ extern int __REDIRECT_NTHNL (pthread_mutex_timedlock,
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
|
||||
clockid_t __clockid,
|
||||
const struct timespec *__restrict
|
||||
@ -982,7 +982,7 @@ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
|
||||
|
||||
# ifdef __USE_XOPEN2K
|
||||
/* Try to acquire read lock for RWLOCK or return after specified time. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
|
||||
const struct timespec *__restrict
|
||||
__abstime) __THROWNL __nonnull ((1, 2));
|
||||
@ -1000,7 +1000,7 @@ extern int __REDIRECT_NTHNL (pthread_rwlock_timedrdlock,
|
||||
# endif
|
||||
|
||||
# ifdef __USE_GNU
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
|
||||
clockid_t __clockid,
|
||||
const struct timespec *__restrict
|
||||
@ -1029,7 +1029,7 @@ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
|
||||
|
||||
# ifdef __USE_XOPEN2K
|
||||
/* Try to acquire write lock for RWLOCK or return after specified time. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
|
||||
const struct timespec *__restrict
|
||||
__abstime) __THROWNL __nonnull ((1, 2));
|
||||
@ -1047,7 +1047,7 @@ extern int __REDIRECT_NTHNL (pthread_rwlock_timedwrlock,
|
||||
# endif
|
||||
|
||||
# ifdef __USE_GNU
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
|
||||
clockid_t __clockid,
|
||||
const struct timespec *__restrict
|
||||
@ -1141,7 +1141,7 @@ extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
|
||||
pthread_mutex_t *__restrict __mutex,
|
||||
const struct timespec *__restrict __abstime)
|
||||
@ -1167,7 +1167,7 @@ extern int __REDIRECT (pthread_cond_timedwait,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
|
||||
pthread_mutex_t *__restrict __mutex,
|
||||
__clockid_t __clock_id,
|
||||
|
@ -59,7 +59,7 @@ extern int sem_wait (sem_t *__sem) __nonnull ((1));
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int sem_timedwait (sem_t *__restrict __sem,
|
||||
const struct timespec *__restrict __abstime)
|
||||
__nonnull ((1, 2));
|
||||
@ -77,7 +77,7 @@ extern int __REDIRECT (sem_timedwait,
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int sem_clockwait (sem_t *__restrict __sem,
|
||||
clockid_t clock,
|
||||
const struct timespec *__restrict __abstime)
|
||||
|
@ -90,7 +90,7 @@ extern thrd_t thrd_current (void);
|
||||
__TIME_POINT. The current thread may resume if receives a signal. In
|
||||
that case, if __REMAINING is not NULL, the remaining time is stored in
|
||||
the object pointed by it. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int thrd_sleep (const struct timespec *__time_point,
|
||||
struct timespec *__remaining);
|
||||
#else
|
||||
@ -143,7 +143,7 @@ extern int mtx_lock (mtx_t *__mutex);
|
||||
/* Block the current thread until the mutex pointed by __MUTEX is unlocked
|
||||
or time pointed by __TIME_POINT is reached. In case the mutex is unlock,
|
||||
the current thread will not be blocked. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int mtx_timedlock (mtx_t *__restrict __mutex,
|
||||
const struct timespec *__restrict __time_point);
|
||||
#else
|
||||
@ -194,7 +194,7 @@ extern int cnd_wait (cnd_t *__cond, mtx_t *__mutex);
|
||||
/* Block current thread on the condition variable until condition variable
|
||||
pointed by __COND is signaled or time pointed by __TIME_POINT is
|
||||
reached. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int cnd_timedwait (cnd_t *__restrict __cond,
|
||||
mtx_t *__restrict __mutex,
|
||||
const struct timespec *__restrict __time_point);
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -83,13 +83,13 @@ struct stat
|
||||
# else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
#endif /* __USE_TIME_BITS64 */
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -125,7 +125,7 @@ struct stat64
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
# endif
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -64,7 +64,7 @@
|
||||
# define SO_TIMESTAMPNS_NEW 64
|
||||
# define SO_TIMESTAMPING_NEW 65
|
||||
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# define SO_RCVTIMEO SO_RCVTIMEO_NEW
|
||||
# define SO_SNDTIMEO SO_SNDTIMEO_NEW
|
||||
# define SO_TIMESTAMP SO_TIMESTAMP_NEW
|
||||
|
@ -77,7 +77,7 @@ __BEGIN_DECLS
|
||||
/* Tune a POSIX clock. */
|
||||
extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW __nonnull((2));
|
||||
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# if defined(__REDIRECT_NTH)
|
||||
extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id,
|
||||
struct timex *__utx),
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
struct timex
|
||||
{
|
||||
# if defined __USE_TIME_BITS64 || (__TIMESIZE == 64 && __WORDSIZE == 32)
|
||||
# if defined __USE_TIME64_REDIRECTS || (__TIMESIZE == 64 && __WORDSIZE == 32)
|
||||
unsigned int modes; /* mode selector */
|
||||
int :32; /* pad */
|
||||
long long offset; /* time offset (usec) */
|
||||
|
@ -26,7 +26,7 @@
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_msqid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_semid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_shmid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
|
@ -43,7 +43,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -88,7 +88,7 @@ struct stat
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
|
@ -24,9 +24,8 @@
|
||||
# if _TIME_BITS == 64
|
||||
# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64
|
||||
# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
|
||||
# elif __TIMESIZE == 32
|
||||
# define __USE_TIME_BITS64 1
|
||||
# endif
|
||||
# define __USE_TIME_BITS64 1
|
||||
# elif _TIME_BITS == 32
|
||||
# if __TIMESIZE > 32
|
||||
# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32"
|
||||
@ -34,4 +33,10 @@
|
||||
# else
|
||||
# error Invalid _TIME_BITS value (can only be 32 or 64-bit)
|
||||
# endif
|
||||
#elif __TIMESIZE == 64
|
||||
# define __USE_TIME_BITS64 1
|
||||
#endif
|
||||
|
||||
#if defined __USE_TIME_BITS64 && __TIMESIZE == 32
|
||||
# define __USE_TIME64_REDIRECTS 1
|
||||
#endif
|
||||
|
@ -54,7 +54,7 @@
|
||||
# define SO_TIMESTAMPNS_NEW 0x4039
|
||||
# define SO_TIMESTAMPING_NEW 0x403A
|
||||
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# define SO_RCVTIMEO SO_RCVTIMEO_NEW
|
||||
# define SO_SNDTIMEO SO_SNDTIMEO_NEW
|
||||
# define SO_TIMESTAMP SO_TIMESTAMP_NEW
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -83,13 +83,13 @@ struct stat
|
||||
# else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
#endif /* __USE_TIME_BITS64 */
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -125,7 +125,7 @@ struct stat64
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
# endif
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_msqid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_semid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_shmid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -80,13 +80,13 @@ struct stat
|
||||
# else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
#endif /* __USE_TIME_BITS64 */
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -122,7 +122,7 @@ struct stat64
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
# endif
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
#ifndef __USE_FILE_OFFSET64
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -64,7 +64,7 @@ struct stat
|
||||
# endif
|
||||
unsigned int __glibc_reserved4;
|
||||
unsigned int __glibc_reserved5;
|
||||
#endif /* __USE_TIME_BITS64 */
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#else /* __USE_FILE_OFFSET64 */
|
||||
/* MS: If __USE_FILE_OFFSET64 is setup then struct stat should match stat64
|
||||
@ -74,7 +74,7 @@ struct stat
|
||||
* create one ifdef to separate stats structures. */
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
unsigned long long st_dev; /* Device. */
|
||||
@ -112,14 +112,14 @@ struct stat
|
||||
# endif
|
||||
unsigned int __glibc_reserved4;
|
||||
unsigned int __glibc_reserved5;
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif /* __USE_FILE_OFFSET64 */
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
unsigned long long st_dev; /* Device. */
|
||||
@ -157,7 +157,7 @@ struct stat64
|
||||
# endif
|
||||
unsigned int __glibc_reserved4;
|
||||
unsigned int __glibc_reserved5;
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -54,7 +54,7 @@
|
||||
# define SO_TIMESTAMPNS_NEW 64
|
||||
# define SO_TIMESTAMPING_NEW 65
|
||||
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# define SO_RCVTIMEO SO_RCVTIMEO_NEW
|
||||
# define SO_SNDTIMEO SO_SNDTIMEO_NEW
|
||||
# define SO_TIMESTAMP SO_TIMESTAMP_NEW
|
||||
|
@ -29,7 +29,7 @@
|
||||
/* Structure describing file characteristics. */
|
||||
struct stat
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
unsigned long int st_dev;
|
||||
@ -82,13 +82,13 @@ struct stat
|
||||
__blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
|
||||
# endif
|
||||
long int st_pad5[14];
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
# ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
unsigned long int st_dev;
|
||||
@ -123,7 +123,7 @@ struct stat64
|
||||
long int st_pad3;
|
||||
__blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
|
||||
long int st_pad4[14];
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
# endif /* __USE_LARGEFILE64 */
|
||||
|
||||
@ -131,7 +131,7 @@ struct stat64
|
||||
|
||||
struct stat
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev;
|
||||
@ -189,7 +189,7 @@ struct stat
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev;
|
||||
@ -224,7 +224,7 @@ struct stat64
|
||||
unsigned int st_pad3;
|
||||
__blkcnt64_t st_blocks;
|
||||
int st_pad4[14];
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_msqid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_semid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_shmid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
|
@ -43,7 +43,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -88,7 +88,7 @@ struct stat
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
|
@ -54,7 +54,7 @@
|
||||
# define SO_TIMESTAMPNS_NEW 64
|
||||
# define SO_TIMESTAMPING_NEW 65
|
||||
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# define SO_RCVTIMEO SO_RCVTIMEO_NEW
|
||||
# define SO_SNDTIMEO SO_SNDTIMEO_NEW
|
||||
# define SO_TIMESTAMP SO_TIMESTAMP_NEW
|
||||
|
@ -28,7 +28,7 @@
|
||||
#if __WORDSIZE == 32
|
||||
struct stat
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -79,13 +79,13 @@ struct stat
|
||||
# endif
|
||||
unsigned long int __glibc_reserved4;
|
||||
unsigned long int __glibc_reserved5;
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
# ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -122,7 +122,7 @@ struct stat64
|
||||
# endif
|
||||
unsigned long int __glibc_reserved4;
|
||||
unsigned long int __glibc_reserved5;
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
# endif /* __USE_LARGEFILE64 */
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_msqid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_semid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_shmid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
|
@ -65,7 +65,7 @@ struct stat
|
||||
#else
|
||||
struct stat
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -166,7 +166,7 @@ struct stat64
|
||||
# else
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -83,13 +83,13 @@ struct stat
|
||||
# else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
#endif /* __USE_TIME_BITS64 */
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -125,7 +125,7 @@ struct stat64
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
# endif
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -54,7 +54,7 @@
|
||||
# define SO_TIMESTAMPNS_NEW 0x0042
|
||||
# define SO_TIMESTAMPING_NEW 0x0043
|
||||
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# define SO_RCVTIMEO SO_RCVTIMEO_NEW
|
||||
# define SO_SNDTIMEO SO_SNDTIMEO_NEW
|
||||
# define SO_TIMESTAMP SO_TIMESTAMP_NEW
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -79,13 +79,13 @@ struct stat
|
||||
# endif
|
||||
unsigned long int __glibc_reserved4;
|
||||
unsigned long int __glibc_reserved5;
|
||||
#endif /* __USE_TIME_BITS64 */
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -126,7 +126,7 @@ struct stat64
|
||||
# endif
|
||||
unsigned long int __glibc_reserved4;
|
||||
unsigned long int __glibc_reserved5;
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
The type `struct msg' is opaque. */
|
||||
struct msqid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_msqid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm msg_perm; /* structure describing operation permission */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_semid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a shared memory segment. */
|
||||
struct shmid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_shmid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm shm_perm; /* operation permission struct */
|
||||
|
@ -140,7 +140,7 @@ extern int epoll_pwait (int __epfd, struct epoll_event *__events,
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int epoll_pwait2 (int __epfd, struct epoll_event *__events,
|
||||
int __maxevents, const struct timespec *__timeout,
|
||||
const __sigset_t *__ss)
|
||||
|
@ -38,7 +38,7 @@
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Control process execution. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int prctl (int __option, ...) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT
|
||||
|
@ -47,7 +47,7 @@ extern int timerfd_settime (int __ufd, int __flags,
|
||||
const struct itimerspec *__utmr,
|
||||
struct itimerspec *__otmr) __THROW;
|
||||
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# if defined(__REDIRECT_NTH)
|
||||
extern int __REDIRECT_NTH (timerfd_settime,
|
||||
(int __ufd, int __flags,
|
||||
@ -62,7 +62,7 @@ extern int __REDIRECT_NTH (timerfd_settime,
|
||||
/* Return the next expiration time of UFD. */
|
||||
extern int timerfd_gettime (int __ufd, struct itimerspec *__otmr) __THROW;
|
||||
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# if defined(__REDIRECT_NTH)
|
||||
extern int __REDIRECT_NTH (timerfd_gettime, (int __ufd,
|
||||
struct itimerspec *__otmr),
|
||||
|
@ -54,7 +54,7 @@ struct ntptimeval
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1));
|
||||
extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1));
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
struct stat
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
#else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -95,14 +95,14 @@ struct stat
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
# endif
|
||||
#endif /* __USE_TIME_BITS64 */
|
||||
#endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
|
||||
#ifdef __USE_LARGEFILE64
|
||||
/* Note stat64 has the same shape as stat for x86-64. */
|
||||
struct stat64
|
||||
{
|
||||
# ifdef __USE_TIME_BITS64
|
||||
# ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/struct_stat_time64_helper.h>
|
||||
# else
|
||||
__dev_t st_dev; /* Device. */
|
||||
@ -152,7 +152,7 @@ struct stat64
|
||||
# else
|
||||
__ino64_t st_ino; /* File serial number. */
|
||||
# endif
|
||||
# endif /* __USE_TIME_BITS64 */
|
||||
# endif /* __USE_TIME64_REDIRECTS */
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
/* Data structure describing a set of semaphores. */
|
||||
struct semid_ds
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
# include <bits/types/struct_semid64_ds_helper.h>
|
||||
#else
|
||||
struct ipc_perm sem_perm; /* operation permission struct */
|
||||
|
@ -58,7 +58,7 @@ struct msgbuf
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Message queue control operation. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int msgctl (int __msqid, int __cmd, struct msqid_ds *__buf) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT_NTH
|
||||
|
@ -48,7 +48,7 @@ struct sembuf
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* Semaphore control operation. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int semctl (int __semid, int __semnum, int __cmd, ...) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT_NTH
|
||||
@ -68,7 +68,7 @@ extern int semop (int __semid, struct sembuf *__sops, size_t __nsops) __THROW;
|
||||
|
||||
#ifdef __USE_GNU
|
||||
/* Operate on semaphore with timeout. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int semtimedop (int __semid, struct sembuf *__sops, size_t __nsops,
|
||||
const struct timespec *__timeout) __THROW;
|
||||
# else
|
||||
|
@ -46,7 +46,7 @@ __BEGIN_DECLS
|
||||
facility. The definition is found in XPG4.2. */
|
||||
|
||||
/* Shared memory control operation. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT_NTH
|
||||
|
@ -10,14 +10,14 @@
|
||||
has nanoseconds instead of microseconds. */
|
||||
struct timespec
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
__time64_t tv_sec; /* Seconds. */
|
||||
#else
|
||||
__time_t tv_sec; /* Seconds. */
|
||||
#endif
|
||||
#if __WORDSIZE == 64 \
|
||||
|| (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
|
||||
|| (__TIMESIZE == 32 && !defined __USE_TIME_BITS64)
|
||||
|| (__TIMESIZE == 32 && !defined __USE_TIME64_REDIRECTS)
|
||||
__syscall_slong_t tv_nsec; /* Nanoseconds. */
|
||||
#else
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
|
@ -7,7 +7,7 @@
|
||||
microsecond but also has a range of years. */
|
||||
struct timeval
|
||||
{
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
__time64_t tv_sec; /* Seconds. */
|
||||
__suseconds64_t tv_usec; /* Microseconds. */
|
||||
#else
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <bits/types.h>
|
||||
|
||||
/* Returned by `time'. */
|
||||
#ifdef __USE_TIME_BITS64
|
||||
#ifdef __USE_TIME64_REDIRECTS
|
||||
typedef __time64_t time_t;
|
||||
#else
|
||||
typedef __time_t time_t;
|
||||
|
@ -63,7 +63,7 @@ struct timezone
|
||||
use localtime etc. instead.
|
||||
This function itself is semi-obsolete;
|
||||
most callers should use time or clock_gettime instead. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern int gettimeofday (struct timeval *__restrict __tv,
|
||||
void *__restrict __tz) __THROW __nonnull ((1));
|
||||
#else
|
||||
@ -77,7 +77,7 @@ extern int __REDIRECT_NTH (gettimeofday, (struct timeval *__restrict __tv,
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Set the current time of day and timezone information.
|
||||
This call is restricted to the super-user.
|
||||
Setting the timezone in this way is obsolete, but we don't yet
|
||||
@ -143,7 +143,7 @@ typedef enum __itimer_which __itimer_which_t;
|
||||
typedef int __itimer_which_t;
|
||||
#endif
|
||||
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
/* Set *VALUE to the current setting of timer WHICH.
|
||||
Return 0 on success, -1 on errors. */
|
||||
extern int getitimer (__itimer_which_t __which,
|
||||
@ -184,7 +184,7 @@ extern int __REDIRECT_NTH (utimes, (const char *__file,
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Same as `utimes', but does not follow symbolic links. */
|
||||
extern int lutimes (const char *__file, const struct timeval __tvp[2])
|
||||
__THROW __nonnull ((1));
|
||||
@ -207,7 +207,7 @@ extern int __REDIRECT_NTH (futimes, (int __fd, const struct timeval __tvp[2]),
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Change the access time of FILE relative to FD to TVP[0] and the
|
||||
modification time of FILE to TVP[1]. If TVP is a null pointer, use
|
||||
the current time instead. Returns 0 on success, -1 on errors. */
|
||||
|
24
time/time.h
24
time/time.h
@ -71,7 +71,7 @@ __BEGIN_DECLS
|
||||
The result / CLOCKS_PER_SEC is program time in seconds. */
|
||||
extern clock_t clock (void) __THROW;
|
||||
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
/* Return the current time and put it in *TIMER if TIMER is not NULL. */
|
||||
extern time_t time (time_t *__timer) __THROW;
|
||||
|
||||
@ -127,7 +127,7 @@ extern char *strptime_l (const char *__restrict __s,
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
/* Return the `struct tm' representation of *TIMER
|
||||
in Universal Coordinated Time (aka Greenwich Mean Time). */
|
||||
extern struct tm *gmtime (const time_t *__timer) __THROW;
|
||||
@ -149,7 +149,7 @@ extern struct tm *__REDIRECT_NTH (localtime, (const time_t *__timer),
|
||||
|
||||
|
||||
#if defined __USE_POSIX || __GLIBC_USE (ISOC2X)
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Return the `struct tm' representation of *TIMER in UTC,
|
||||
using *TP to store the result. */
|
||||
extern struct tm *gmtime_r (const time_t *__restrict __timer,
|
||||
@ -180,7 +180,7 @@ extern struct tm*__REDIRECT_NTH (localtime_r, (const time_t *__restrict __t,
|
||||
extern char *asctime (const struct tm *__tp) __THROW;
|
||||
|
||||
/* Equivalent to `asctime (localtime (timer))'. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern char *ctime (const time_t *__timer) __THROW;
|
||||
#else
|
||||
# ifdef __REDIRECT_NTH
|
||||
@ -199,7 +199,7 @@ extern char *asctime_r (const struct tm *__restrict __tp,
|
||||
char *__restrict __buf) __THROW;
|
||||
|
||||
/* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
extern char *ctime_r (const time_t *__restrict __timer,
|
||||
char *__restrict __buf) __THROW;
|
||||
#else
|
||||
@ -242,7 +242,7 @@ extern long int timezone;
|
||||
|
||||
|
||||
#if defined __USE_MISC || __GLIBC_USE (ISOC2X)
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Like `mktime', but for TP represents Universal Time, not local time. */
|
||||
extern time_t timegm (struct tm *__tp) __THROW;
|
||||
# else
|
||||
@ -259,7 +259,7 @@ extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64);
|
||||
/* Miscellaneous functions many Unices inherited from the public domain
|
||||
localtime package. These are included only for compatibility. */
|
||||
|
||||
#ifndef __USE_TIME_BITS64
|
||||
#ifndef __USE_TIME64_REDIRECTS
|
||||
/* Another name for `mktime'. */
|
||||
extern time_t timelocal (struct tm *__tp) __THROW;
|
||||
#else
|
||||
@ -274,7 +274,7 @@ extern int dysize (int __year) __THROW __attribute__ ((__const__));
|
||||
|
||||
|
||||
#ifdef __USE_POSIX199309
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Pause execution for a number of nanoseconds.
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
@ -320,7 +320,7 @@ extern int __REDIRECT_NTH (clock_settime, (clockid_t __clock_id, const struct
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int clock_nanosleep (clockid_t __clock_id, int __flags,
|
||||
const struct timespec *__req,
|
||||
struct timespec *__rem);
|
||||
@ -349,7 +349,7 @@ extern int timer_create (clockid_t __clock_id,
|
||||
extern int timer_delete (timer_t __timerid) __THROW;
|
||||
|
||||
/* Set timer TIMERID to VALUE, returning old value in OVALUE. */
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
extern int timer_settime (timer_t __timerid, int __flags,
|
||||
const struct itimerspec *__restrict __value,
|
||||
struct itimerspec *__restrict __ovalue) __THROW;
|
||||
@ -379,7 +379,7 @@ extern int timer_getoverrun (timer_t __timerid) __THROW;
|
||||
|
||||
|
||||
#ifdef __USE_ISOC11
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Set TS to calendar time based in time base BASE. */
|
||||
extern int timespec_get (struct timespec *__ts, int __base)
|
||||
__THROW __nonnull ((1));
|
||||
@ -395,7 +395,7 @@ extern int __REDIRECT_NTH (timespec_get, (struct timespec *__ts, int __base),
|
||||
|
||||
|
||||
#if __GLIBC_USE (ISOC2X)
|
||||
# ifndef __USE_TIME_BITS64
|
||||
# ifndef __USE_TIME64_REDIRECTS
|
||||
/* Set TS to resolution of time base BASE. */
|
||||
extern int timespec_getres (struct timespec *__ts, int __base)
|
||||
__THROW;
|
||||
|
Loading…
Reference in New Issue
Block a user