diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-mips/stat.h | 62 | ||||
-rw-r--r-- | include/asm-mips64/stat.h | 24 |
2 files changed, 38 insertions, 48 deletions
diff --git a/include/asm-mips/stat.h b/include/asm-mips/stat.h index 8dc6698e6..e8892d3da 100644 --- a/include/asm-mips/stat.h +++ b/include/asm-mips/stat.h @@ -1,5 +1,5 @@ -#ifndef __ASM_MIPS_STAT_H -#define __ASM_MIPS_STAT_H +#ifndef _ASM_STAT_H +#define _ASM_STAT_H #include <linux/types.h> @@ -52,41 +52,35 @@ struct stat { unsigned int st_gen; }; -/* This matches struct stat64 in glibc2.1, hence the absolutely - * insane amounts of padding around dev_t's. - * XXX We don't ship glibc 2.1 for MIPS yet, so this structure may be - * changed without breaking compatibility. You've been warned. +/* + * This matches struct stat64 in glibc2.1, hence the absolutely insane + * amounts of padding around dev_t's. The memory layout is the same as of + * struct stat of the 64-bit kernel. */ + struct stat64 { unsigned long st_dev; - unsigned char __pad0[8]; - - 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]; - + unsigned long st_pad0[3]; /* Reserved for st_dev expansion */ + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + unsigned long st_rdev; + unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */ long long st_size; + /* + * Actually this should be timestruc_t st_atime, st_mtime and st_ctime + * but we don't have it under Linux. + */ + time_t st_atime; + unsigned long reserved0; /* Reserved for st_atime expansion */ + time_t st_mtime; + unsigned long reserved1; /* Reserved for st_atime expansion */ + time_t st_ctime; + unsigned long reserved2; /* Reserved for st_atime expansion */ 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 __unused1; - unsigned long __unused2; + long long st_blocks; }; -#endif /* __ASM_MIPS_STAT_H */ + +#endif /* _ASM_STAT_H */ diff --git a/include/asm-mips64/stat.h b/include/asm-mips64/stat.h index 8fdcd95d4..e84dcb7ec 100644 --- a/include/asm-mips64/stat.h +++ b/include/asm-mips64/stat.h @@ -3,7 +3,8 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1995, 1999 Ralf Baechle + * Copyright (C) 1995, 1999, 2000 Ralf Baechle + * Copyright (C) 2000 Silicon Graphics, Inc. */ #ifndef _ASM_STAT_H #define _ASM_STAT_H @@ -54,35 +55,30 @@ struct stat32 { unsigned int st_gen; }; +/* The memory layout is the same as of struct stat64 of the 32-bit kernel. */ struct stat { dev_t st_dev; - long st_pad1[3]; /* Reserved for network id */ + unsigned int st_pad0[3]; /* Reserved for st_dev expansion */ ino_t st_ino; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; - long st_pad2[2]; + unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */ off_t st_size; - long st_pad3; /* * Actually this should be timestruc_t st_atime, st_mtime and st_ctime * but we don't have it under Linux. */ time_t st_atime; - long reserved0; + unsigned int reserved0; /* Reserved for st_atime expansion */ time_t st_mtime; - long reserved1; + unsigned int reserved1; /* Reserved for st_atime expansion */ time_t st_ctime; - long reserved2; - long st_blksize; - long st_blocks; - char st_fstype[16]; /* Filesystem type name */ - long st_pad4[8]; - /* Linux specific fields */ - unsigned int st_flags; - unsigned int st_gen; + unsigned int reserved2; /* Reserved for st_atime expansion */ + unsigned int st_blksize; + unsigned long st_blocks; }; #endif /* _ASM_STAT_H */ |