diff options
Diffstat (limited to 'arch/s390/include/uapi/asm/stat.h')
-rw-r--r-- | arch/s390/include/uapi/asm/stat.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/arch/s390/include/uapi/asm/stat.h b/arch/s390/include/uapi/asm/stat.h new file mode 100644 index 000000000000..b4ca97d91466 --- /dev/null +++ b/arch/s390/include/uapi/asm/stat.h | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | * Derived from "include/asm-i386/stat.h" | ||
5 | */ | ||
6 | |||
7 | #ifndef _S390_STAT_H | ||
8 | #define _S390_STAT_H | ||
9 | |||
10 | #ifndef __s390x__ | ||
11 | struct __old_kernel_stat { | ||
12 | unsigned short st_dev; | ||
13 | unsigned short st_ino; | ||
14 | unsigned short st_mode; | ||
15 | unsigned short st_nlink; | ||
16 | unsigned short st_uid; | ||
17 | unsigned short st_gid; | ||
18 | unsigned short st_rdev; | ||
19 | unsigned long st_size; | ||
20 | unsigned long st_atime; | ||
21 | unsigned long st_mtime; | ||
22 | unsigned long st_ctime; | ||
23 | }; | ||
24 | |||
25 | struct stat { | ||
26 | unsigned short st_dev; | ||
27 | unsigned short __pad1; | ||
28 | unsigned long st_ino; | ||
29 | unsigned short st_mode; | ||
30 | unsigned short st_nlink; | ||
31 | unsigned short st_uid; | ||
32 | unsigned short st_gid; | ||
33 | unsigned short st_rdev; | ||
34 | unsigned short __pad2; | ||
35 | unsigned long st_size; | ||
36 | unsigned long st_blksize; | ||
37 | unsigned long st_blocks; | ||
38 | unsigned long st_atime; | ||
39 | unsigned long st_atime_nsec; | ||
40 | unsigned long st_mtime; | ||
41 | unsigned long st_mtime_nsec; | ||
42 | unsigned long st_ctime; | ||
43 | unsigned long st_ctime_nsec; | ||
44 | unsigned long __unused4; | ||
45 | unsigned long __unused5; | ||
46 | }; | ||
47 | |||
48 | /* This matches struct stat64 in glibc2.1, hence the absolutely | ||
49 | * insane amounts of padding around dev_t's. | ||
50 | */ | ||
51 | struct stat64 { | ||
52 | unsigned long long st_dev; | ||
53 | unsigned int __pad1; | ||
54 | #define STAT64_HAS_BROKEN_ST_INO 1 | ||
55 | unsigned long __st_ino; | ||
56 | unsigned int st_mode; | ||
57 | unsigned int st_nlink; | ||
58 | unsigned long st_uid; | ||
59 | unsigned long st_gid; | ||
60 | unsigned long long st_rdev; | ||
61 | unsigned int __pad3; | ||
62 | long long st_size; | ||
63 | unsigned long st_blksize; | ||
64 | unsigned char __pad4[4]; | ||
65 | unsigned long __pad5; /* future possible st_blocks high bits */ | ||
66 | unsigned long st_blocks; /* Number 512-byte blocks allocated. */ | ||
67 | unsigned long st_atime; | ||
68 | unsigned long st_atime_nsec; | ||
69 | unsigned long st_mtime; | ||
70 | unsigned long st_mtime_nsec; | ||
71 | unsigned long st_ctime; | ||
72 | unsigned long st_ctime_nsec; /* will be high 32 bits of ctime someday */ | ||
73 | unsigned long long st_ino; | ||
74 | }; | ||
75 | |||
76 | #else /* __s390x__ */ | ||
77 | |||
78 | struct stat { | ||
79 | unsigned long st_dev; | ||
80 | unsigned long st_ino; | ||
81 | unsigned long st_nlink; | ||
82 | unsigned int st_mode; | ||
83 | unsigned int st_uid; | ||
84 | unsigned int st_gid; | ||
85 | unsigned int __pad1; | ||
86 | unsigned long st_rdev; | ||
87 | unsigned long st_size; | ||
88 | unsigned long st_atime; | ||
89 | unsigned long st_atime_nsec; | ||
90 | unsigned long st_mtime; | ||
91 | unsigned long st_mtime_nsec; | ||
92 | unsigned long st_ctime; | ||
93 | unsigned long st_ctime_nsec; | ||
94 | unsigned long st_blksize; | ||
95 | long st_blocks; | ||
96 | unsigned long __unused[3]; | ||
97 | }; | ||
98 | |||
99 | #endif /* __s390x__ */ | ||
100 | |||
101 | #define STAT_HAVE_NSEC 1 | ||
102 | |||
103 | #endif | ||