|
|
@@ -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;
|
|
|
@@ -92,11 +108,11 @@ struct stat64
|
|
|
|
|
|
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
|
|
__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. */
|
|
|
__ino64_t st_ino; /* File serial number. */
|
|
|
};
|
|
|
#endif
|
|
|
@@ -104,6 +120,8 @@ struct stat64
|
|
|
/* Tell code we have these members. */
|
|
|
#define _STATBUF_ST_BLKSIZE
|
|
|
#define _STATBUF_ST_RDEV
|
|
|
+/* Nanosecond resolution time values are supported. */
|
|
|
+#define _STATBUF_ST_NSEC
|
|
|
|
|
|
/* Encoding of the file mode. */
|
|
|
|