1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* !! 2 #ifndef _ALPHA_STAT_H 3 * This file is subject to the terms and condi !! 3 #define _ALPHA_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 << 17 #if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_S << 18 4 19 struct stat { 5 struct stat { 20 unsigned st_dev; !! 6 unsigned int st_dev; 21 long st_pad1[3]; !! 7 unsigned int st_ino; 22 __kernel_ino_t st_ino; !! 8 unsigned int st_mode; 23 __kernel_mode_t st_mode; !! 9 unsigned int st_nlink; 24 __u32 st_nlink; !! 10 unsigned int st_uid; 25 __kernel_uid32_t st_uid; !! 11 unsigned int st_gid; 26 __kernel_gid32_t st_gid; !! 12 unsigned int st_rdev; 27 unsigned st_rdev; << 28 long st_pad2[2]; << 29 long st_size; 13 long st_size; 30 long st_pad3; !! 14 unsigned long st_atime; 31 /* !! 15 unsigned long st_mtime; 32 * Actually this should be timestruc_t !! 16 unsigned long st_ctime; 33 * but we don't have it under Linux. !! 17 unsigned int st_blksize; 34 */ !! 18 unsigned int st_blocks; 35 long st_atime; !! 19 unsigned int st_flags; 36 long st_atime_nsec; !! 20 unsigned int st_gen; 37 long st_mtime; << 38 long st_mtime_nsec; << 39 long st_ctime; << 40 long st_ctime_nsec; << 41 long st_blksize; << 42 long st_blocks; << 43 long st_pad4[14]; << 44 }; 21 }; 45 22 46 /* !! 23 /* The stat64 structure increases the size of dev_t, blkcnt_t, adds 47 * This matches struct stat64 in glibc2.1, hen !! 24 nanosecond resolution times, and padding for expansion. */ 48 * amounts of padding around dev_t's. The mem << 49 * struct stat of the 64-bit kernel. << 50 */ << 51 25 52 struct stat64 { 26 struct stat64 { 53 unsigned long st_dev; 27 unsigned long st_dev; 54 unsigned long st_pad0[3]; /* Res !! 28 unsigned long st_ino; 55 << 56 unsigned long long st_ino; << 57 << 58 __kernel_mode_t st_mode; << 59 __u32 st_nlink; << 60 << 61 __kernel_uid32_t st_uid; << 62 __kernel_gid32_t st_gid; << 63 << 64 unsigned long st_rdev; 29 unsigned long st_rdev; 65 unsigned long st_pad1[3]; /* Res !! 30 long st_size; 66 !! 31 unsigned long st_blocks; 67 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; << 83 unsigned long st_pad2; << 84 << 85 long long st_blocks; << 86 }; << 87 << 88 #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ << 89 << 90 #if _MIPS_SIM == _MIPS_SIM_ABI64 << 91 << 92 /* The memory layout is the same as of struct << 93 struct stat { << 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 << 110 /* << 111 * Actually this should be timestruc_t << 112 * but we don't have it under Linux. << 113 */ << 114 unsigned int st_atime; << 115 unsigned int st_atime_nsec; << 116 << 117 unsigned int st_mtime; << 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 32 126 unsigned long st_blocks; !! 33 unsigned int st_mode; >> 34 unsigned int st_uid; >> 35 unsigned int st_gid; >> 36 unsigned int st_blksize; >> 37 unsigned int st_nlink; >> 38 unsigned int __pad0; >> 39 >> 40 unsigned long st_atime; >> 41 unsigned long st_atime_nsec; >> 42 unsigned long st_mtime; >> 43 unsigned long st_mtime_nsec; >> 44 unsigned long st_ctime; >> 45 unsigned long st_ctime_nsec; >> 46 long __unused[3]; 127 }; 47 }; 128 48 129 #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ !! 49 #endif 130 << 131 #define STAT_HAVE_NSEC 1 << 132 << 133 #endif /* _ASM_STAT_H */ << 134 50
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.