source: svn/trunk/newcon3bcm2_21bu/toolchain/mipsel-linux-uclibc/include/asm/stat.h @ 2

Last change on this file since 2 was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 2.8 KB
Line 
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License.  See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1995, 1999, 2000 Ralf Baechle
7 * Copyright (C) 2000 Silicon Graphics, Inc.
8 */
9#ifndef _ASM_STAT_H
10#define _ASM_STAT_H
11
12#include <linux/types.h>
13
14#include <asm/sgidefs.h>
15
16#if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32)
17
18struct stat {
19        unsigned        st_dev;
20        long            st_pad1[3];             /* Reserved for network id */
21        ino_t           st_ino;
22        mode_t          st_mode;
23        nlink_t         st_nlink;
24        uid_t           st_uid;
25        gid_t           st_gid;
26        unsigned        st_rdev;
27        long            st_pad2[2];
28        off_t           st_size;
29        long            st_pad3;
30        /*
31         * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
32         * but we don't have it under Linux.
33         */
34        time_t          st_atime;
35        long            st_atime_nsec;
36        time_t          st_mtime;
37        long            st_mtime_nsec;
38        time_t          st_ctime;
39        long            st_ctime_nsec;
40        long            st_blksize;
41        long            st_blocks;
42        long            st_pad4[14];
43};
44
45/*
46 * This matches struct stat64 in glibc2.1, hence the absolutely insane
47 * amounts of padding around dev_t's.  The memory layout is the same as of
48 * struct stat of the 64-bit kernel.
49 */
50
51struct stat64 {
52        unsigned long   st_dev;
53        unsigned long   st_pad0[3];     /* Reserved for st_dev expansion  */
54
55        unsigned long long      st_ino;
56
57        mode_t          st_mode;
58        nlink_t         st_nlink;
59
60        uid_t           st_uid;
61        gid_t           st_gid;
62
63        unsigned long   st_rdev;
64        unsigned long   st_pad1[3];     /* Reserved for st_rdev expansion  */
65
66        long long       st_size;
67
68        /*
69         * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
70         * but we don't have it under Linux.
71         */
72        time_t          st_atime;
73        unsigned long   st_atime_nsec;  /* Reserved for st_atime expansion  */
74
75        time_t          st_mtime;
76        unsigned long   st_mtime_nsec;  /* Reserved for st_mtime expansion  */
77
78        time_t          st_ctime;
79        unsigned long   st_ctime_nsec;  /* Reserved for st_ctime expansion  */
80
81        unsigned long   st_blksize;
82        unsigned long   st_pad2;
83
84        long long       st_blocks;
85};
86
87#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
88
89#if _MIPS_SIM == _MIPS_SIM_ABI64
90
91/* The memory layout is the same as of struct stat64 of the 32-bit kernel.  */
92struct stat {
93        unsigned int            st_dev;
94        unsigned int            st_pad0[3]; /* Reserved for st_dev expansion */
95
96        unsigned long           st_ino;
97
98        mode_t                  st_mode;
99        nlink_t                 st_nlink;
100
101        uid_t                   st_uid;
102        gid_t                   st_gid;
103
104        unsigned int            st_rdev;
105        unsigned int            st_pad1[3]; /* Reserved for st_rdev expansion */
106
107        off_t                   st_size;
108
109        /*
110         * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
111         * but we don't have it under Linux.
112         */
113        unsigned int            st_atime;
114        unsigned int            st_atime_nsec;
115
116        unsigned int            st_mtime;
117        unsigned int            st_mtime_nsec;
118
119        unsigned int            st_ctime;
120        unsigned int            st_ctime_nsec;
121
122        unsigned int            st_blksize;
123        unsigned int            st_pad2;
124
125        unsigned long           st_blocks;
126};
127
128#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
129
130#define STAT_HAVE_NSEC 1
131
132#endif /* _ASM_STAT_H */
Note: See TracBrowser for help on using the repository browser.