]> git.ipfire.org Git - thirdparty/glibc.git/blame - bits/statfs.h
Update copyright dates with scripts/update-copyrights
[thirdparty/glibc.git] / bits / statfs.h
CommitLineData
5107cf1d 1/* Definition of `struct statfs', information about a filesystem.
581c785b 2 Copyright (C) 1996-2022 Free Software Foundation, Inc.
5107cf1d
UD
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
5107cf1d
UD
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13 Lesser General Public License for more details.
5107cf1d 14
41bdb6e2 15 You should have received a copy of the GNU Lesser General Public
59ba27a6 16 License along with the GNU C Library; if not, see
5a82c748 17 <https://www.gnu.org/licenses/>. */
5107cf1d 18
f4017d20
UD
19#ifndef _SYS_STATFS_H
20# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
21#endif
5107cf1d
UD
22
23#include <bits/types.h>
24
25/* GNU Hurd NOTE: The size of this structure (16 ints) is known in
26 <hurd/hurd_types.defs>, since it is used in the `file_statfs' RPC. MiG
27 does not cope at all well with the passed C structure not being of the
28 expected size. There are some filler words at the end to allow for
29 future expansion. To increase the size of the structure used in the RPC
30 and retain binary compatibility, we would need to assign a new message
31 number. */
32
33struct statfs
34 {
35 unsigned int f_type;
36 unsigned int f_bsize;
9756dfe1 37#ifndef __USE_FILE_OFFSET64
dfd2257a
UD
38 __fsblkcnt_t f_blocks;
39 __fsblkcnt_t f_bfree;
40 __fsblkcnt_t f_bavail;
41 __fsblkcnt_t f_files;
42 __fsblkcnt_t f_ffree;
9756dfe1
UD
43#else
44 __fsblkcnt64_t f_blocks;
45 __fsblkcnt64_t f_bfree;
46 __fsblkcnt64_t f_bavail;
47 __fsblkcnt64_t f_files;
48 __fsblkcnt64_t f_ffree;
49#endif
50 __fsid_t f_fsid;
51 unsigned int f_namelen;
52 unsigned int f_spare[6];
53 };
54
55#ifdef __USE_LARGEFILE64
56struct statfs64
57 {
58 unsigned int f_type;
59 unsigned int f_bsize;
60 __fsblkcnt64_t f_blocks;
61 __fsblkcnt64_t f_bfree;
62 __fsblkcnt64_t f_bavail;
63 __fsblkcnt64_t f_files;
64 __fsblkcnt64_t f_ffree;
5107cf1d
UD
65 __fsid_t f_fsid;
66 unsigned int f_namelen;
67 unsigned int f_spare[6];
68 };
9756dfe1 69#endif