summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common/bits
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/bits')
-rw-r--r--libc/sysdeps/linux/common/bits/kernel_stat.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/common/bits/kernel_stat.h b/libc/sysdeps/linux/common/bits/kernel_stat.h
index 48ffdd290..b338e3d5c 100644
--- a/libc/sysdeps/linux/common/bits/kernel_stat.h
+++ b/libc/sysdeps/linux/common/bits/kernel_stat.h
@@ -6,6 +6,7 @@
* different opinion on the subject... */
#warning please verify struct stat for your architecture matches struct stat for x86...
+#ifndef __USE_FILE_OFFSET64
struct stat {
unsigned short st_dev;
unsigned short __pad1;
@@ -28,6 +29,32 @@ struct stat {
unsigned long __unused4;
unsigned long __unused5;
};
+#else
+struct stat {
+ unsigned short st_dev;
+ unsigned char __pad0[10];
+#define STAT64_HAS_BROKEN_ST_INO 1
+ unsigned long __st_ino;
+ unsigned int st_mode;
+ unsigned int st_nlink;
+ unsigned long st_uid;
+ unsigned long st_gid;
+ unsigned short st_rdev;
+ unsigned char __pad3[10];
+ long long st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks; /* Number 512-byte blocks allocated. */
+ unsigned long __pad4; /* future possible st_blocks high bits */
+ unsigned long st_atime;
+ unsigned long __pad5;
+ unsigned long st_mtime;
+ unsigned long __pad6;
+ unsigned long st_ctime;
+ unsigned long __pad7; /* will be high 32 bits of ctime someday */
+ unsigned long long st_ino;
+};
+#endif
+
#ifdef __USE_LARGEFILE64
struct stat64 {
unsigned short st_dev;
@@ -54,6 +81,5 @@ struct stat64 {
};
#endif
-
#endif /* _BITS_STAT_STRUCT_H */