162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci#ifndef _PARISC_STAT_H
362306a36Sopenharmony_ci#define _PARISC_STAT_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/types.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_cistruct stat {
862306a36Sopenharmony_ci	unsigned int	st_dev;		/* dev_t is 32 bits on parisc */
962306a36Sopenharmony_ci	unsigned int	st_ino;		/* 32 bits */
1062306a36Sopenharmony_ci	unsigned short	st_mode;	/* 16 bits */
1162306a36Sopenharmony_ci	unsigned short	st_nlink;	/* 16 bits */
1262306a36Sopenharmony_ci	unsigned short	st_reserved1;	/* old st_uid */
1362306a36Sopenharmony_ci	unsigned short	st_reserved2;	/* old st_gid */
1462306a36Sopenharmony_ci	unsigned int	st_rdev;
1562306a36Sopenharmony_ci	signed int	st_size;
1662306a36Sopenharmony_ci	signed int	st_atime;
1762306a36Sopenharmony_ci	unsigned int	st_atime_nsec;
1862306a36Sopenharmony_ci	signed int	st_mtime;
1962306a36Sopenharmony_ci	unsigned int	st_mtime_nsec;
2062306a36Sopenharmony_ci	signed int	st_ctime;
2162306a36Sopenharmony_ci	unsigned int	st_ctime_nsec;
2262306a36Sopenharmony_ci	int		st_blksize;
2362306a36Sopenharmony_ci	int		st_blocks;
2462306a36Sopenharmony_ci	unsigned int	__unused1;	/* ACL stuff */
2562306a36Sopenharmony_ci	unsigned int	__unused2;	/* network */
2662306a36Sopenharmony_ci	unsigned int	__unused3;	/* network */
2762306a36Sopenharmony_ci	unsigned int	__unused4;	/* cnodes */
2862306a36Sopenharmony_ci	unsigned short	__unused5;	/* netsite */
2962306a36Sopenharmony_ci	short		st_fstype;
3062306a36Sopenharmony_ci	unsigned int	st_realdev;
3162306a36Sopenharmony_ci	unsigned short	st_basemode;
3262306a36Sopenharmony_ci	unsigned short	st_spareshort;
3362306a36Sopenharmony_ci	unsigned int	st_uid;
3462306a36Sopenharmony_ci	unsigned int	st_gid;
3562306a36Sopenharmony_ci	unsigned int	st_spare4[3];
3662306a36Sopenharmony_ci};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci#define STAT_HAVE_NSEC
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci/* This is the struct that 32-bit userspace applications are expecting.
4162306a36Sopenharmony_ci * How 64-bit apps are going to be compiled, I have no idea.  But at least
4262306a36Sopenharmony_ci * this way, we don't have a wrapper in the kernel.
4362306a36Sopenharmony_ci */
4462306a36Sopenharmony_cistruct stat64 {
4562306a36Sopenharmony_ci	unsigned long long	st_dev;
4662306a36Sopenharmony_ci	unsigned int		__pad1;
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	unsigned int		__st_ino;	/* Not actually filled in */
4962306a36Sopenharmony_ci	unsigned int		st_mode;
5062306a36Sopenharmony_ci	unsigned int		st_nlink;
5162306a36Sopenharmony_ci	unsigned int		st_uid;
5262306a36Sopenharmony_ci	unsigned int		st_gid;
5362306a36Sopenharmony_ci	unsigned long long	st_rdev;
5462306a36Sopenharmony_ci	unsigned int		__pad2;
5562306a36Sopenharmony_ci	signed long long	st_size;
5662306a36Sopenharmony_ci	signed int		st_blksize;
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	signed long long	st_blocks;
5962306a36Sopenharmony_ci	signed int		st_atime;
6062306a36Sopenharmony_ci	unsigned int		st_atime_nsec;
6162306a36Sopenharmony_ci	signed int		st_mtime;
6262306a36Sopenharmony_ci	unsigned int		st_mtime_nsec;
6362306a36Sopenharmony_ci	signed int		st_ctime;
6462306a36Sopenharmony_ci	unsigned int		st_ctime_nsec;
6562306a36Sopenharmony_ci	unsigned long long	st_ino;
6662306a36Sopenharmony_ci};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci#endif
69