1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2012 ARM Ltd.
4  */
5 #ifndef __ASM_STAT_H
6 #define __ASM_STAT_H
7 
8 #include <uapi/asm/stat.h>
9 
10 #ifdef CONFIG_COMPAT
11 
12 #include <linux/time.h>
13 #include <asm/compat.h>
14 
15 /*
16  * struct stat64 is needed for compat tasks only. Its definition is different
17  * from the generic struct stat64.
18  */
19 struct stat64 {
20 	compat_u64	st_dev;
21 	unsigned char   __pad0[4];
22 
23 #define STAT64_HAS_BROKEN_ST_INO	1
24 	compat_ulong_t	__st_ino;
25 	compat_uint_t	st_mode;
26 	compat_uint_t	st_nlink;
27 
28 	compat_ulong_t	st_uid;
29 	compat_ulong_t	st_gid;
30 
31 	compat_u64	st_rdev;
32 	unsigned char   __pad3[4];
33 
34 	compat_s64	st_size;
35 	compat_ulong_t	st_blksize;
36 	compat_u64	st_blocks;	/* Number of 512-byte blocks allocated. */
37 
38 	compat_ulong_t	st_atime;
39 	compat_ulong_t	st_atime_nsec;
40 
41 	compat_ulong_t	st_mtime;
42 	compat_ulong_t	st_mtime_nsec;
43 
44 	compat_ulong_t	st_ctime;
45 	compat_ulong_t	st_ctime_nsec;
46 
47 	compat_u64	st_ino;
48 };
49 
50 #endif
51 #endif
52