xref: /llvm-project/libc/include/llvm-libc-types/struct_statvfs.h (revision 7e37d021022b0786a704a89abae2014692158b2f)
1 //===-- Definition of type struct statvfs ---------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIBC_TYPES_STRUCT_STATVFS_H
10 #define LLVM_LIBC_TYPES_STRUCT_STATVFS_H
11 
12 #include "fsblkcnt_t.h"
13 #include "fsfilcnt_t.h"
14 
15 struct statvfs {
16   unsigned long f_bsize;   /* Filesystem block size */
17   unsigned long f_frsize;  /* Fragment size */
18   fsblkcnt_t f_blocks;     /* Size of fs in f_frsize units */
19   fsblkcnt_t f_bfree;      /* Number of free blocks */
20   fsblkcnt_t f_bavail;     /* Number of free blocks for unprivileged users */
21   fsfilcnt_t f_files;      /* Number of inodes */
22   fsfilcnt_t f_ffree;      /* Number of free inodes */
23   fsfilcnt_t f_favail;     /* Number of free inodes for unprivileged users */
24   unsigned long f_fsid;    /* Filesystem ID */
25   unsigned long f_flag;    /* Mount flags */
26   unsigned long f_namemax; /* Maximum filename length */
27 };
28 
29 #endif // LLVM_LIBC_TYPES_STRUCT_STATVFS_H
30