Linux: consolidate dup2 implementation
[glibc.git] / include / struct___timespec64.h
blob9abb25c8f78813c48ae183e1dcf072f3b28b5c6d
1 #ifndef _STRUCT_TIMESPEC64_H
2 #define _STRUCT_TIMESPEC64_H
4 #if __TIMESIZE == 64
5 # define __timespec64 timespec
6 #else
7 #include <endian.h>
8 /* The glibc Y2038-proof struct __timespec64 structure for a time value.
9 To keep things Posix-ish, we keep the nanoseconds field a 32-bit
10 signed long, but since the Linux field is a 64-bit signed int, we
11 pad our tv_nsec with a 32-bit unnamed bit-field padding.
13 As a general rule the Linux kernel is ignoring upper 32 bits of
14 tv_nsec field. */
15 struct __timespec64
17 __time64_t tv_sec; /* Seconds */
18 # if BYTE_ORDER == BIG_ENDIAN
19 __int32_t :32; /* Padding */
20 __int32_t tv_nsec; /* Nanoseconds */
21 # else
22 __int32_t tv_nsec; /* Nanoseconds */
23 __int32_t :32; /* Padding */
24 # endif
26 #endif
27 #endif /* _STRUCT_TIMESPEC64_H */