aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/uapi/asm/stat.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/include/uapi/asm/stat.h')
-rw-r--r--arch/s390/include/uapi/asm/stat.h103
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__
11struct __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
25struct 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 */
51struct 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
78struct 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