diff options
Diffstat (limited to 'libc/sysdeps/linux/frv/bits/stat.h')
-rw-r--r-- | libc/sysdeps/linux/frv/bits/stat.h | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/frv/bits/stat.h b/libc/sysdeps/linux/frv/bits/stat.h index 83f5b4726..e6a1944bb 100644 --- a/libc/sysdeps/linux/frv/bits/stat.h +++ b/libc/sysdeps/linux/frv/bits/stat.h @@ -70,6 +70,20 @@ struct stat __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 unsigned long int __unused1; __time_t st_atime; /* Time of last access. */ @@ -78,7 +92,7 @@ struct stat unsigned long int __unused3; __time_t st_ctime; /* Time of last status change. */ - +#endif unsigned long long __unused4; }; @@ -103,7 +117,20 @@ 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. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +#else unsigned long int __unused1; __time_t st_atime; /* Time of last access. */ @@ -112,7 +139,7 @@ struct stat64 unsigned long int __unused3; __time_t st_ctime; /* Time of last status change. */ - +#endif unsigned long long __unused4; }; #endif |