• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _ASM_STAT_H
2 #define _ASM_STAT_H
3 
4 struct __old_kernel_stat {
5 	unsigned short st_dev;
6 	unsigned short st_ino;
7 	unsigned short st_mode;
8 	unsigned short st_nlink;
9 	unsigned short st_uid;
10 	unsigned short st_gid;
11 	unsigned short st_rdev;
12 	unsigned long  st_size;
13 	unsigned long  st_atime;
14 	unsigned long  st_mtime;
15 	unsigned long  st_ctime;
16 };
17 
18 /* This matches struct stat in uClibc/glibc.  */
19 struct stat {
20 	unsigned char __pad1[6];
21 	unsigned short st_dev;
22 
23 	unsigned long __pad2;
24 	unsigned long st_ino;
25 
26 	unsigned short __pad3;
27 	unsigned short st_mode;
28 	unsigned short __pad4;
29 	unsigned short st_nlink;
30 
31 	unsigned short __pad5;
32 	unsigned short st_uid;
33 	unsigned short __pad6;
34 	unsigned short st_gid;
35 
36 	unsigned char __pad7[6];
37 	unsigned short st_rdev;
38 
39 	unsigned long __pad8;
40 	unsigned long st_size;
41 
42 	unsigned long __pad9;		/* align 64-bit st_blocks to 2-word */
43 	unsigned long st_blksize;
44 
45 	unsigned long __pad10;	/* future possible st_blocks high bits */
46 	unsigned long st_blocks;	/* Number 512-byte blocks allocated. */
47 
48 	unsigned long __unused1;
49 	unsigned long st_atime;
50 
51 	unsigned long __unused2;
52 	unsigned long st_mtime;
53 
54 	unsigned long __unused3;
55 	unsigned long st_ctime;
56 
57 	unsigned long long __unused4;
58 };
59 
60 /* This matches struct stat64 in uClibc/glibc.  The layout is exactly
61    the same as that of struct stat above, with 64-bit types taking up
62    space that was formerly used by padding.  stat syscalls are still
63    different from stat64, though, in that the former tests for
64    overflow.  */
65 struct stat64 {
66 	unsigned char __pad1[6];
67 	unsigned short st_dev;
68 
69 	unsigned long long st_ino;
70 
71 	unsigned int st_mode;
72 	unsigned int st_nlink;
73 
74 	unsigned long st_uid;
75 	unsigned long st_gid;
76 
77 	unsigned char __pad2[6];
78 	unsigned short st_rdev;
79 
80 	long long st_size;
81 
82 	unsigned long __pad3;		/* align 64-bit st_blocks to 2-word */
83 	unsigned long st_blksize;
84 
85 	unsigned long __pad4;		/* future possible st_blocks high bits */
86 	unsigned long st_blocks;	/* Number 512-byte blocks allocated. */
87 
88 	unsigned long st_atime_nsec;
89 	unsigned long st_atime;
90 
91 	unsigned int st_mtime_nsec;
92 	unsigned long st_mtime;
93 
94 	unsigned long st_ctime_nsec;
95 	unsigned long st_ctime;
96 
97 	unsigned long long __unused4;
98 };
99 
100 #endif /* _ASM_STAT_H */
101