diff options
Diffstat (limited to 'arch/arm/include/uapi/asm/stat.h')
| -rw-r--r-- | arch/arm/include/uapi/asm/stat.h | 87 | 
1 files changed, 87 insertions, 0 deletions
diff --git a/arch/arm/include/uapi/asm/stat.h b/arch/arm/include/uapi/asm/stat.h new file mode 100644 index 00000000000..42c0c13999d --- /dev/null +++ b/arch/arm/include/uapi/asm/stat.h @@ -0,0 +1,87 @@ +#ifndef _ASMARM_STAT_H +#define _ASMARM_STAT_H + +struct __old_kernel_stat { +	unsigned short st_dev; +	unsigned short st_ino; +	unsigned short st_mode; +	unsigned short st_nlink; +	unsigned short st_uid; +	unsigned short st_gid; +	unsigned short st_rdev; +	unsigned long  st_size; +	unsigned long  st_atime; +	unsigned long  st_mtime; +	unsigned long  st_ctime; +}; + +#define STAT_HAVE_NSEC  + +struct stat { +#if defined(__ARMEB__) +	unsigned short st_dev; +	unsigned short __pad1; +#else +	unsigned long  st_dev; +#endif +	unsigned long  st_ino; +	unsigned short st_mode; +	unsigned short st_nlink; +	unsigned short st_uid; +	unsigned short st_gid; +#if defined(__ARMEB__) +	unsigned short st_rdev; +	unsigned short __pad2; +#else +	unsigned long  st_rdev; +#endif +	unsigned long  st_size; +	unsigned long  st_blksize; +	unsigned long  st_blocks; +	unsigned long  st_atime; +	unsigned long  st_atime_nsec; +	unsigned long  st_mtime; +	unsigned long  st_mtime_nsec; +	unsigned long  st_ctime; +	unsigned long  st_ctime_nsec; +	unsigned long  __unused4; +	unsigned long  __unused5; +}; + +/* This matches struct stat64 in glibc2.1, hence the absolutely + * insane amounts of padding around dev_t's. + * Note: The kernel zero's the padded region because glibc might read them + * in the hope that the kernel has stretched to using larger sizes. + */ +struct stat64 { +	unsigned long long	st_dev; +	unsigned char   __pad0[4]; + +#define STAT64_HAS_BROKEN_ST_INO	1 +	unsigned long	__st_ino; +	unsigned int	st_mode; +	unsigned int	st_nlink; + +	unsigned long	st_uid; +	unsigned long	st_gid; + +	unsigned long long	st_rdev; +	unsigned char   __pad3[4]; + +	long long	st_size; +	unsigned long	st_blksize; +	unsigned long long st_blocks;	/* Number 512-byte blocks allocated. */ + +	unsigned long	st_atime; +	unsigned long	st_atime_nsec; + +	unsigned long	st_mtime; +	unsigned long	st_mtime_nsec; + +	unsigned long	st_ctime; +	unsigned long	st_ctime_nsec; + +	unsigned long long	st_ino; +}; + +#endif  |