xref: /openbmc/linux/arch/parisc/include/uapi/asm/stat.h (revision 6f52b16c)
16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
270c1674fSDavid Howells #ifndef _PARISC_STAT_H
370c1674fSDavid Howells #define _PARISC_STAT_H
470c1674fSDavid Howells 
570c1674fSDavid Howells #include <linux/types.h>
670c1674fSDavid Howells 
770c1674fSDavid Howells struct stat {
870c1674fSDavid Howells 	unsigned int	st_dev;		/* dev_t is 32 bits on parisc */
99391bc77SHelge Deller 	unsigned int	st_ino;		/* 32 bits */
109391bc77SHelge Deller 	unsigned short	st_mode;	/* 16 bits */
1170c1674fSDavid Howells 	unsigned short	st_nlink;	/* 16 bits */
1270c1674fSDavid Howells 	unsigned short	st_reserved1;	/* old st_uid */
1370c1674fSDavid Howells 	unsigned short	st_reserved2;	/* old st_gid */
1470c1674fSDavid Howells 	unsigned int	st_rdev;
159391bc77SHelge Deller 	signed int	st_size;
169391bc77SHelge Deller 	signed int	st_atime;
1770c1674fSDavid Howells 	unsigned int	st_atime_nsec;
189391bc77SHelge Deller 	signed int	st_mtime;
1970c1674fSDavid Howells 	unsigned int	st_mtime_nsec;
209391bc77SHelge Deller 	signed int	st_ctime;
2170c1674fSDavid Howells 	unsigned int	st_ctime_nsec;
2270c1674fSDavid Howells 	int		st_blksize;
2370c1674fSDavid Howells 	int		st_blocks;
2470c1674fSDavid Howells 	unsigned int	__unused1;	/* ACL stuff */
2570c1674fSDavid Howells 	unsigned int	__unused2;	/* network */
269391bc77SHelge Deller 	unsigned int	__unused3;	/* network */
2770c1674fSDavid Howells 	unsigned int	__unused4;	/* cnodes */
2870c1674fSDavid Howells 	unsigned short	__unused5;	/* netsite */
2970c1674fSDavid Howells 	short		st_fstype;
3070c1674fSDavid Howells 	unsigned int	st_realdev;
3170c1674fSDavid Howells 	unsigned short	st_basemode;
3270c1674fSDavid Howells 	unsigned short	st_spareshort;
339391bc77SHelge Deller 	unsigned int	st_uid;
349391bc77SHelge Deller 	unsigned int	st_gid;
3570c1674fSDavid Howells 	unsigned int	st_spare4[3];
3670c1674fSDavid Howells };
3770c1674fSDavid Howells 
3870c1674fSDavid Howells #define STAT_HAVE_NSEC
3970c1674fSDavid Howells 
4070c1674fSDavid Howells /* This is the struct that 32-bit userspace applications are expecting.
4170c1674fSDavid Howells  * How 64-bit apps are going to be compiled, I have no idea.  But at least
4270c1674fSDavid Howells  * this way, we don't have a wrapper in the kernel.
4370c1674fSDavid Howells  */
4470c1674fSDavid Howells struct stat64 {
4570c1674fSDavid Howells 	unsigned long long	st_dev;
4670c1674fSDavid Howells 	unsigned int		__pad1;
4770c1674fSDavid Howells 
4870c1674fSDavid Howells 	unsigned int		__st_ino;	/* Not actually filled in */
4970c1674fSDavid Howells 	unsigned int		st_mode;
5070c1674fSDavid Howells 	unsigned int		st_nlink;
5170c1674fSDavid Howells 	unsigned int		st_uid;
5270c1674fSDavid Howells 	unsigned int		st_gid;
5370c1674fSDavid Howells 	unsigned long long	st_rdev;
5470c1674fSDavid Howells 	unsigned int		__pad2;
5570c1674fSDavid Howells 	signed long long	st_size;
5670c1674fSDavid Howells 	signed int		st_blksize;
5770c1674fSDavid Howells 
5870c1674fSDavid Howells 	signed long long	st_blocks;
5970c1674fSDavid Howells 	signed int		st_atime;
6070c1674fSDavid Howells 	unsigned int		st_atime_nsec;
6170c1674fSDavid Howells 	signed int		st_mtime;
6270c1674fSDavid Howells 	unsigned int		st_mtime_nsec;
6370c1674fSDavid Howells 	signed int		st_ctime;
6470c1674fSDavid Howells 	unsigned int		st_ctime_nsec;
6570c1674fSDavid Howells 	unsigned long long	st_ino;
6670c1674fSDavid Howells };
6770c1674fSDavid Howells 
6870c1674fSDavid Howells #endif
69