Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/s390/include/uapi/asm/stat.h
26481 views
1
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
/*
3
* S390 version
4
*
5
* Derived from "include/asm-i386/stat.h"
6
*/
7
8
#ifndef _S390_STAT_H
9
#define _S390_STAT_H
10
11
#ifndef __s390x__
12
struct __old_kernel_stat {
13
unsigned short st_dev;
14
unsigned short st_ino;
15
unsigned short st_mode;
16
unsigned short st_nlink;
17
unsigned short st_uid;
18
unsigned short st_gid;
19
unsigned short st_rdev;
20
unsigned long st_size;
21
unsigned long st_atime;
22
unsigned long st_mtime;
23
unsigned long st_ctime;
24
};
25
26
struct stat {
27
unsigned short st_dev;
28
unsigned short __pad1;
29
unsigned long st_ino;
30
unsigned short st_mode;
31
unsigned short st_nlink;
32
unsigned short st_uid;
33
unsigned short st_gid;
34
unsigned short st_rdev;
35
unsigned short __pad2;
36
unsigned long st_size;
37
unsigned long st_blksize;
38
unsigned long st_blocks;
39
unsigned long st_atime;
40
unsigned long st_atime_nsec;
41
unsigned long st_mtime;
42
unsigned long st_mtime_nsec;
43
unsigned long st_ctime;
44
unsigned long st_ctime_nsec;
45
unsigned long __unused4;
46
unsigned long __unused5;
47
};
48
49
/* This matches struct stat64 in glibc2.1, hence the absolutely
50
* insane amounts of padding around dev_t's.
51
*/
52
struct stat64 {
53
unsigned long long st_dev;
54
unsigned int __pad1;
55
#define STAT64_HAS_BROKEN_ST_INO 1
56
unsigned long __st_ino;
57
unsigned int st_mode;
58
unsigned int st_nlink;
59
unsigned long st_uid;
60
unsigned long st_gid;
61
unsigned long long st_rdev;
62
unsigned int __pad3;
63
long long st_size;
64
unsigned long st_blksize;
65
unsigned char __pad4[4];
66
unsigned long __pad5; /* future possible st_blocks high bits */
67
unsigned long st_blocks; /* Number 512-byte blocks allocated. */
68
unsigned long st_atime;
69
unsigned long st_atime_nsec;
70
unsigned long st_mtime;
71
unsigned long st_mtime_nsec;
72
unsigned long st_ctime;
73
unsigned long st_ctime_nsec; /* will be high 32 bits of ctime someday */
74
unsigned long long st_ino;
75
};
76
77
#else /* __s390x__ */
78
79
struct stat {
80
unsigned long st_dev;
81
unsigned long st_ino;
82
unsigned long st_nlink;
83
unsigned int st_mode;
84
unsigned int st_uid;
85
unsigned int st_gid;
86
unsigned int __pad1;
87
unsigned long st_rdev;
88
unsigned long st_size;
89
unsigned long st_atime;
90
unsigned long st_atime_nsec;
91
unsigned long st_mtime;
92
unsigned long st_mtime_nsec;
93
unsigned long st_ctime;
94
unsigned long st_ctime_nsec;
95
unsigned long st_blksize;
96
long st_blocks;
97
unsigned long __unused[3];
98
};
99
100
#endif /* __s390x__ */
101
102
#define STAT_HAVE_NSEC 1
103
104
#endif
105
106