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 <asm/compat.h> 24 25 /* 26 * struct stat64 is needed for compat tasks only. Its definition is different 27 * from the generic struct stat64. 28 */ 29 struct stat64 { 30 compat_u64 st_dev; 31 unsigned char __pad0[4]; 32 33 #define STAT64_HAS_BROKEN_ST_INO 1 34 compat_ulong_t __st_ino; 35 compat_uint_t st_mode; 36 compat_uint_t st_nlink; 37 38 compat_ulong_t st_uid; 39 compat_ulong_t st_gid; 40 41 compat_u64 st_rdev; 42 unsigned char __pad3[4]; 43 44 compat_s64 st_size; 45 compat_ulong_t st_blksize; 46 compat_u64 st_blocks; /* Number of 512-byte blocks allocated. */ 47 48 compat_ulong_t st_atime; 49 compat_ulong_t st_atime_nsec; 50 51 compat_ulong_t st_mtime; 52 compat_ulong_t st_mtime_nsec; 53 54 compat_ulong_t st_ctime; 55 compat_ulong_t st_ctime_nsec; 56 57 compat_u64 st_ino; 58 }; 59 60 #endif 61 #endif 62