From ee3323be35d13ef2b0107916070788d8256970bb Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sun, 25 Aug 2002 00:22:16 +0000 Subject: Finish off the bits/kernel_stat.h cleanup for proper __USE_FILE_OFFSET64 handling. -Erik --- libc/sysdeps/linux/sh/bits/kernel_stat.h | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'libc/sysdeps/linux/sh/bits/kernel_stat.h') diff --git a/libc/sysdeps/linux/sh/bits/kernel_stat.h b/libc/sysdeps/linux/sh/bits/kernel_stat.h index a932a8b79..3dc6ebdbf 100644 --- a/libc/sysdeps/linux/sh/bits/kernel_stat.h +++ b/libc/sysdeps/linux/sh/bits/kernel_stat.h @@ -6,6 +6,7 @@ * different opinion on the subject... */ #include +#ifndef __USE_FILE_OFFSET64 struct stat { unsigned short st_dev; unsigned short __pad1; @@ -28,6 +29,60 @@ struct stat { unsigned long __unused4; unsigned long __unused5; }; +#else +struct stat { +#if defined(__BIG_ENDIAN__) + unsigned char __pad0b[6]; + unsigned short st_dev; +#elif defined(__LITTLE_ENDIAN__) + unsigned short st_dev; + unsigned char __pad0b[6]; +#else +#error Must know endian to build stat64 structure! +#endif + unsigned char __pad0[4]; + + unsigned long st_ino; + unsigned int st_mode; + unsigned int st_nlink; + + unsigned long st_uid; + unsigned long st_gid; + +#if defined(__BIG_ENDIAN__) + unsigned char __pad3b[6]; + unsigned short st_rdev; +#else /* Must be little */ + unsigned short st_rdev; + unsigned char __pad3b[6]; +#endif + unsigned char __pad3[4]; + + long long st_size; + unsigned long st_blksize; + +#if defined(__BIG_ENDIAN__) + unsigned long __pad4; /* Future possible st_blocks hi bits */ + unsigned long st_blocks; /* Number 512-byte blocks allocated. */ +#else /* Must be little */ + unsigned long st_blocks; /* Number 512-byte blocks allocated. */ + unsigned long __pad4; /* Future possible st_blocks hi bits */ +#endif + + 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 __unused1; + unsigned long __unused2; +}; +#endif + #ifdef __USE_LARGEFILE64 struct stat64 { #if defined(__BIG_ENDIAN__) -- cgit v1.2.3