• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _ASM_M32R_STAT_H
2 #define _ASM_M32R_STAT_H
3 
4 #include <asm/byteorder.h>
5 
6 struct __old_kernel_stat {
7 	unsigned short st_dev;
8 	unsigned short st_ino;
9 	unsigned short st_mode;
10 	unsigned short st_nlink;
11 	unsigned short st_uid;
12 	unsigned short st_gid;
13 	unsigned short st_rdev;
14 	unsigned long  st_size;
15 	unsigned long  st_atime;
16 	unsigned long  st_mtime;
17 	unsigned long  st_ctime;
18 };
19 
20 #define STAT_HAVE_NSEC	1
21 
22 struct stat {
23 	unsigned short st_dev;
24 	unsigned short __pad1;
25 	unsigned long  st_ino;
26 	unsigned short st_mode;
27 	unsigned short st_nlink;
28 	unsigned short st_uid;
29 	unsigned short st_gid;
30 	unsigned short st_rdev;
31 	unsigned short __pad2;
32 	unsigned long  st_size;
33 	unsigned long  st_blksize;
34 	unsigned long  st_blocks;
35 	unsigned long  st_atime;
36 	unsigned long  st_atime_nsec;
37 	unsigned long  st_mtime;
38 	unsigned long  st_mtime_nsec;
39 	unsigned long  st_ctime;
40 	unsigned long  st_ctime_nsec;
41 	unsigned long  __unused4;
42 	unsigned long  __unused5;
43 };
44 
45 /* This matches struct stat64 in glibc2.1, hence the absolutely
46  * insane amounts of padding around dev_t's.
47  */
48 struct stat64 {
49 	unsigned long long	st_dev;
50 	unsigned char	__pad0[4];
51 #define STAT64_HAS_BROKEN_ST_INO
52 	unsigned long	__st_ino;
53 
54 	unsigned int	st_mode;
55 	unsigned int	st_nlink;
56 
57 	unsigned long	st_uid;
58 	unsigned long	st_gid;
59 
60 	unsigned long long	st_rdev;
61 	unsigned char	__pad3[4];
62 
63 	long long	st_size;
64 	unsigned long	st_blksize;
65 
66 #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
67 	unsigned long	__pad4;		/* future possible st_blocks high bits */
68 	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */
69 #elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
70 	unsigned long	st_blocks;	/* Number 512-byte blocks allocated. */
71 	unsigned long	__pad4;		/* future possible st_blocks high bits */
72 #else
73 #error no endian defined
74 #endif
75 	unsigned long	st_atime;
76 	unsigned long	st_atime_nsec;
77 
78 	unsigned long	st_mtime;
79 	unsigned long	st_mtime_nsec;
80 
81 	unsigned long	st_ctime;
82 	unsigned long	st_ctime_nsec;
83 
84 	unsigned long long	st_ino;
85 };
86 
87 #endif  /* _ASM_M32R_STAT_H */
88