diff options
Diffstat (limited to 'libc/sysdeps/linux/common/bits')
-rw-r--r-- | libc/sysdeps/linux/common/bits/kernel_stat.h | 28 |
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 */ |