Browse Source

Atsushi Nemoto writes: Add st_[amc]timensec to N32/N64 version of stat, add st_[amc]time_nsec to each kernel_stat, and define STAT_HAVE_NSEC to convert them

Mike Frysinger 17 years ago
parent
commit
59b10970c5
2 changed files with 23 additions and 21 deletions
  1. 14 12
      libc/sysdeps/linux/mips/bits/kernel_stat.h
  2. 9 9
      libc/sysdeps/linux/mips/bits/stat.h

+ 14 - 12
libc/sysdeps/linux/mips/bits/kernel_stat.h

@@ -25,11 +25,11 @@ struct kernel_stat {
 	unsigned int	st_pad2[3];
 	__kernel_off_t	st_size;
 	unsigned int	st_atime;
-	unsigned int	reserved0;
+	unsigned int	st_atime_nsec;
 	unsigned int	st_mtime;
-	unsigned int	reserved1;
+	unsigned int	st_mtime_nsec;
 	unsigned int	st_ctime;
-	unsigned int	reserved2;
+	unsigned int	st_ctime_nsec;
 	unsigned int	st_blksize;
 	unsigned int	reserved3;
 	unsigned long	st_blocks;
@@ -49,11 +49,11 @@ struct kernel_stat {
 	unsigned int	st_pad2[3];
 	unsigned long long	st_size;
 	unsigned int	st_atime;
-	unsigned int	reserved0;
+	unsigned int	st_atime_nsec;
 	unsigned int	st_mtime;
-	unsigned int	reserved1;
+	unsigned int	st_mtime_nsec;
 	unsigned int	st_ctime;
-	unsigned int	reserved2;
+	unsigned int	st_ctime_nsec;
 	unsigned int	st_blksize;
 	unsigned int	reserved3;
 	unsigned long long	st_blocks;
@@ -73,11 +73,11 @@ struct kernel_stat {
 	__kernel_off_t	st_size;
 	long		st_pad3;
 	time_t		st_atime;
-	long		reserved0;
+	long		st_atime_nsec;
 	time_t		st_mtime;
-	long		reserved1;
+	long		st_mtime_nsec;
 	time_t		st_ctime;
-	long		reserved2;
+	long		st_ctime_nsec;
 	long		st_blksize;
 	long		st_blocks;
 	long		st_pad4[14];
@@ -95,16 +95,18 @@ struct kernel_stat64 {
 	unsigned long	st_pad1[3];	/* Reserved for st_rdev expansion  */
 	long long	st_size;
 	time_t		st_atime;
-	unsigned long	reserved0;	/* Reserved for st_atime expansion  */
+	unsigned long	st_atime_nsec;
 	time_t		st_mtime;
-	unsigned long	reserved1;	/* Reserved for st_mtime expansion  */
+	unsigned long	st_mtime_nsec;
 	time_t		st_ctime;
-	unsigned long	reserved2;	/* Reserved for st_ctime expansion  */
+	unsigned long	st_ctime_nsec;
 	unsigned long	st_blksize;
 	unsigned long	st_pad2;
 	long long	st_blocks;
 };
 #endif	/* O32 */
 
+#define STAT_HAVE_NSEC 1
+
 #endif	/*  _BITS_STAT_STRUCT_H */
 

+ 9 - 9
libc/sysdeps/linux/mips/bits/stat.h

@@ -98,11 +98,11 @@ struct stat {
      * st_ctime but we don't have it under Linux.
      */
     int st_atime;
-    int reserved0;	/* Reserved for st_atime expansion  */
+    int st_atimensec;
     int st_mtime;
-    int reserved1;	/* Reserved for st_mtime expansion  */
+    int st_mtimensec;
     int st_ctime;
-    int reserved2;	/* Reserved for st_ctime expansion  */
+    int st_ctimensec;
     int st_blksize;	/* Optimal block size for I/O.  */
     int st_pad3;
     __blkcnt_t st_blocks;	/* Number of 512-byte blocks allocated.  */
@@ -129,11 +129,11 @@ struct stat64
      * st_ctime but we don't have it under Linux.
      */
     __time_t st_atime;		/* Time of last access.  */
-    long int __reserved0;
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
     __time_t st_mtime;		/* Time of last modification.  */
-    long int __reserved1;
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
     __time_t st_ctime;		/* Time of last status change.  */
-    long int __reserved2;
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
     __blksize_t st_blksize;	/* Optimal block size for I/O.  */
     long int st_pad3;
     __blkcnt64_t st_blocks;	/* Number of 512-byte blocks allocated.  */
@@ -157,11 +157,11 @@ struct stat64 {
      * st_ctime but we don't have it under Linux.
      */
     int st_atime;
-    int reserved0;	/* Reserved for st_atime expansion  */
+    int st_atimensec;
     int st_mtime;
-    int reserved1;	/* Reserved for st_mtime expansion  */
+    int st_mtimensec;
     int st_ctime;
-    int reserved2;	/* Reserved for st_ctime expansion  */
+    int st_ctimensec;
     int st_blksize;	/* Optimal block size for I/O.  */
     int st_pad3;
     __blkcnt_t st_blocks;	/* Number of 512-byte blocks allocated.  */