Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 |