1 #ifndef _ASM_STAT_H
2 #define _ASM_STAT_H
3
4 #include <linux/types.h>
5
6 struct __old_kernel_stat {
7 unsigned int st_dev;
8 unsigned int st_ino;
9 unsigned int st_mode;
10 unsigned int st_nlink;
11 unsigned int st_uid;
12 unsigned int st_gid;
13 unsigned int st_rdev;
14 long st_size;
15 unsigned int st_atime, st_res1;
16 unsigned int st_mtime, st_res2;
17 unsigned int st_ctime, st_res3;
18 unsigned int st_blksize;
19 int st_blocks;
20 unsigned int st_flags;
21 unsigned int st_gen;
22 };
23
24 struct stat {
25 dev_t st_dev;
26 long st_pad1[3]; /* Reserved for network id */
27 ino_t st_ino;
28 mode_t st_mode;
29 nlink_t st_nlink;
30 uid_t st_uid;
31 gid_t st_gid;
32 dev_t st_rdev;
33 long st_pad2[2];
34 off_t st_size;
35 long st_pad3;
36 /*
37 * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
38 * but we don't have it under Linux.
39 */
40 time_t st_atime;
41 long reserved0;
42 time_t st_mtime;
43 long reserved1;
44 time_t st_ctime;
45 long reserved2;
46 long st_blksize;
47 long st_blocks;
48 char st_fstype[16]; /* Filesystem type name */
49 long st_pad4[8];
50 /* Linux specific fields */
51 unsigned int st_flags;
52 unsigned int st_gen;
53 };
54
55 /*
56 * This matches struct stat64 in glibc2.1, hence the absolutely insane
57 * amounts of padding around dev_t's. The memory layout is the same as of
58 * struct stat of the 64-bit kernel.
59 */
60
61 struct stat64 {
62 unsigned long st_dev;
63 unsigned long st_pad0[3]; /* Reserved for st_dev expansion */
64 ino_t st_ino;
65 mode_t st_mode;
66 nlink_t st_nlink;
67 uid_t st_uid;
68 gid_t st_gid;
69 unsigned long st_rdev;
70 unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */
71 long long st_size;
72 /*
73 * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
74 * but we don't have it under Linux.
75 */
76 time_t st_atime;
77 unsigned long reserved0; /* Reserved for st_atime expansion */
78 time_t st_mtime;
79 unsigned long reserved1; /* Reserved for st_atime expansion */
80 time_t st_ctime;
81 unsigned long reserved2; /* Reserved for st_atime expansion */
82 unsigned long st_blksize;
83 long long st_blocks;
84 };
85
86 #endif /* _ASM_STAT_H */
87
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.