1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* !! 2 #ifndef _M68K_STAT_H 3 * This file is subject to the terms and condi !! 3 #define _M68K_STAT_H 4 * License. See the file "COPYING" in the mai << 5 * for more details. << 6 * << 7 * Copyright (C) 1995, 1999, 2000 Ralf Baechle << 8 * Copyright (C) 2000 Silicon Graphics, Inc. << 9 */ << 10 #ifndef _ASM_STAT_H << 11 #define _ASM_STAT_H << 12 << 13 #include <linux/types.h> << 14 << 15 #include <asm/sgidefs.h> << 16 4 17 #if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_S !! 5 struct __old_kernel_stat { >> 6 unsigned short st_dev; >> 7 unsigned short st_ino; >> 8 unsigned short st_mode; >> 9 unsigned short st_nlink; >> 10 unsigned short st_uid; >> 11 unsigned short st_gid; >> 12 unsigned short st_rdev; >> 13 unsigned long st_size; >> 14 unsigned long st_atime; >> 15 unsigned long st_mtime; >> 16 unsigned long st_ctime; >> 17 }; 18 18 19 struct stat { 19 struct stat { 20 unsigned st_dev; !! 20 unsigned short st_dev; 21 long st_pad1[3]; !! 21 unsigned short __pad1; 22 __kernel_ino_t st_ino; !! 22 unsigned long st_ino; 23 __kernel_mode_t st_mode; !! 23 unsigned short st_mode; 24 __u32 st_nlink; !! 24 unsigned short st_nlink; 25 __kernel_uid32_t st_uid; !! 25 unsigned short st_uid; 26 __kernel_gid32_t st_gid; !! 26 unsigned short st_gid; 27 unsigned st_rdev; !! 27 unsigned short st_rdev; 28 long st_pad2[2]; !! 28 unsigned short __pad2; 29 long st_size; !! 29 unsigned long st_size; 30 long st_pad3; !! 30 unsigned long st_blksize; 31 /* !! 31 unsigned long st_blocks; 32 * Actually this should be timestruc_t !! 32 unsigned long st_atime; 33 * but we don't have it under Linux. !! 33 unsigned long __unused1; 34 */ !! 34 unsigned long st_mtime; 35 long st_atime; !! 35 unsigned long __unused2; 36 long st_atime_nsec; !! 36 unsigned long st_ctime; 37 long st_mtime; !! 37 unsigned long __unused3; 38 long st_mtime_nsec; !! 38 unsigned long __unused4; 39 long st_ctime; !! 39 unsigned long __unused5; 40 long st_ctime_nsec; << 41 long st_blksize; << 42 long st_blocks; << 43 long st_pad4[14]; << 44 }; 40 }; 45 41 46 /* !! 42 /* This matches struct stat64 in glibc2.1, hence the absolutely 47 * This matches struct stat64 in glibc2.1, hen !! 43 * insane amounts of padding around dev_t's. 48 * amounts of padding around dev_t's. The mem << 49 * struct stat of the 64-bit kernel. << 50 */ 44 */ 51 << 52 struct stat64 { 45 struct stat64 { 53 unsigned long st_dev; !! 46 unsigned long long st_dev; 54 unsigned long st_pad0[3]; /* Res !! 47 unsigned char __pad1[2]; 55 48 56 unsigned long long st_ino; !! 49 #define STAT64_HAS_BROKEN_ST_INO 1 >> 50 unsigned long __st_ino; 57 51 58 __kernel_mode_t st_mode; !! 52 unsigned int st_mode; 59 __u32 st_nlink; !! 53 unsigned int st_nlink; 60 54 61 __kernel_uid32_t st_uid; !! 55 unsigned long st_uid; 62 __kernel_gid32_t st_gid; !! 56 unsigned long st_gid; 63 57 64 unsigned long st_rdev; !! 58 unsigned long long st_rdev; 65 unsigned long st_pad1[3]; /* Res !! 59 unsigned char __pad3[2]; 66 60 67 long long st_size; 61 long long st_size; 68 << 69 /* << 70 * Actually this should be timestruc_t << 71 * but we don't have it under Linux. << 72 */ << 73 long st_atime; << 74 unsigned long st_atime_nsec; /* Res << 75 << 76 long st_mtime; << 77 unsigned long st_mtime_nsec; /* Res << 78 << 79 long st_ctime; << 80 unsigned long st_ctime_nsec; /* Res << 81 << 82 unsigned long st_blksize; 62 unsigned long st_blksize; 83 unsigned long st_pad2; << 84 << 85 long long st_blocks; << 86 }; << 87 63 88 #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ !! 64 unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ 89 65 90 #if _MIPS_SIM == _MIPS_SIM_ABI64 !! 66 unsigned long st_atime; >> 67 unsigned long st_atime_nsec; 91 68 92 /* The memory layout is the same as of struct !! 69 unsigned long st_mtime; 93 struct stat { !! 70 unsigned long st_mtime_nsec; 94 unsigned int st_dev; << 95 unsigned int st_pad0[3]; /* << 96 << 97 unsigned long st_ino; << 98 << 99 __kernel_mode_t st_mode; << 100 __u32 st_nlink; << 101 << 102 __kernel_uid32_t st_uid; << 103 __kernel_gid32_t st_gid; << 104 << 105 unsigned int st_rdev; << 106 unsigned int st_pad1[3]; /* << 107 << 108 long st_size; << 109 71 110 /* !! 72 unsigned long st_ctime; 111 * Actually this should be timestruc_t !! 73 unsigned long st_ctime_nsec; 112 * but we don't have it under Linux. << 113 */ << 114 unsigned int st_atime; << 115 unsigned int st_atime_nsec; << 116 74 117 unsigned int st_mtime; !! 75 unsigned long long st_ino; 118 unsigned int st_mtime_nsec; << 119 << 120 unsigned int st_ctime; << 121 unsigned int st_ctime_nsec; << 122 << 123 unsigned int st_blksize; << 124 unsigned int st_pad2; << 125 << 126 unsigned long st_blocks; << 127 }; 76 }; 128 77 129 #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ !! 78 #endif /* _M68K_STAT_H */ 130 << 131 #define STAT_HAVE_NSEC 1 << 132 << 133 #endif /* _ASM_STAT_H */ << 134 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.