import of ftp.dlink.com/GPL/DSMG-600_reB/ppclinux.tar.gz
[linux-2.4.21-pre4.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 __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_unused0[2];
21 };
22
23 struct stat {
24         dev_t           st_dev;
25         long            st_pad1[3];             /* Reserved for network id */
26         ino_t           st_ino;
27         mode_t          st_mode;
28         nlink_t         st_nlink;
29         uid_t           st_uid;
30         gid_t           st_gid;
31         dev_t           st_rdev;
32         long            st_pad2[2];
33         off_t           st_size;
34         long            st_pad3;
35         /*
36          * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
37          * but we don't have it under Linux.
38          */
39         time_t          st_atime;
40         long            reserved0;
41         time_t          st_mtime;
42         long            reserved1;
43         time_t          st_ctime;
44         long            reserved2;
45         long            st_blksize;
46         long            st_blocks;
47         long            st_pad4[14];
48 };
49
50 /*
51  * This matches struct stat64 in glibc2.1, hence the absolutely insane
52  * amounts of padding around dev_t's.  The memory layout is the same as of
53  * struct stat of the 64-bit kernel.
54  */
55
56 struct stat64 {
57         unsigned long   st_dev;
58         unsigned long   st_pad0[3];     /* Reserved for st_dev expansion  */
59
60         unsigned long long      st_ino;
61
62         mode_t          st_mode;
63         nlink_t         st_nlink;
64
65         uid_t           st_uid;
66         gid_t           st_gid;
67
68         unsigned long   st_rdev;
69         unsigned long   st_pad1[3];     /* Reserved for st_rdev expansion  */
70
71         long long       st_size;
72
73         /*
74          * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
75          * but we don't have it under Linux.
76          */
77         time_t          st_atime;
78         unsigned long   reserved0;      /* Reserved for st_atime expansion  */
79
80         time_t          st_mtime;
81         unsigned long   reserved1;      /* Reserved for st_mtime expansion  */
82
83         time_t          st_ctime;
84         unsigned long   reserved2;      /* Reserved for st_ctime expansion  */
85
86         unsigned long   st_blksize;
87         unsigned long   st_pad2;
88
89         long long       st_blocks;
90 };
91
92 #endif /* _ASM_STAT_H */