tools, slub: Fix off-by-one buffer corruption after readlink() call
[linux-2.6/linux-mips.git] / arch / frv / include / asm / stat.h
blobce56de9b37ba60eb19b13e3fcf245c3b09ed140e
1 #ifndef _ASM_STAT_H
2 #define _ASM_STAT_H
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;
18 /* This matches struct stat in uClibc/glibc. */
19 struct stat {
20 unsigned char __pad1[6];
21 unsigned short st_dev;
23 unsigned long __pad2;
24 unsigned long st_ino;
26 unsigned short __pad3;
27 unsigned short st_mode;
28 unsigned short __pad4;
29 unsigned short st_nlink;
31 unsigned short __pad5;
32 unsigned short st_uid;
33 unsigned short __pad6;
34 unsigned short st_gid;
36 unsigned char __pad7[6];
37 unsigned short st_rdev;
39 unsigned long __pad8;
40 unsigned long st_size;
42 unsigned long __pad9; /* align 64-bit st_blocks to 2-word */
43 unsigned long st_blksize;
45 unsigned long __pad10; /* future possible st_blocks high bits */
46 unsigned long st_blocks; /* Number 512-byte blocks allocated. */
48 unsigned long __unused1;
49 unsigned long st_atime;
51 unsigned long __unused2;
52 unsigned long st_mtime;
54 unsigned long __unused3;
55 unsigned long st_ctime;
57 unsigned long long __unused4;
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;
69 unsigned long long st_ino;
71 unsigned int st_mode;
72 unsigned int st_nlink;
74 unsigned long st_uid;
75 unsigned long st_gid;
77 unsigned char __pad2[6];
78 unsigned short st_rdev;
80 long long st_size;
82 unsigned long __pad3; /* align 64-bit st_blocks to 2-word */
83 unsigned long st_blksize;
85 unsigned long __pad4; /* future possible st_blocks high bits */
86 unsigned long st_blocks; /* Number 512-byte blocks allocated. */
88 unsigned long st_atime_nsec;
89 unsigned long st_atime;
91 unsigned int st_mtime_nsec;
92 unsigned long st_mtime;
94 unsigned long st_ctime_nsec;
95 unsigned long st_ctime;
97 unsigned long long __unused4;
100 #endif /* _ASM_STAT_H */