more changes on original files
[linux-2.4.git] / include / asm-mips / stat.h
1 #ifndef _ASM_STAT_H
2 #define _ASM_STAT_H
3
4 #include <linux/types.h>
5
6 struct stat {
7         dev_t           st_dev;
8         long            st_pad1[3];             /* Reserved for network id */
9         ino_t           st_ino;
10         mode_t          st_mode;
11         nlink_t         st_nlink;
12         uid_t           st_uid;
13         gid_t           st_gid;
14         dev_t           st_rdev;
15         long            st_pad2[2];
16         off_t           st_size;
17         long            st_pad3;
18         /*
19          * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
20          * but we don't have it under Linux.
21          */
22         time_t          st_atime;
23         long            reserved0;
24         time_t          st_mtime;
25         long            reserved1;
26         time_t          st_ctime;
27         long            reserved2;
28         long            st_blksize;
29         long            st_blocks;
30         long            st_pad4[14];
31 };
32
33 /*
34  * This matches struct stat64 in glibc2.1, hence the absolutely insane
35  * amounts of padding around dev_t's.  The memory layout is the same as of
36  * struct stat of the 64-bit kernel.
37  */
38
39 struct stat64 {
40         unsigned long   st_dev;
41         unsigned long   st_pad0[3];     /* Reserved for st_dev expansion  */
42
43         unsigned long long      st_ino;
44
45         mode_t          st_mode;
46         nlink_t         st_nlink;
47
48         uid_t           st_uid;
49         gid_t           st_gid;
50
51         unsigned long   st_rdev;
52         unsigned long   st_pad1[3];     /* Reserved for st_rdev expansion  */
53
54         long long       st_size;
55
56         /*
57          * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
58          * but we don't have it under Linux.
59          */
60         time_t          st_atime;
61         unsigned long   reserved0;      /* Reserved for st_atime expansion  */
62
63         time_t          st_mtime;
64         unsigned long   reserved1;      /* Reserved for st_mtime expansion  */
65
66         time_t          st_ctime;
67         unsigned long   reserved2;      /* Reserved for st_ctime expansion  */
68
69         unsigned long   st_blksize;
70         unsigned long   st_pad2;
71
72         long long       st_blocks;
73 };
74
75 #endif /* _ASM_STAT_H */