162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
462306a36Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
562306a36Sopenharmony_ci * for more details.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Copyright (C) 1995, 1999 by Ralf Baechle
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#ifndef _ASM_STATFS_H
1062306a36Sopenharmony_ci#define _ASM_STATFS_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include <linux/posix_types.h>
1362306a36Sopenharmony_ci#include <asm/sgidefs.h>
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#ifndef __KERNEL_STRICT_NAMES
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci#include <linux/types.h>
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_citypedef __kernel_fsid_t	       fsid_t;
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#endif
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_cistruct statfs {
2462306a36Sopenharmony_ci	long		f_type;
2562306a36Sopenharmony_ci#define f_fstyp f_type
2662306a36Sopenharmony_ci	long		f_bsize;
2762306a36Sopenharmony_ci	long		f_frsize;	/* Fragment size - unsupported */
2862306a36Sopenharmony_ci	long		f_blocks;
2962306a36Sopenharmony_ci	long		f_bfree;
3062306a36Sopenharmony_ci	long		f_files;
3162306a36Sopenharmony_ci	long		f_ffree;
3262306a36Sopenharmony_ci	long		f_bavail;
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	/* Linux specials */
3562306a36Sopenharmony_ci	__kernel_fsid_t f_fsid;
3662306a36Sopenharmony_ci	long		f_namelen;
3762306a36Sopenharmony_ci	long		f_flags;
3862306a36Sopenharmony_ci	long		f_spare[5];
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32)
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci/*
4462306a36Sopenharmony_ci * Unlike the traditional version the LFAPI version has none of the ABI junk
4562306a36Sopenharmony_ci */
4662306a36Sopenharmony_cistruct statfs64 {
4762306a36Sopenharmony_ci	__u32	f_type;
4862306a36Sopenharmony_ci	__u32	f_bsize;
4962306a36Sopenharmony_ci	__u32	f_frsize;	/* Fragment size - unsupported */
5062306a36Sopenharmony_ci	__u32	__pad;
5162306a36Sopenharmony_ci	__u64	f_blocks;
5262306a36Sopenharmony_ci	__u64	f_bfree;
5362306a36Sopenharmony_ci	__u64	f_files;
5462306a36Sopenharmony_ci	__u64	f_ffree;
5562306a36Sopenharmony_ci	__u64	f_bavail;
5662306a36Sopenharmony_ci	__kernel_fsid_t f_fsid;
5762306a36Sopenharmony_ci	__u32	f_namelen;
5862306a36Sopenharmony_ci	__u32	f_flags;
5962306a36Sopenharmony_ci	__u32	f_spare[5];
6062306a36Sopenharmony_ci};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci#if _MIPS_SIM == _MIPS_SIM_ABI64
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_cistruct statfs64 {			/* Same as struct statfs */
6762306a36Sopenharmony_ci	long		f_type;
6862306a36Sopenharmony_ci	long		f_bsize;
6962306a36Sopenharmony_ci	long		f_frsize;	/* Fragment size - unsupported */
7062306a36Sopenharmony_ci	long		f_blocks;
7162306a36Sopenharmony_ci	long		f_bfree;
7262306a36Sopenharmony_ci	long		f_files;
7362306a36Sopenharmony_ci	long		f_ffree;
7462306a36Sopenharmony_ci	long		f_bavail;
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci	/* Linux specials */
7762306a36Sopenharmony_ci	__kernel_fsid_t f_fsid;
7862306a36Sopenharmony_ci	long		f_namelen;
7962306a36Sopenharmony_ci	long		f_flags;
8062306a36Sopenharmony_ci	long		f_spare[5];
8162306a36Sopenharmony_ci};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_cistruct compat_statfs64 {
8462306a36Sopenharmony_ci	__u32	f_type;
8562306a36Sopenharmony_ci	__u32	f_bsize;
8662306a36Sopenharmony_ci	__u32	f_frsize;	/* Fragment size - unsupported */
8762306a36Sopenharmony_ci	__u32	__pad;
8862306a36Sopenharmony_ci	__u64	f_blocks;
8962306a36Sopenharmony_ci	__u64	f_bfree;
9062306a36Sopenharmony_ci	__u64	f_files;
9162306a36Sopenharmony_ci	__u64	f_ffree;
9262306a36Sopenharmony_ci	__u64	f_bavail;
9362306a36Sopenharmony_ci	__kernel_fsid_t f_fsid;
9462306a36Sopenharmony_ci	__u32	f_namelen;
9562306a36Sopenharmony_ci	__u32	f_flags;
9662306a36Sopenharmony_ci	__u32	f_spare[5];
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci#endif /* _ASM_STATFS_H */
102