1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * This file is subject to the terms and conditions of the GNU General Public
4 * License.  See the file "COPYING" in the main directory of this archive
5 * for more details.
6 *
7 * Copyright (C) 1995, 1999 by Ralf Baechle
8 */
9#ifndef _ASM_STATFS_H
10#define _ASM_STATFS_H
11
12#include <linux/posix_types.h>
13#include <asm/sgidefs.h>
14
15#ifndef __KERNEL_STRICT_NAMES
16
17#include <linux/types.h>
18
19typedef __kernel_fsid_t	       fsid_t;
20
21#endif
22
23struct statfs {
24	long		f_type;
25#define f_fstyp f_type
26	long		f_bsize;
27	long		f_frsize;	/* Fragment size - unsupported */
28	long		f_blocks;
29	long		f_bfree;
30	long		f_files;
31	long		f_ffree;
32	long		f_bavail;
33
34	/* Linux specials */
35	__kernel_fsid_t f_fsid;
36	long		f_namelen;
37	long		f_flags;
38	long		f_spare[5];
39};
40
41#if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32)
42
43/*
44 * Unlike the traditional version the LFAPI version has none of the ABI junk
45 */
46struct statfs64 {
47	__u32	f_type;
48	__u32	f_bsize;
49	__u32	f_frsize;	/* Fragment size - unsupported */
50	__u32	__pad;
51	__u64	f_blocks;
52	__u64	f_bfree;
53	__u64	f_files;
54	__u64	f_ffree;
55	__u64	f_bavail;
56	__kernel_fsid_t f_fsid;
57	__u32	f_namelen;
58	__u32	f_flags;
59	__u32	f_spare[5];
60};
61
62#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
63
64#if _MIPS_SIM == _MIPS_SIM_ABI64
65
66struct statfs64 {			/* Same as struct statfs */
67	long		f_type;
68	long		f_bsize;
69	long		f_frsize;	/* Fragment size - unsupported */
70	long		f_blocks;
71	long		f_bfree;
72	long		f_files;
73	long		f_ffree;
74	long		f_bavail;
75
76	/* Linux specials */
77	__kernel_fsid_t f_fsid;
78	long		f_namelen;
79	long		f_flags;
80	long		f_spare[5];
81};
82
83struct compat_statfs64 {
84	__u32	f_type;
85	__u32	f_bsize;
86	__u32	f_frsize;	/* Fragment size - unsupported */
87	__u32	__pad;
88	__u64	f_blocks;
89	__u64	f_bfree;
90	__u64	f_files;
91	__u64	f_ffree;
92	__u64	f_bavail;
93	__kernel_fsid_t f_fsid;
94	__u32	f_namelen;
95	__u32	f_flags;
96	__u32	f_spare[5];
97};
98
99#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
100
101#endif /* _ASM_STATFS_H */
102