VSF Documented
statfs.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SYS_STATFS_H__
2#define __VSF_LINUX_SYS_STATFS_H__
3
5
6#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
7# include "../sys/types.h"
8#else
9# include <sys/types.h>
10#endif
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#if VSF_LINUX_CFG_WRAPPER == ENABLED
17#define statfs VSF_LINUX_WRAPPER(statfs)
18#define fstatfs VSF_LINUX_WRAPPER(fstatfs)
19#endif
20
21typedef int fsid_t;
22
23struct statfs {
24 short f_type;
25 short f_bsize;
29
33 short f_namelen;
34 short f_frsize;
35 short f_flags;
36};
37
38#if VSF_LINUX_APPLET_USE_SYS_STATFS == ENABLED
41
45# ifndef __VSF_APPLET__
47# endif
48#endif
49
50#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_STATFS_LIB__))\
51 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_STATFS == ENABLED
52
53#ifndef VSF_LINUX_APPLET_SYS_STATFS_VPLT
54# if VSF_LINUX_USE_APPLET == ENABLED
55# define VSF_LINUX_APPLET_SYS_STATFS_VPLT \
56 ((vsf_linux_sys_statfs_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_statfs_vplt))
57# else
58# define VSF_LINUX_APPLET_SYS_STATFS_VPLT \
59 ((vsf_linux_sys_statfs_vplt_t *)vsf_vplt((void *)0))
60# endif
61#endif
62
63#define VSF_LINUX_APPLET_SYS_STATFS_ENTRY(__NAME) \
64 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_STATFS_VPLT, __NAME)
65#define VSF_LINUX_APPLET_SYS_STATFS_IMP(...) \
66 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_STATFS_VPLT, __VA_ARGS__)
67
68VSF_LINUX_APPLET_SYS_STATFS_IMP(statfs, int, const char *path, struct statfs *buf) {
70 return VSF_LINUX_APPLET_SYS_STATFS_ENTRY(statfs)(path, buf);
71}
72VSF_LINUX_APPLET_SYS_STATFS_IMP(fstatfs, int, int fd, struct statfs *buf) {
74 return VSF_LINUX_APPLET_SYS_STATFS_ENTRY(fstatfs)(fd, buf);
75}
76
77#else // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_STATFS
78
79int statfs(const char *path, struct statfs *buf);
80int fstatfs(int fd, struct statfs *buf);
81
82#endif // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_STATFS
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif // __VSF_LINUX_SYS_STATFS_H__
blkcnt_t fsblkcnt_t
Definition types.h:105
int fsid_t
Definition statfs.h:21
#define fstatfs
Definition statfs.h:18
#define statfs
Definition statfs.h:17
__VSF_VPLT_DECORATOR__ vsf_linux_sys_statfs_vplt_t vsf_linux_sys_statfs_vplt
Definition vsf_linux.c:5264
Definition statfs.h:23
fsblkcnt_t f_files
Definition statfs.h:30
short f_frsize
Definition statfs.h:34
short f_namelen
Definition statfs.h:33
fsblkcnt_t f_bfree
Definition statfs.h:27
fsblkcnt_t f_ffree
Definition statfs.h:31
fsblkcnt_t f_bavail
Definition statfs.h:28
fsblkcnt_t f_blocks
Definition statfs.h:26
short f_bsize
Definition statfs.h:25
short f_type
Definition statfs.h:24
fsid_t f_fsid
Definition statfs.h:32
short f_flags
Definition statfs.h:35
Definition statfs.h:39
vsf_vplt_info_t info
Definition statfs.h:40
Definition vsf_cfg.h:95
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
#define VSF_APPLET_VPLT_ENTRY_FUNC_TRACE()
Definition vsf_cfg.h:165