00001 #ifndef MEMUSAGE_H
00002 #define MEMUSAGE_H
00003
00004 #if defined(__linux__)
00005 # define MEMUSAGE_LINUX_PROC_STATUS "/proc/self/status"
00006 # define MEMUSAGE_LINUX_PROC_ENV "MEMUSAGE_PROC_STATUS"
00007 # define MEMUSAGE_LINUX_SYS_STATUS "/proc/meminfo"
00008 # define MEMUSAGE_LINUX_SYS_ENV "MEMUSAGE_SYS_STATUS"
00009 #endif
00010
00011 struct proc_memusage {
00012 size_t mu_rss;
00013 size_t mu_hwm;
00014 size_t mu_lib;
00015 size_t mu_text;
00016 size_t mu_data;
00017 size_t mu_stack;
00018 size_t mu_lock;
00019 };
00020
00021 struct sys_memusage {
00022 size_t mu_total;
00023 size_t mu_free;
00024 size_t mu_realfree;
00025 size_t mu_buffers;
00026 size_t mu_cached;
00027 size_t mu_active;
00028 size_t mu_inactive;
00029 };
00030
00031 int oscap_proc_memusage(struct proc_memusage *mu);
00032 int oscap_sys_memusage(struct sys_memusage *mu);
00033
00034 #endif