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 */