1 #ifndef _ASM_X86_STAT_H
2 #define _ASM_X86_STAT_H
4 #define STAT_HAVE_NSEC 1
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 /* We don't need to memset the whole thing just to initialize the padding */
29 #define INIT_STRUCT_STAT_PADDING(st) do { \
34 #define STAT64_HAS_BROKEN_ST_INO 1
36 /* This matches struct stat64 in glibc2.1, hence the absolutely
37 * insane amounts of padding around dev_t's.
40 unsigned long long st_dev;
41 unsigned char __pad0[4];
43 unsigned long __st_ino;
46 unsigned int st_nlink;
51 unsigned long long st_rdev;
52 unsigned char __pad3[4];
55 unsigned long st_blksize;
57 /* Number 512-byte blocks allocated. */
58 unsigned long long st_blocks;
60 unsigned long st_atime;
61 unsigned long st_atime_nsec;
63 unsigned long st_mtime;
64 unsigned int st_mtime_nsec;
66 unsigned long st_ctime;
67 unsigned long st_ctime_nsec;
69 unsigned long long st_ino;
72 /* We don't need to memset the whole thing just to initialize the padding */
73 #define INIT_STRUCT_STAT64_PADDING(st) do { \
74 memset(&st.__pad0, 0, sizeof(st.__pad0)); \
75 memset(&st.__pad3, 0, sizeof(st.__pad3)); \
83 unsigned long st_nlink;
89 unsigned long st_rdev;
92 long st_blocks; /* Number 512-byte blocks allocated. */
94 unsigned long st_atime;
95 unsigned long st_atime_nsec;
96 unsigned long st_mtime;
97 unsigned long st_mtime_nsec;
98 unsigned long st_ctime;
99 unsigned long st_ctime_nsec;
103 /* We don't need to memset the whole thing just to initialize the padding */
104 #define INIT_STRUCT_STAT_PADDING(st) do { \
106 st.__unused[0] = 0; \
107 st.__unused[1] = 0; \
108 st.__unused[2] = 0; \
113 /* for 32bit emulation and 32 bit kernels */
114 struct __old_kernel_stat {
115 unsigned short st_dev;
116 unsigned short st_ino;
117 unsigned short st_mode;
118 unsigned short st_nlink;
119 unsigned short st_uid;
120 unsigned short st_gid;
121 unsigned short st_rdev;
123 unsigned long st_size;
124 unsigned long st_atime;
125 unsigned long st_mtime;
126 unsigned long st_ctime;
128 unsigned int st_size;
129 unsigned int st_atime;
130 unsigned int st_mtime;
131 unsigned int st_ctime;
135 #endif /* _ASM_X86_STAT_H */