1 /* 2 * Copyright (C) 2012 ARM Ltd. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 #ifndef __ASM_STAT_H 17 #define __ASM_STAT_H 18 19 #include <uapi/asm/stat.h> 20 21 #ifdef CONFIG_COMPAT 22 23 #include <linux/time.h> 24 #include <asm/compat.h> 25 26 /* 27 * struct stat64 is needed for compat tasks only. Its definition is different 28 * from the generic struct stat64. 29 */ 30 struct stat64 { 31 compat_u64 st_dev; 32 unsigned char __pad0[4]; 33 34 #define STAT64_HAS_BROKEN_ST_INO 1 35 compat_ulong_t __st_ino; 36 compat_uint_t st_mode; 37 compat_uint_t st_nlink; 38 39 compat_ulong_t st_uid; 40 compat_ulong_t st_gid; 41 42 compat_u64 st_rdev; 43 unsigned char __pad3[4]; 44 45 compat_s64 st_size; 46 compat_ulong_t st_blksize; 47 compat_u64 st_blocks; /* Number of 512-byte blocks allocated. */ 48 49 compat_ulong_t st_atime; 50 compat_ulong_t st_atime_nsec; 51 52 compat_ulong_t st_mtime; 53 compat_ulong_t st_mtime_nsec; 54 55 compat_ulong_t st_ctime; 56 compat_ulong_t st_ctime_nsec; 57 58 compat_u64 st_ino; 59 }; 60 61 #endif 62 #endif 63