1#ifndef _CRIS_STAT_H
2#define _CRIS_STAT_H
3
4/* Keep this a verbatim copy of i386 version; tweak CRIS-specific bits in
5   the kernel if necessary.  */
6
7struct __old_kernel_stat {
8	unsigned short st_dev;
9	unsigned short st_ino;
10	unsigned short st_mode;
11	unsigned short st_nlink;
12	unsigned short st_uid;
13	unsigned short st_gid;
14	unsigned short st_rdev;
15	unsigned long  st_size;
16	unsigned long  st_atime;
17	unsigned long  st_mtime;
18	unsigned long  st_ctime;
19};
20
21#define STAT_HAVE_NSEC 1
22
23struct stat {
24	unsigned long  st_dev;
25	unsigned long  st_ino;
26	unsigned short st_mode;
27	unsigned short st_nlink;
28	unsigned short st_uid;
29	unsigned short st_gid;
30	unsigned long  st_rdev;
31	unsigned long  st_size;
32	unsigned long  st_blksize;
33	unsigned long  st_blocks;
34	unsigned long  st_atime;
35	unsigned long  st_atime_nsec;
36	unsigned long  st_mtime;
37	unsigned long  st_mtime_nsec;
38	unsigned long  st_ctime;
39	unsigned long  st_ctime_nsec;
40	unsigned long  __unused4;
41	unsigned long  __unused5;
42};
43
44/* This matches struct stat64 in glibc2.1, hence the absolutely
45 * insane amounts of padding around dev_t's.
46 */
47struct stat64 {
48	unsigned long long	st_dev;
49	unsigned char	__pad0[4];
50
51#define STAT64_HAS_BROKEN_ST_INO	1
52	unsigned long	__st_ino;
53
54	unsigned int	st_mode;
55	unsigned int	st_nlink;
56
57	unsigned long	st_uid;
58	unsigned long	st_gid;
59
60	unsigned long long	st_rdev;
61	unsigned char	__pad3[4];
62
63	long long	st_size;
64	unsigned long	st_blksize;
65
66	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */
67	unsigned long	__pad4;		/* future possible st_blocks high bits */
68
69	unsigned long	st_atime;
70	unsigned long	st_atime_nsec;
71
72	unsigned long	st_mtime;
73	unsigned long	st_mtime_nsec;
74
75	unsigned long	st_ctime;
76	unsigned long	st_ctime_nsec;	/* will be high 32 bits of ctime someday */
77
78	unsigned long long	st_ino;
79};
80
81#endif
82