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