glibc/sysdeps/unix/sysv/linux/mips/kernel_stat.h
Alexandre Oliva e635cc8cc2 * 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