patch-2.4.0-test3 linux/include/asm-mips/stat.h

Next file: linux/include/asm-mips/system.h
Previous file: linux/include/asm-mips/socket.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test2/linux/include/asm-mips/stat.h linux/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 @@
 	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 */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)