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_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 struct stat {
19  unsigned long st_dev;
20  unsigned long st_ino;
21  unsigned short st_mode;
22  unsigned short st_nlink;
23  unsigned short st_uid;
24  unsigned short st_gid;
25  unsigned long st_rdev;
26  unsigned long st_size;
27  unsigned long st_blksize;
28  unsigned long st_blocks;
29  unsigned long st_atime;
30  unsigned long st_atime_nsec;
31  unsigned long st_mtime;
32  unsigned long st_mtime_nsec;
33  unsigned long st_ctime;
34  unsigned long st_ctime_nsec;
35  unsigned long __unused4;
36  unsigned long __unused5;
37 };
38 
39 /* This matches struct stat64 in glibc2.1, hence the absolutely
40  * insane amounts of padding around dev_t's.
41  */
42 struct stat64 {
43  unsigned long long st_dev;
44  unsigned char __pad0[4];
45 
46 #define STAT64_HAS_BROKEN_ST_INO 1
47  unsigned long __st_ino;
48 
49  unsigned int st_mode;
50  unsigned int st_nlink;
51 
52  unsigned long st_uid;
53  unsigned long st_gid;
54 
55  unsigned long long st_rdev;
56  unsigned char __pad3[4];
57 
58  long long st_size;
59  unsigned long st_blksize;
60 
61  unsigned long st_blocks; /* Number 512-byte blocks allocated. */
62  unsigned long __pad4; /* future possible st_blocks high bits */
63 
64  unsigned long st_atime;
65  unsigned long st_atime_nsec;
66 
67  unsigned long st_mtime;
68  unsigned int st_mtime_nsec;
69 
70  unsigned long st_ctime;
71  unsigned long st_ctime_nsec;
72 
73  unsigned long long st_ino;
74 };
75 
76 #define STAT_HAVE_NSEC 1
77 
78 #endif /* _ASM_STAT_H */