1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef __SPARC_STAT_H !! 2 #ifndef _M68K_STAT_H 3 #define __SPARC_STAT_H !! 3 #define _M68K_STAT_H 4 4 5 #include <linux/types.h> !! 5 struct __old_kernel_stat { 6 !! 6 unsigned short st_dev; 7 #if defined(__sparc__) && defined(__arch64__) !! 7 unsigned short st_ino; 8 /* 64 bit sparc */ !! 8 unsigned short st_mode; 9 struct stat { !! 9 unsigned short st_nlink; 10 unsigned int st_dev; !! 10 unsigned short st_uid; 11 __kernel_ino_t st_ino; !! 11 unsigned short st_gid; 12 __kernel_mode_t st_mode; !! 12 unsigned short st_rdev; 13 short st_nlink; !! 13 unsigned long st_size; 14 __kernel_uid32_t st_uid; !! 14 unsigned long st_atime; 15 __kernel_gid32_t st_gid; !! 15 unsigned long st_mtime; 16 unsigned int st_rdev; !! 16 unsigned long st_ctime; 17 long st_size; << 18 long st_atime; << 19 long st_mtime; << 20 long st_ctime; << 21 long st_blksize; << 22 long 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 }; 17 }; 49 18 50 #else << 51 /* 32 bit sparc */ << 52 struct stat { 19 struct stat { 53 unsigned short st_dev; !! 20 unsigned short st_dev; 54 __kernel_ino_t st_ino; !! 21 unsigned short __pad1; 55 __kernel_mode_t st_mode; !! 22 unsigned long st_ino; 56 short st_nlink; !! 23 unsigned short st_mode; 57 unsigned short st_uid; !! 24 unsigned short st_nlink; 58 unsigned short st_gid; !! 25 unsigned short st_uid; 59 unsigned short st_rdev; !! 26 unsigned short st_gid; 60 long st_size; !! 27 unsigned short st_rdev; 61 long st_atime; !! 28 unsigned short __pad2; 62 unsigned long st_atime_nsec; !! 29 unsigned long st_size; 63 long st_mtime; !! 30 unsigned long st_blksize; 64 unsigned long st_mtime_nsec; !! 31 unsigned long st_blocks; 65 long st_ctime; !! 32 unsigned long st_atime; 66 unsigned long st_ctime_nsec; !! 33 unsigned long __unused1; 67 long st_blksize; !! 34 unsigned long st_mtime; 68 long st_blocks; !! 35 unsigned long __unused2; 69 unsigned long __unused4[2]; !! 36 unsigned long st_ctime; >> 37 unsigned long __unused3; >> 38 unsigned long __unused4; >> 39 unsigned long __unused5; 70 }; 40 }; 71 41 72 #define STAT_HAVE_NSEC 1 !! 42 /* This matches struct stat64 in glibc2.1, hence the absolutely 73 !! 43 * insane amounts of padding around dev_t's. >> 44 */ 74 struct stat64 { 45 struct stat64 { 75 unsigned long long st_dev; !! 46 unsigned long long st_dev; >> 47 unsigned char __pad1[2]; 76 48 77 unsigned long long st_ino; !! 49 #define STAT64_HAS_BROKEN_ST_INO 1 >> 50 unsigned long __st_ino; 78 51 79 unsigned int st_mode; 52 unsigned int st_mode; 80 unsigned int st_nlink; 53 unsigned int st_nlink; 81 54 82 unsigned int st_uid; !! 55 unsigned long st_uid; 83 unsigned int st_gid; !! 56 unsigned long st_gid; 84 << 85 unsigned long long st_rdev; << 86 57 87 unsigned char __pad3[8]; !! 58 unsigned long long st_rdev; >> 59 unsigned char __pad3[2]; 88 60 89 long long st_size; 61 long long st_size; 90 unsigned int st_blksize; !! 62 unsigned long st_blksize; 91 63 92 unsigned char __pad4[8]; !! 64 unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ 93 unsigned int st_blocks; << 94 65 95 unsigned int st_atime; !! 66 unsigned long st_atime; 96 unsigned int st_atime_nsec; !! 67 unsigned long st_atime_nsec; 97 68 98 unsigned int st_mtime; !! 69 unsigned long st_mtime; 99 unsigned int st_mtime_nsec; !! 70 unsigned long st_mtime_nsec; 100 71 101 unsigned int st_ctime; !! 72 unsigned long st_ctime; 102 unsigned int st_ctime_nsec; !! 73 unsigned long st_ctime_nsec; 103 74 104 unsigned int __unused4; !! 75 unsigned long long st_ino; 105 unsigned int __unused5; << 106 }; 76 }; 107 #endif /* defined(__sparc__) && defined(__arch !! 77 108 #endif /* __SPARC_STAT_H */ !! 78 #endif /* _M68K_STAT_H */ 109 79
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.