1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef __SPARC_STAT_H 3 #define __SPARC_STAT_H 4 5 #include <linux/types.h> 6 7 #if defined(__sparc__) && defined(__arch64__) 8 /* 64 bit sparc */ 9 struct stat { 10 unsigned int st_dev; 11 ino_t st_ino; 12 mode_t st_mode; 13 short st_nlink; 14 uid_t st_uid; 15 gid_t st_gid; 16 unsigned int st_rdev; 17 off_t st_size; 18 time_t st_atime; 19 time_t st_mtime; 20 time_t st_ctime; 21 off_t st_blksize; 22 off_t st_blocks; 23 unsigned long __unused4[2]; 24 }; 25 26 struct stat64 { 27 unsigned long st_dev; 28 unsigned long st_ino; 29 unsigned long st_nlink; 30 31 unsigned int st_mode; 32 unsigned int st_uid; 33 unsigned int st_gid; 34 unsigned int __pad0; 35 36 unsigned long st_rdev; 37 long st_size; 38 long st_blksize; 39 long st_blocks; 40 41 unsigned long st_atime; 42 unsigned long st_atime_nsec; 43 unsigned long st_mtime; 44 unsigned long st_mtime_nsec; 45 unsigned long st_ctime; 46 unsigned long st_ctime_nsec; 47 long __unused[3]; 48 }; 49 50 #else 51 /* 32 bit sparc */ 52 struct stat { 53 unsigned short st_dev; 54 ino_t st_ino; 55 mode_t st_mode; 56 short st_nlink; 57 unsigned short st_uid; 58 unsigned short st_gid; 59 unsigned short st_rdev; 60 off_t st_size; 61 time_t st_atime; 62 unsigned long st_atime_nsec; 63 time_t st_mtime; 64 unsigned long st_mtime_nsec; 65 time_t st_ctime; 66 unsigned long st_ctime_nsec; 67 off_t st_blksize; 68 off_t st_blocks; 69 unsigned long __unused4[2]; 70 }; 71 72 #define STAT_HAVE_NSEC 1 73 74 struct stat64 { 75 unsigned long long st_dev; 76 77 unsigned long long st_ino; 78 79 unsigned int st_mode; 80 unsigned int st_nlink; 81 82 unsigned int st_uid; 83 unsigned int st_gid; 84 85 unsigned long long st_rdev; 86 87 unsigned char __pad3[8]; 88 89 long long st_size; 90 unsigned int st_blksize; 91 92 unsigned char __pad4[8]; 93 unsigned int st_blocks; 94 95 unsigned int st_atime; 96 unsigned int st_atime_nsec; 97 98 unsigned int st_mtime; 99 unsigned int st_mtime_nsec; 100 101 unsigned int st_ctime; 102 unsigned int st_ctime_nsec; 103 104 unsigned int __unused4; 105 unsigned int __unused5; 106 }; 107 #endif /* defined(__sparc__) && defined(__arch64__) */ 108 #endif /* __SPARC_STAT_H */ 109