Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6/linux-mips/linux-dm7025.git] / include / asm-x86 / stat.h
blob5c22dcb5d17e2e49fcae06e6b86db425730dcbad
1 #ifndef _ASM_X86_STAT_H
2 #define _ASM_X86_STAT_H
4 #define STAT_HAVE_NSEC 1
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;
28 #define STAT64_HAS_BROKEN_ST_INO 1
30 /* This matches struct stat64 in glibc2.1, hence the absolutely
31 * insane amounts of padding around dev_t's.
33 struct stat64 {
34 unsigned long long st_dev;
35 unsigned char __pad0[4];
37 unsigned long __st_ino;
39 unsigned int st_mode;
40 unsigned int st_nlink;
42 unsigned long st_uid;
43 unsigned long st_gid;
45 unsigned long long st_rdev;
46 unsigned char __pad3[4];
48 long long st_size;
49 unsigned long st_blksize;
51 /* Number 512-byte blocks allocated. */
52 unsigned long long st_blocks;
54 unsigned long st_atime;
55 unsigned long st_atime_nsec;
57 unsigned long st_mtime;
58 unsigned int st_mtime_nsec;
60 unsigned long st_ctime;
61 unsigned long st_ctime_nsec;
63 unsigned long long st_ino;
66 #else /* __i386__ */
68 struct stat {
69 unsigned long st_dev;
70 unsigned long st_ino;
71 unsigned long st_nlink;
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. */
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];
90 #endif
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
114 #endif