1
#ifndef _GENERIC_STATFS_H
2
#define _GENERIC_STATFS_H
4
#include <linux/types.h>
7
typedef __kernel_fsid_t fsid_t;
11
* Most 64-bit platforms use 'long', while most 32-bit platforms use '__u32'.
12
* Yes, they differ in signedness as well as size.
13
* Special cases can override it for themselves -- except for S390x, which
14
* is just a little too special for us. And MIPS, which I'm not touching
18
#if BITS_PER_LONG == 64
19
#define __statfs_word long
21
#define __statfs_word __u32
27
__statfs_word f_bsize;
28
__statfs_word f_blocks;
29
__statfs_word f_bfree;
30
__statfs_word f_bavail;
31
__statfs_word f_files;
32
__statfs_word f_ffree;
33
__kernel_fsid_t f_fsid;
34
__statfs_word f_namelen;
35
__statfs_word f_frsize;
36
__statfs_word f_flags;
37
__statfs_word f_spare[4];
41
* ARM needs to avoid the 32-bit padding at the end, for consistency
42
* between EABI and OABI
44
#ifndef ARCH_PACK_STATFS64
45
#define ARCH_PACK_STATFS64
50
__statfs_word f_bsize;
56
__kernel_fsid_t f_fsid;
57
__statfs_word f_namelen;
58
__statfs_word f_frsize;
59
__statfs_word f_flags;
60
__statfs_word f_spare[4];
64
* IA64 and x86_64 need to avoid the 32-bit padding at the end,
65
* to be compatible with the i386 ABI
67
#ifndef ARCH_PACK_COMPAT_STATFS64
68
#define ARCH_PACK_COMPAT_STATFS64
71
struct compat_statfs64 {
79
__kernel_fsid_t f_fsid;
84
} ARCH_PACK_COMPAT_STATFS64;