GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / mips / include / uapi / asm / statfs.h
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
19 typedef __kernel_fsid_t        fsid_t;
20
21 #endif
22
23 struct 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  */
46 struct 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
66 struct 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
83 struct 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 */