f7aa6f913a
Yeah Signed-off-by: kaguya <vpshinomiya@protonmail.com>
47 lines
961 B
C
47 lines
961 B
C
#ifndef _SYS_SYSINFO_H
|
|
#define _SYS_SYSINFO_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* TODO: This is from the Linux ABI. Make this an abi-bit. */
|
|
|
|
struct sysinfo {
|
|
long uptime;
|
|
unsigned long loads[3];
|
|
unsigned long totalram;
|
|
unsigned long freeram;
|
|
unsigned long sharedram;
|
|
unsigned long bufferram;
|
|
unsigned long totalswap;
|
|
unsigned long freeswap;
|
|
unsigned short procs;
|
|
unsigned long totalhigh;
|
|
unsigned long freehigh;
|
|
unsigned int mem_unit;
|
|
|
|
/* This is how the kernel header defines it, so suppress the warning. */
|
|
#pragma GCC diagnostic push
|
|
#pragma GCC diagnostic ignored "-Wpedantic"
|
|
char _f[20 - 2 * sizeof(long) - sizeof(int)]; /* Padding to 64 bytes according to my man page */
|
|
#pragma GCC diagnostic pop
|
|
};
|
|
|
|
#define SI_LOAD_SHIFT 16
|
|
|
|
#ifndef __MLIBC_ABI_ONLY
|
|
|
|
int sysinfo(struct sysinfo *__info);
|
|
|
|
int get_nprocs(void);
|
|
int get_nprocs_conf(void);
|
|
|
|
#endif /* !__MLIBC_ABI_ONLY */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _SYS_SYSINFO_H */
|