1 #ifndef _BITS_STAT_STRUCT_H
2 #define _BITS_STAT_STRUCT_H
3 
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... */
7 
8 struct kernel_stat {
9 #if defined(__ARMEB__)
10 	unsigned short st_dev;
11 	unsigned short __pad1;
12 #else
13 	unsigned long  st_dev;
14 #endif
15 	unsigned long  st_ino;
16 	unsigned short st_mode;
17 	unsigned short st_nlink;
18 	unsigned short st_uid;
19 	unsigned short st_gid;
20 #if defined(__ARMEB__)
21 	unsigned short st_rdev;
22 	unsigned short __pad2;
23 #else
24 	unsigned long  st_rdev;
25 #endif
26 	unsigned long  st_size;
27 	unsigned long  st_blksize;
28 	unsigned long  st_blocks;
29 	struct timespec st_atim;
30 	struct timespec st_mtim;
31 	struct timespec st_ctim;
32 	unsigned long  __uclibc_unused4;
33 	unsigned long  __uclibc_unused5;
34 };
35 
36 struct kernel_stat64 {
37 	unsigned long long st_dev;
38 	unsigned char      __pad0[4];
39 
40 #define _HAVE_STAT64___ST_INO
41 	unsigned long      __st_ino;
42 	unsigned int       st_mode;
43 	unsigned int       st_nlink;
44 	unsigned long      st_uid;
45 	unsigned long      st_gid;
46 
47 	unsigned long long st_rdev;
48 	unsigned char      __pad3[4];
49 
50 	long long          st_size;
51 	unsigned long      st_blksize;
52 	unsigned long long st_blocks;  /* Number 512-byte blocks allocated. */
53 	struct timespec    st_atim;
54 	struct timespec    st_mtim;
55 	struct timespec    st_ctim;
56 	unsigned long long st_ino;
57 #ifndef __ARM_EABI__
58 } __attribute__((packed));
59 #else
60 };
61 #endif
62 
63 #endif	/*  _BITS_STAT_STRUCT_H */
64