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