Add nanosecond fields.
authorAndreas Schwab <schwab@suse.de>
Sat, 4 Jan 2003 22:51:16 +0000 (22:51 +0000)
committerAndreas Schwab <schwab@suse.de>
Sat, 4 Jan 2003 22:51:16 +0000 (22:51 +0000)
sysdeps/unix/sysv/linux/m68k/bits/stat.h

index 213dbe2..3f1f343 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1992,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1992,95,96,97,98,99,2000,2001,2002
+     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
@@ -60,12 +61,27 @@ struct stat
 #else
     __blkcnt64_t st_blocks;            /* Number 512-byte blocks allocated. */
 #endif
+#ifdef __USE_MISC
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;           /* Time of last access.  */
+    struct timespec st_mtim;           /* Time of last modification.  */
+    struct timespec st_ctim;           /* Time of last status change.  */
+# define st_atime st_atim.tv_sec       /* Backward compatibility.  */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+#else
     __time_t st_atime;                 /* Time of last access.  */
-    unsigned long int __unused1;
+    unsigned long int st_atimensec;    /* Nscecs of last access.  */
     __time_t st_mtime;                 /* Time of last modification.  */
-    unsigned long int __unused2;
+    unsigned long int st_mtimensec;    /* Nsecs of last modification.  */
     __time_t st_ctime;                 /* Time of last status change.  */
-    unsigned long int __unused3;
+    unsigned long int st_ctimensec;    /* Nsecs of last status change.  */
+#endif
 #ifndef __USE_FILE_OFFSET64
     unsigned long int __unused4;
     unsigned long int __unused5;
@@ -91,12 +107,24 @@ struct stat64
     __blksize_t st_blksize;            /* Optimal block size for I/O.  */
 
     __blkcnt64_t st_blocks;            /* Number 512-byte blocks allocated. */
+#ifdef __USE_MISC
+    /* Nanosecond resolution timestamps are stored in a format
+       equivalent to 'struct timespec'.  This is the type used
+       whenever possible but the Unix namespace rules do not allow the
+       identifier 'timespec' to appear in the <sys/stat.h> header.
+       Therefore we have to handle the use of this header in strictly
+       standard-compliant sources special.  */
+    struct timespec st_atim;           /* Time of last access.  */
+    struct timespec st_mtim;           /* Time of last modification.  */
+    struct timespec st_ctim;           /* Time of last status change.  */
+#else
     __time_t st_atime;                 /* Time of last access.  */
-    unsigned long int __unused1;
+    unsigned long int st_atimensec;    /* Nscecs of last access.  */
     __time_t st_mtime;                 /* Time of last modification.  */
-    unsigned long int __unused2;
+    unsigned long int st_mtimensec;    /* Nsecs of last modification.  */
     __time_t st_ctime;                 /* Time of last status change.  */
-    unsigned long int __unused3;
+    unsigned long int st_ctimensec;    /* Nsecs of last status change.  */
+#endif
     __ino64_t st_ino;                  /* File serial number.          */
   };
 #endif