glibc/sysdeps/unix/sysv/linux/mips/kernel_stat.h
Alexandre Oliva 743f1874ad * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New. * sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New. * sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available on mips n32. * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why XSTAT_IS_XSTAT64 must not be used for mips n64. Use 64-bit data structure on n32 as well. * sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant data types on n32 and n64.
2003-04-05  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New.
	* sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New.
	* sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available
	on mips n32.
	* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why 
	XSTAT_IS_XSTAT64 must not be used for mips n64.  Use 64-bit data
	structure on n32 as well.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant
	data types on n32 and n64.
2003-04-05 19:57:35 +00:00

57 lines
1.4 KiB
C

/* As tempting as it is to define XSTAT_IS_XSTAT64 for n64, the
userland data structures are not identical, because of different
padding. */
/* Definition of `struct stat' used in the kernel. */
#if _MIPS_SIM != _MIPS_SIM_ABI32
struct kernel_stat
{
unsigned int st_dev;
unsigned int __pad1[3];
unsigned long long st_ino;
unsigned int st_mode;
unsigned int st_nlink;
int st_uid;
int st_gid;
unsigned int st_rdev;
unsigned int __pad2[3];
long long st_size;
unsigned int st_atime;
unsigned int __unused1;
unsigned int st_mtime;
unsigned int __unused2;
unsigned int st_ctime;
unsigned int __unused3;
unsigned int st_blksize;
unsigned int __pad3;
unsigned long long st_blocks;
};
#else
struct kernel_stat
{
unsigned long int st_dev;
long int __pad1[3]; /* Reserved for network id */
unsigned long int st_ino;
unsigned long int st_mode;
unsigned long int st_nlink;
long int st_uid;
long int st_gid;
unsigned long int st_rdev;
long int __pad2[2];
long int st_size;
long int __pad3;
long int st_atime;
long int __unused1;
long int st_mtime;
long int __unused2;
long int st_ctime;
long int __unused3;
long int st_blksize;
long int st_blocks;
char st_fstype[16]; /* Filesystem type name, unsupported */
long st_pad4[8];
/* Linux specific fields */
unsigned int st_flags;
unsigned int st_gen;
};
#endif