Line data Source code
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 1 : };
113 1 :
114 7 : #endif /* _ASM_X86_STAT_H */
|