• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _ASM_X86_STAT_H
2 #define _ASM_X86_STAT_H
3 
4 #define STAT_HAVE_NSEC 1
5 
6 #ifdef __i386__
7 struct 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  */
33 struct 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 
68 struct 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 */
93 struct __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