master
 1/* Copyright (C) 1997-2025 Free Software Foundation, Inc.
 2   This file is part of the GNU C Library.
 3
 4   The GNU C Library is free software; you can redistribute it and/or
 5   modify it under the terms of the GNU Lesser General Public
 6   License as published by the Free Software Foundation; either
 7   version 2.1 of the License, or (at your option) any later version.
 8
 9   The GNU C Library is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with the GNU C Library; if not, see
16   <https://www.gnu.org/licenses/>.  */
17
18#ifndef _SYS_STATFS_H
19# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
20#endif
21
22#include <bits/types.h>
23
24struct statfs
25  {
26    __fsword_t f_type;
27    __fsword_t f_bsize;
28#ifndef __USE_FILE_OFFSET64
29    __fsblkcnt_t f_blocks;
30    __fsblkcnt_t f_bfree;
31    __fsblkcnt_t f_bavail;
32    __fsfilcnt_t f_files;
33    __fsfilcnt_t f_ffree;
34#else
35    __fsblkcnt64_t f_blocks;
36    __fsblkcnt64_t f_bfree;
37    __fsblkcnt64_t f_bavail;
38    __fsfilcnt64_t f_files;
39    __fsfilcnt64_t f_ffree;
40#endif
41    __fsid_t f_fsid;
42    __fsword_t f_namelen;
43    __fsword_t f_frsize;
44    __fsword_t f_flags;
45    __fsword_t f_spare[4];
46  };
47
48#ifdef __USE_LARGEFILE64
49struct statfs64
50  {
51    __fsword_t f_type;
52    __fsword_t f_bsize;
53    __fsblkcnt64_t f_blocks;
54    __fsblkcnt64_t f_bfree;
55    __fsblkcnt64_t f_bavail;
56    __fsfilcnt64_t f_files;
57    __fsfilcnt64_t f_ffree;
58    __fsid_t f_fsid;
59    __fsword_t f_namelen;
60    __fsword_t f_frsize;
61    __fsword_t f_flags;
62    __fsword_t f_spare[4];
63  };
64#endif
65
66/* Tell code we have these members.  */
67#define _STATFS_F_NAMELEN
68#define _STATFS_F_FRSIZE
69#define _STATFS_F_FLAGS