Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/arm/include/uapi/asm/stat.h
26299 views
1
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
#ifndef _ASMARM_STAT_H
3
#define _ASMARM_STAT_H
4
5
struct __old_kernel_stat {
6
unsigned short st_dev;
7
unsigned short st_ino;
8
unsigned short st_mode;
9
unsigned short st_nlink;
10
unsigned short st_uid;
11
unsigned short st_gid;
12
unsigned short st_rdev;
13
unsigned long st_size;
14
unsigned long st_atime;
15
unsigned long st_mtime;
16
unsigned long st_ctime;
17
};
18
19
#define STAT_HAVE_NSEC
20
21
struct stat {
22
#if defined(__ARMEB__)
23
unsigned short st_dev;
24
unsigned short __pad1;
25
#else
26
unsigned long st_dev;
27
#endif
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
#if defined(__ARMEB__)
34
unsigned short st_rdev;
35
unsigned short __pad2;
36
#else
37
unsigned long st_rdev;
38
#endif
39
unsigned long st_size;
40
unsigned long st_blksize;
41
unsigned long st_blocks;
42
unsigned long st_atime;
43
unsigned long st_atime_nsec;
44
unsigned long st_mtime;
45
unsigned long st_mtime_nsec;
46
unsigned long st_ctime;
47
unsigned long st_ctime_nsec;
48
unsigned long __unused4;
49
unsigned long __unused5;
50
};
51
52
/* This matches struct stat64 in glibc2.1, hence the absolutely
53
* insane amounts of padding around dev_t's.
54
* Note: The kernel zero's the padded region because glibc might read them
55
* in the hope that the kernel has stretched to using larger sizes.
56
*/
57
struct stat64 {
58
unsigned long long st_dev;
59
unsigned char __pad0[4];
60
61
#define STAT64_HAS_BROKEN_ST_INO 1
62
unsigned long __st_ino;
63
unsigned int st_mode;
64
unsigned int st_nlink;
65
66
unsigned long st_uid;
67
unsigned long st_gid;
68
69
unsigned long long st_rdev;
70
unsigned char __pad3[4];
71
72
long long st_size;
73
unsigned long st_blksize;
74
unsigned long long st_blocks; /* Number 512-byte blocks allocated. */
75
76
unsigned long st_atime;
77
unsigned long st_atime_nsec;
78
79
unsigned long st_mtime;
80
unsigned long st_mtime_nsec;
81
82
unsigned long st_ctime;
83
unsigned long st_ctime_nsec;
84
85
unsigned long long st_ino;
86
};
87
88
#endif
89
90