VSF Documented
sysinfo.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SYS_INFO_H__
2#define __VSF_LINUX_SYS_INFO_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 sysinfo VSF_LINUX_WRAPPER(sysinfo)
18#endif
19
20struct sysinfo {
21 long uptime;
22 unsigned long loads[3];
23 unsigned long totalram;
24 unsigned long freeram;
25 unsigned long sharedram;
26 unsigned long bufferram;
27 unsigned long totalswap;
28 unsigned long freeswap;
29 unsigned short procs;
30 unsigned int mem_unit;
31 char _f[22];
32};
33
34#if VSF_LINUX_APPLET_USE_SYS_INFO == ENABLED
37
40# ifndef __VSF_APPLET__
42# endif
43#endif
44
45#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_INFO_LIB__))\
46 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_INFO == ENABLED
47
48#ifndef VSF_LINUX_APPLET_SYS_INFO_VPLT
49# if VSF_LINUX_USE_APPLET == ENABLED
50# define VSF_LINUX_APPLET_SYS_INFO_VPLT \
51 ((vsf_linux_sys_info_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_info_vplt))
52# else
53# define VSF_LINUX_APPLET_SYS_INFO_VPLT \
54 ((vsf_linux_sys_info_vplt_t *)vsf_vplt((void *)0))
55# endif
56#endif
57
58#define VSF_LINUX_APPLET_SYS_INFO_ENTRY(__NAME) \
59 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_INFO_VPLT, __NAME)
60#define VSF_LINUX_APPLET_SYS_INFO_IMP(...) \
61 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_INFO_VPLT, __VA_ARGS__)
62
63VSF_LINUX_APPLET_SYS_INFO_IMP(sysinfo, int, struct sysinfo *info) {
65 return VSF_LINUX_APPLET_SYS_INFO_ENTRY(sysinfo)(info);
66}
67
68#else // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_INFO
69
70int sysinfo(struct sysinfo *info);
71
72#endif // __VSF_APPLET__ && VSF_LINUX_APPLET_USE_SYS_INFO
73
74#ifdef __cplusplus
75}
76#endif
77
78#endif // __VSF_LINUX_SYS_INFO_H__
Definition sysinfo.h:20
unsigned long totalswap
Definition sysinfo.h:27
unsigned long bufferram
Definition sysinfo.h:26
long uptime
Definition sysinfo.h:21
unsigned short procs
Definition sysinfo.h:29
char _f[22]
Definition sysinfo.h:31
unsigned long totalram
Definition sysinfo.h:23
unsigned long freeram
Definition sysinfo.h:24
unsigned long loads[3]
Definition sysinfo.h:22
unsigned long sharedram
Definition sysinfo.h:25
unsigned int mem_unit
Definition sysinfo.h:30
unsigned long freeswap
Definition sysinfo.h:28
Definition sysinfo.h:35
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(sysinfo)
vsf_vplt_info_t info
Definition sysinfo.h:36
__VSF_VPLT_DECORATOR__ vsf_linux_sys_info_vplt_t vsf_linux_sys_info_vplt
Definition vsf_linux.c:4839
#define sysinfo
Definition sysinfo.h:17
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