/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _PARISC_STAT_H #define _PARISC_STAT_H #include <linux/types.h> struct stat { unsigned int st_dev; /* dev_t is 32 bits on parisc */ unsigned int st_ino; /* 32 bits */ unsigned short st_mode; /* 16 bits */ unsigned short st_nlink; /* 16 bits */ unsigned short st_reserved1; /* old st_uid */ unsigned short st_reserved2; /* old st_gid */ unsigned int st_rdev; signed int st_size; signed int st_atime; unsigned int st_atime_nsec; signed int st_mtime; unsigned int st_mtime_nsec; signed int st_ctime; unsigned int st_ctime_nsec; int st_blksize; int st_blocks; unsigned int __unused1; /* ACL stuff */ unsigned int __unused2; /* network */ unsigned int __unused3; /* network */ unsigned int __unused4; /* cnodes */ unsigned short __unused5; /* netsite */ short st_fstype; unsigned int st_realdev; unsigned short st_basemode; unsigned short st_spareshort; unsigned int st_uid; unsigned int st_gid; unsigned int st_spare4[3]; }; #define STAT_HAVE_NSEC /* This is the struct that 32-bit userspace applications are expecting. * How 64-bit apps are going to be compiled, I have no idea. But at least * this way, we don't have a wrapper in the kernel. */ struct stat64 { unsigned long long st_dev; unsigned int __pad1; unsigned int __st_ino; /* Not actually filled in */ unsigned int st_mode; unsigned int st_nlink; unsigned int st_uid; unsigned int st_gid; unsigned long long st_rdev; unsigned int __pad2; signed long long st_size; signed int st_blksize; signed long long st_blocks; signed int st_atime; unsigned int st_atime_nsec; signed int st_mtime; unsigned int st_mtime_nsec; signed int st_ctime; unsigned int st_ctime_nsec; unsigned long long st_ino; }; #endif |