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