1#ifndef _ASM_X86_STAT_H
2#define _ASM_X86_STAT_H
3
4#define STAT_HAVE_NSEC 1
5
6#ifdef __i386__
7struct stat {
8	unsigned long  st_dev;
9	unsigned long  st_ino;
10	unsigned short st_mode;
11	unsigned short st_nlink;
12	unsigned short st_uid;
13	unsigned short st_gid;
14	unsigned long  st_rdev;
15	unsigned long  st_size;
16	unsigned long  st_blksize;
17	unsigned long  st_blocks;
18	unsigned long  st_atime;
19	unsigned long  st_atime_nsec;
20	unsigned long  st_mtime;
21	unsigned long  st_mtime_nsec;
22	unsigned long  st_ctime;
23	unsigned long  st_ctime_nsec;
24	unsigned long  __unused4;
25	unsigned long  __unused5;
26};
27
28#define STAT64_HAS_BROKEN_ST_INO	1
29
30/* This matches struct stat64 in glibc2.1, hence the absolutely
31 * insane amounts of padding around dev_t's.
32 */
33struct stat64 {
34	unsigned long long	st_dev;
35	unsigned char	__pad0[4];
36
37	unsigned long	__st_ino;
38
39	unsigned int	st_mode;
40	unsigned int	st_nlink;
41
42	unsigned long	st_uid;
43	unsigned long	st_gid;
44
45	unsigned long long	st_rdev;
46	unsigned char	__pad3[4];
47
48	long long	st_size;
49	unsigned long	st_blksize;
50
51	/* Number 512-byte blocks allocated. */
52	unsigned long long	st_blocks;
53
54	unsigned long	st_atime;
55	unsigned long	st_atime_nsec;
56
57	unsigned long	st_mtime;
58	unsigned int	st_mtime_nsec;
59
60	unsigned long	st_ctime;
61	unsigned long	st_ctime_nsec;
62
63	unsigned long long	st_ino;
64};
65
66#else /* __i386__ */
67
68struct stat {
69	unsigned long	st_dev;
70	unsigned long	st_ino;
71	unsigned long	st_nlink;
72
73	unsigned int	st_mode;
74	unsigned int	st_uid;
75	unsigned int	st_gid;
76	unsigned int	__pad0;
77	unsigned long	st_rdev;
78	long		st_size;
79	long		st_blksize;
80	long		st_blocks;	/* Number 512-byte blocks allocated. */
81
82	unsigned long	st_atime;
83	unsigned long	st_atime_nsec;
84	unsigned long	st_mtime;
85	unsigned long	st_mtime_nsec;
86	unsigned long	st_ctime;
87	unsigned long   st_ctime_nsec;
88	long		__unused[3];
89};
90#endif
91
92/* for 32bit emulation and 32 bit kernels */
93struct __old_kernel_stat {
94	unsigned short st_dev;
95	unsigned short st_ino;
96	unsigned short st_mode;
97	unsigned short st_nlink;
98	unsigned short st_uid;
99	unsigned short st_gid;
100	unsigned short st_rdev;
101#ifdef __i386__
102	unsigned long  st_size;
103	unsigned long  st_atime;
104	unsigned long  st_mtime;
105	unsigned long  st_ctime;
106#else
107	unsigned int  st_size;
108	unsigned int  st_atime;
109	unsigned int  st_mtime;
110	unsigned int  st_ctime;
111#endif
112};
113
114#endif
115