mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	The struct __timespec64's definition has been moved from ./include/time.h to ./include/struct___timespec64.h. This change would prevent from polluting other glibc namespaces (when headers are modified to support 64 bit time on architectures with __WORDSIZE==32). Now it is possible to just include definition of this particular structure when needed. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
		
			
				
	
	
		
			28 lines
		
	
	
		
			832 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			832 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _STRUCT_TIMESPEC64_H
 | 
						|
#define _STRUCT_TIMESPEC64_H
 | 
						|
 | 
						|
#if __TIMESIZE == 64
 | 
						|
# define __timespec64 timespec
 | 
						|
#else
 | 
						|
#include <endian.h>
 | 
						|
/* The glibc Y2038-proof struct __timespec64 structure for a time value.
 | 
						|
   To keep things Posix-ish, we keep the nanoseconds field a 32-bit
 | 
						|
   signed long, but since the Linux field is a 64-bit signed int, we
 | 
						|
   pad our tv_nsec with a 32-bit unnamed bit-field padding.
 | 
						|
 | 
						|
   As a general rule the Linux kernel is ignoring upper 32 bits of
 | 
						|
   tv_nsec field.  */
 | 
						|
struct __timespec64
 | 
						|
{
 | 
						|
  __time64_t tv_sec;         /* Seconds */
 | 
						|
# if BYTE_ORDER == BIG_ENDIAN
 | 
						|
  __int32_t :32;             /* Padding */
 | 
						|
  __int32_t tv_nsec;         /* Nanoseconds */
 | 
						|
# else
 | 
						|
  __int32_t tv_nsec;         /* Nanoseconds */
 | 
						|
  __int32_t :32;             /* Padding */
 | 
						|
# endif
 | 
						|
};
 | 
						|
#endif
 | 
						|
#endif /* _STRUCT_TIMESPEC64_H  */
 |