xref: /linux/arch/arm64/include/asm/stat.h (revision 5bdd5fbb35ab0fe21bf2263106f51c5bee466a07)
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/compat_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