1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _M68K_STAT_H
3#define _M68K_STAT_H
4
5struct __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
19struct stat {
20	unsigned short st_dev;
21	unsigned short __pad1;
22	unsigned long  st_ino;
23	unsigned short st_mode;
24	unsigned short st_nlink;
25	unsigned short st_uid;
26	unsigned short st_gid;
27	unsigned short st_rdev;
28	unsigned short __pad2;
29	unsigned long  st_size;
30	unsigned long  st_blksize;
31	unsigned long  st_blocks;
32	unsigned long  st_atime;
33	unsigned long  __unused1;
34	unsigned long  st_mtime;
35	unsigned long  __unused2;
36	unsigned long  st_ctime;
37	unsigned long  __unused3;
38	unsigned long  __unused4;
39	unsigned long  __unused5;
40};
41
42/* This matches struct stat64 in glibc2.1, hence the absolutely
43 * insane amounts of padding around dev_t's.
44 */
45struct stat64 {
46	unsigned long long	st_dev;
47	unsigned char	__pad1[2];
48
49#define STAT64_HAS_BROKEN_ST_INO	1
50	unsigned long	__st_ino;
51
52	unsigned int	st_mode;
53	unsigned int	st_nlink;
54
55	unsigned long	st_uid;
56	unsigned long	st_gid;
57
58	unsigned long long	st_rdev;
59	unsigned char	__pad3[2];
60
61	long long	st_size;
62	unsigned long	st_blksize;
63
64	unsigned long long	st_blocks;	/* Number 512-byte blocks allocated. */
65
66	unsigned long	st_atime;
67	unsigned long	st_atime_nsec;
68
69	unsigned long	st_mtime;
70	unsigned long	st_mtime_nsec;
71
72	unsigned long	st_ctime;
73	unsigned long	st_ctime_nsec;
74
75	unsigned long long	st_ino;
76};
77
78#endif /* _M68K_STAT_H */
79