Merge git://git.infradead.org/~dwmw2/khdrs-2.6
[linux-2.6] / include / asm-frv / stat.h
1 #ifndef _ASM_STAT_H
2 #define _ASM_STAT_H
3
4 struct __old_kernel_stat {
5         unsigned short st_dev;
6         unsigned short st_ino;
7         unsigned short st_mode;
8         unsigned short st_nlink;
9         unsigned short st_uid;
10         unsigned short st_gid;
11         unsigned short st_rdev;
12         unsigned long  st_size;
13         unsigned long  st_atime;
14         unsigned long  st_mtime;
15         unsigned long  st_ctime;
16 };
17
18 /* This matches struct stat in uClibc/glibc.  */
19 struct stat {
20         unsigned char __pad1[6];
21         unsigned short st_dev;
22
23         unsigned long __pad2;
24         unsigned long st_ino;
25
26         unsigned short __pad3;
27         unsigned short st_mode;
28         unsigned short __pad4;
29         unsigned short st_nlink;
30
31         unsigned short __pad5;
32         unsigned short st_uid;
33         unsigned short __pad6;
34         unsigned short st_gid;
35
36         unsigned char __pad7[6];
37         unsigned short st_rdev;
38
39         unsigned long __pad8;
40         unsigned long st_size;
41
42         unsigned long __pad9;           /* align 64-bit st_blocks to 2-word */
43         unsigned long st_blksize;
44
45         unsigned long __pad10;  /* future possible st_blocks high bits */
46         unsigned long st_blocks;        /* Number 512-byte blocks allocated. */
47
48         unsigned long __unused1;
49         unsigned long st_atime;
50
51         unsigned long __unused2;
52         unsigned long st_mtime;
53
54         unsigned long __unused3;
55         unsigned long st_ctime;
56
57         unsigned long long __unused4;
58 };
59
60 /* This matches struct stat64 in uClibc/glibc.  The layout is exactly
61    the same as that of struct stat above, with 64-bit types taking up
62    space that was formerly used by padding.  stat syscalls are still
63    different from stat64, though, in that the former tests for
64    overflow.  */
65 struct stat64 {
66         unsigned char __pad1[6];
67         unsigned short st_dev;
68
69         unsigned long long st_ino;
70
71         unsigned int st_mode;
72         unsigned int st_nlink;
73
74         unsigned long st_uid;
75         unsigned long st_gid;
76
77         unsigned char __pad2[6];
78         unsigned short st_rdev;
79
80         long long st_size;
81
82         unsigned long __pad3;           /* align 64-bit st_blocks to 2-word */
83         unsigned long st_blksize;
84
85         unsigned long __pad4;           /* future possible st_blocks high bits */
86         unsigned long st_blocks;        /* Number 512-byte blocks allocated. */
87
88         unsigned long st_atime_nsec;
89         unsigned long st_atime;
90
91         unsigned int st_mtime_nsec;
92         unsigned long st_mtime;
93
94         unsigned long st_ctime_nsec;
95         unsigned long st_ctime;
96
97         unsigned long long __unused4;
98 };
99
100 #endif /* _ASM_STAT_H */