1#ifndef __VSF_LINUX_STATVFS_H__
2#define __VSF_LINUX_STATVFS_H__
6#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
7# include "../sys/types.h"
16#define ST_RDONLY (1 << 0)
17#define ST_NOSUID (1 << 1)
18#define ST_NODEV (1 << 2)
19#define ST_NOEXEC (1 << 3)
20#define ST_SYNCHRONOUS (1 << 4)
21#define ST_VALID (1 << 5)
22#define ST_MANDLOCK (1 << 6)
23#define ST_NOATIME (1 << 10)
24#define ST_NODIRATIME (1 << 11)
25#define ST_REAATIME (1 << 12)
26#define ST_NOSYMFOLLOW (1 << 13)
56#if VSF_LINUX_APPLET_USE_SYS_STATVFS == ENABLED
65# ifndef __VSF_APPLET__
70#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_STATVFS_LIB__))\
71 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_STATVFS == ENABLED
73#ifndef VSF_LINUX_APPLET_SYS_STATVFS_VPLT
74# if VSF_LINUX_USE_APPLET == ENABLED
75# define VSF_LINUX_APPLET_SYS_STATVFS_VPLT \
76 ((vsf_linux_sys_statvfs_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_statvfs_vplt))
78# define VSF_LINUX_APPLET_SYS_STATVFS_VPLT \
79 ((vsf_linux_sys_statvfs_vplt_t *)vsf_vplt((void *)0))
83#define VSF_LINUX_APPLET_SYS_STATVFS_ENTRY(__NAME) \
84 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_STATVFS_VPLT, __NAME)
85#define VSF_LINUX_APPLET_SYS_STATVFS_IMP(...) \
86 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_STATVFS_VPLT, __VA_ARGS__)
88VSF_LINUX_APPLET_SYS_STATVFS_IMP(
fstatvfs,
int,
int fd,
struct statvfs *buf) {
90 return VSF_LINUX_APPLET_SYS_STATVFS_ENTRY(
fstatvfs)(fd, buf);
92VSF_LINUX_APPLET_SYS_STATVFS_IMP(
statvfs,
int,
const char *path,
struct statvfs *buf) {
94 return VSF_LINUX_APPLET_SYS_STATVFS_ENTRY(
statvfs)(path, buf);
98 return VSF_LINUX_APPLET_SYS_STATVFS_ENTRY(
fstatvfs64)(fd, buf);
100VSF_LINUX_APPLET_SYS_STATVFS_IMP(
statvfs64,
int,
const char *path,
struct statvfs64 *buf) {
102 return VSF_LINUX_APPLET_SYS_STATVFS_ENTRY(
statvfs64)(path, buf);
blkcnt_t fsblkcnt_t
Definition types.h:105
blkcnt64_t fsblkcnt64_t
Definition types.h:106
unsigned long long fsfilcnt64_t
Definition types.h:108
unsigned long fsfilcnt_t
Definition types.h:107
__VSF_VPLT_DECORATOR__ vsf_linux_sys_statvfs_vplt_t vsf_linux_sys_statvfs_vplt
Definition vsf_linux_fs.c:3690
int fstatvfs64(int fd, struct statvfs64 *buf)
Definition vsf_linux_fs.c:2646
int fstatvfs(int fd, struct statvfs *buf)
Definition vsf_linux_fs.c:2634
fsblkcnt64_t f_bfree
Definition statvfs.h:46
unsigned long f_frsize
Definition statvfs.h:44
fsblkcnt64_t f_blocks
Definition statvfs.h:45
unsigned long f_bsize
Definition statvfs.h:43
unsigned long f_fsid
Definition statvfs.h:51
fsblkcnt64_t f_bavail
Definition statvfs.h:47
fsfilcnt64_t f_files
Definition statvfs.h:48
unsigned long f_namemax
Definition statvfs.h:53
fsfilcnt64_t f_ffree
Definition statvfs.h:49
fsfilcnt64_t f_favail
Definition statvfs.h:50
unsigned long f_flag
Definition statvfs.h:52
unsigned long f_namemax
Definition statvfs.h:39
unsigned long f_fsid
Definition statvfs.h:37
unsigned long f_bsize
Definition statvfs.h:29
fsblkcnt_t f_bavail
Definition statvfs.h:33
fsfilcnt_t f_files
Definition statvfs.h:34
fsfilcnt_t f_ffree
Definition statvfs.h:35
fsfilcnt_t f_favail
Definition statvfs.h:36
fsblkcnt_t f_blocks
Definition statvfs.h:31
fsblkcnt_t f_bfree
Definition statvfs.h:32
unsigned long f_flag
Definition statvfs.h:38
unsigned long f_frsize
Definition statvfs.h:30
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(fstatvfs64)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(fstatvfs)
vsf_vplt_info_t info
Definition statvfs.h:58
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(statvfs)
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(statvfs64)
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
#define VSF_APPLET_VPLT_ENTRY_FUNC_TRACE()
Definition vsf_cfg.h:165