Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
stat.h
Go to the documentation of this file.
1 #ifndef _ASM_M32R_STAT_H
2 #define _ASM_M32R_STAT_H
3 
4 #include <asm/byteorder.h>
5 
6 struct __old_kernel_stat {
7  unsigned short st_dev;
8  unsigned short st_ino;
9  unsigned short st_mode;
10  unsigned short st_nlink;
11  unsigned short st_uid;
12  unsigned short st_gid;
13  unsigned short st_rdev;
14  unsigned long st_size;
15  unsigned long st_atime;
16  unsigned long st_mtime;
17  unsigned long st_ctime;
18 };
19 
20 #define STAT_HAVE_NSEC 1
21 
22 struct stat {
23  unsigned short st_dev;
24  unsigned short __pad1;
25  unsigned long st_ino;
26  unsigned short st_mode;
27  unsigned short st_nlink;
28  unsigned short st_uid;
29  unsigned short st_gid;
30  unsigned short st_rdev;
31  unsigned short __pad2;
32  unsigned long st_size;
33  unsigned long st_blksize;
34  unsigned long st_blocks;
35  unsigned long st_atime;
36  unsigned long st_atime_nsec;
37  unsigned long st_mtime;
38  unsigned long st_mtime_nsec;
39  unsigned long st_ctime;
40  unsigned long st_ctime_nsec;
41  unsigned long __unused4;
42  unsigned long __unused5;
43 };
44 
45 /* This matches struct stat64 in glibc2.1, hence the absolutely
46  * insane amounts of padding around dev_t's.
47  */
48 struct stat64 {
49  unsigned long long st_dev;
50  unsigned char __pad0[4];
51 #define STAT64_HAS_BROKEN_ST_INO
52  unsigned long __st_ino;
53 
54  unsigned int st_mode;
55  unsigned int st_nlink;
56 
57  unsigned long st_uid;
58  unsigned long st_gid;
59 
60  unsigned long long st_rdev;
61  unsigned char __pad3[4];
62 
63  long long st_size;
64  unsigned long st_blksize;
65 
66 #if defined(__BIG_ENDIAN)
67  unsigned long __pad4; /* future possible st_blocks high bits */
68  unsigned long st_blocks; /* Number 512-byte blocks allocated. */
69 #elif defined(__LITTLE_ENDIAN)
70  unsigned long st_blocks; /* Number 512-byte blocks allocated. */
71  unsigned long __pad4; /* future possible st_blocks high bits */
72 #else
73 #error no endian defined
74 #endif
75  unsigned long st_atime;
76  unsigned long st_atime_nsec;
77 
78  unsigned long st_mtime;
79  unsigned long st_mtime_nsec;
80 
81  unsigned long st_ctime;
82  unsigned long st_ctime_nsec;
83 
84  unsigned long long st_ino;
85 };
86 
87 #endif /* _ASM_M32R_STAT_H */