예제 #1
0
파일: backend.c 프로젝트: JapaMala/hexchat
char *sysinfo_backend_get_memory(void)
{
    unsigned long long mem_total;
    unsigned long long mem_free;
    unsigned long long swap_total;
    unsigned long long swap_free;
    char *swap_fmt = NULL, *mem_fmt, *ret;

    if (xs_parse_meminfo (&mem_total, &mem_free, 0) == 1)
    {
        return NULL;
    }
    if (xs_parse_meminfo (&swap_total, &swap_free, 1) != 1)
    {
        swap_fmt = sysinfo_format_memory (swap_total, swap_free);
    }

    mem_fmt = sysinfo_format_memory (mem_total, mem_free);

    if (swap_fmt)
    {
        ret = g_strdup_printf ("Physical: %s Swap: %s", mem_fmt, swap_fmt);
        g_free (mem_fmt);
        g_free (swap_fmt);
    }
    else
        ret = mem_fmt;

    return ret;
}
예제 #2
0
파일: backend.c 프로젝트: Cynede/hexchat
static char *get_memory_info (void)
{
	MEMORYSTATUSEX meminfo = { 0 };
	meminfo.dwLength = sizeof (meminfo);

	if (!GlobalMemoryStatusEx (&meminfo))
	{
		return NULL;
	}

	return sysinfo_format_memory (meminfo.ullTotalPhys, meminfo.ullAvailPhys);
}