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