1 #ifndef _BITS_STAT_STRUCT_H
2 #define _BITS_STAT_STRUCT_H
4 /* This file provides whatever this particular arch's kernel thinks
5 * struct kernel_stat should look like... It turns out each arch has a
6 * different opinion on the subject... */
10 unsigned short st_dev
;
11 unsigned short __pad1
;
13 unsigned short st_mode
;
14 unsigned short st_nlink
;
15 unsigned short st_uid
;
16 unsigned short st_gid
;
17 unsigned short st_rdev
;
18 unsigned short __pad2
;
19 unsigned long st_size
;
20 unsigned long st_blksize
;
21 unsigned long st_blocks
;
22 struct timespec st_atim
;
23 struct timespec st_mtim
;
24 struct timespec st_ctim
;
25 unsigned long __uclibc_unused4
;
26 unsigned long __uclibc_unused5
;
29 struct kernel_stat64
{
30 #if (__BYTE_ORDER == __BIG_ENDIAN)
31 unsigned char __pad0b
[6];
32 unsigned short st_dev
;
33 #elif (__BYTE_ORDER == __LITTLE_ENDIAN)
34 unsigned short st_dev
;
35 unsigned char __pad0b
[6];
37 #error Must know endian to build stat64 structure!
39 unsigned char __pad0
[4];
43 unsigned int st_nlink
;
48 #if (__BYTE_ORDER == __BIG_ENDIAN)
49 unsigned char __pad3b
[6];
50 unsigned short st_rdev
;
51 #else /* Must be little */
52 unsigned short st_rdev
;
53 unsigned char __pad3b
[6];
55 unsigned char __pad3
[4];
58 unsigned long st_blksize
;
60 #if (__BYTE_ORDER == __BIG_ENDIAN)
61 unsigned long __pad4
; /* Future possible st_blocks hi bits */
62 unsigned long st_blocks
; /* Number 512-byte blocks allocated. */
63 #else /* Must be little */
64 unsigned long st_blocks
; /* Number 512-byte blocks allocated. */
65 unsigned long __pad4
; /* Future possible st_blocks hi bits */
68 struct timespec st_atim
;
69 struct timespec st_mtim
;
70 struct timespec st_ctim
;
72 unsigned long __unused1
;
73 unsigned long __unused2
;
76 #endif /* _BITS_STAT_STRUCT_H */