Update cpuinfo.nim

sys/types.h needed for macosx and freebsd
sys/param.h needed for openbsd and netbsd
This commit is contained in:
Luis Ricardo
2014-10-07 17:02:50 -04:00
parent 1da251523f
commit 54f6280d76

View File

@@ -18,15 +18,22 @@ when not defined(windows):
when defined(linux):
import linux
when defined(freebsd) or defined(macosx):
{.emit:"#include <sys/types.h>".}
when defined(openbsd) or defined(netbsd):
{.emit:"#include <sys/param.h>".}
when defined(macosx) or defined(bsd):
{.emit:"#include <sys/sysctl.h>".}
const
CTL_HW = 6
HW_AVAILCPU = 25
HW_NCPU = 3
proc sysctl(x: ptr array[0..3, cint], y: cint, z: pointer,
a: var csize, b: pointer, c: int): cint {.
importc: "sysctl", header: "<sys/sysctl.h>".}
importc: "sysctl".}
proc countProcessors*(): int {.rtl, extern: "ncpi$1".} =
## returns the numer of the processors/cores the machine has.