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 by Ralf Baechle
7 */
8#ifndef _ASM_STATFS_H
9#define _ASM_STATFS_H
10
11#include <linux/posix_types.h>
12#include <asm/sgidefs.h>
13
14#ifndef __KERNEL_STRICT_NAMES
15
16#include <linux/types.h>
17
18typedef __kernel_fsid_t        fsid_t;
19
20#endif
21
22struct statfs {
23	long		f_type;
24#define f_fstyp f_type
25	long		f_bsize;
26	long		f_frsize;	/* Fragment size - unsupported */
27	long		f_blocks;
28	long		f_bfree;
29	long		f_files;
30	long		f_ffree;
31	long		f_bavail;
32
33	/* Linux specials */
34	__kernel_fsid_t	f_fsid;
35	long		f_namelen;
36	long		f_spare[6];
37};
38
39#if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32)
40
41/*
42 * Unlike the traditional version the LFAPI version has none of the ABI junk
43 */
44struct statfs64 {
45	__u32	f_type;
46	__u32	f_bsize;
47	__u32	f_frsize;	/* Fragment size - unsupported */
48	__u32	__pad;
49	__u64	f_blocks;
50	__u64	f_bfree;
51	__u64	f_files;
52	__u64	f_ffree;
53	__u64	f_bavail;
54	__kernel_fsid_t f_fsid;
55	__u32	f_namelen;
56	__u32	f_spare[6];
57};
58
59#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
60
61#if _MIPS_SIM == _MIPS_SIM_ABI64
62
63struct statfs64 {			/* Same as struct statfs */
64	long		f_type;
65	long		f_bsize;
66	long		f_frsize;	/* Fragment size - unsupported */
67	long		f_blocks;
68	long		f_bfree;
69	long		f_files;
70	long		f_ffree;
71	long		f_bavail;
72
73	/* Linux specials */
74	__kernel_fsid_t	f_fsid;
75	long		f_namelen;
76	long		f_spare[6];
77};
78
79struct compat_statfs64 {
80	__u32	f_type;
81	__u32	f_bsize;
82	__u32	f_frsize;	/* Fragment size - unsupported */
83	__u32	__pad;
84	__u64	f_blocks;
85	__u64	f_bfree;
86	__u64	f_files;
87	__u64	f_ffree;
88	__u64	f_bavail;
89	__kernel_fsid_t f_fsid;
90	__u32	f_namelen;
91	__u32	f_spare[6];
92};
93
94#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
95
96#endif /* _ASM_STATFS_H */
97