forked from 0ad/0ad
28 lines
513 B
C++
28 lines
513 B
C++
#include "precompiled.h"
|
|
#include "bsd.h"
|
|
|
|
#if OS_BSD
|
|
|
|
static int sysctlFromMemType(CpuMemoryIndicators mem_type)
|
|
{
|
|
switch(mem_type)
|
|
{
|
|
case MEM_TOTAL:
|
|
return HW_PHYSMEM;
|
|
case MEM_AVAILABLE:
|
|
return HW_USERMEM;
|
|
}
|
|
UNREACHABLE;
|
|
}
|
|
|
|
size_t bsd_memorySize(CpuMemoryIndicators mem_type)
|
|
{
|
|
size_t memory_size = 0;
|
|
size_t len = sizeof(memory_size);
|
|
const int mib[2] = { CTL_HW, sysctlFromMemType(mem_type) };
|
|
sysctl(mib, 2, &memory_size, &len, 0, 0);
|
|
return memory_size;
|
|
}
|
|
|
|
#endif
|