glibc/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
Adhemerval Zanella 4b221ec9ee linux: Fix STATFS_IS_STATFS64 definition
aarch64, arc, ia64, mips64, powerpc64, riscv32, riscv64, s390x, sparc64,
and x86_64 defines STATFS_IS_STATFS64 to 0, but all of them alias
statfs to statfs64 and the struct statfs has the same and layout of
struct statfs64.

The correct definition will be used on the [f]statfs[64] consolidation.

This patch does not change code generation since the symbols are
implemented using the auto-generation syscall for all the aforementioned
ABIs.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2021-02-11 07:57:57 -03:00

59 lines
1.4 KiB
C

#ifndef _KERNEL_STAT_H
#define _KERNEL_STAT_H
/* Definition of `struct stat' used in the kernel */
struct kernel_stat
{
unsigned int st_dev;
unsigned long int st_ino;
unsigned int st_mode;
short int st_nlink;
unsigned int st_uid;
unsigned int st_gid;
unsigned int st_rdev;
long int st_size;
long int st_atime_sec;
long int st_mtime_sec;
long int st_ctime_sec;
long int st_blksize;
long int st_blocks;
unsigned long int __glibc_reserved1;
unsigned long int __glibc_reserved2;
};
/* Definition of `struct stat64' used in the kernel. */
struct kernel_stat64
{
unsigned long int st_dev;
unsigned long int st_ino;
unsigned long int st_nlink;
unsigned int st_mode;
unsigned int st_uid;
unsigned int st_gid;
unsigned int __pad0;
unsigned long int st_rdev;
long int st_size;
long int st_blksize;
long int st_blocks;
unsigned long int st_atime_sec;
unsigned long int st_atime_nsec;
unsigned long int st_mtime_sec;
unsigned long int st_mtime_nsec;
unsigned long int st_ctime_sec;
unsigned long int st_ctime_nsec;
long int __glibc_reserved[3];
};
#define STAT_IS_KERNEL_STAT 0
#define STAT64_IS_KERNEL_STAT64 0
#define XSTAT_IS_XSTAT64 1
#ifdef __arch64__
# define STATFS_IS_STATFS64 1
#else
# define STATFS_IS_STATFS64 0
#endif
#endif /* _KERNEL_STAT_H */