[sys/info] Initial version.

This commit is contained in:
Jeroen van Rijn
2022-09-01 00:43:47 +02:00
parent 317db2758a
commit d5f94d73ad
8 changed files with 618 additions and 2 deletions
+33
View File
@@ -0,0 +1,33 @@
// +build darwin
package sysinfo
import sys "core:sys/darwin"
import "core:intrinsics"
@(init, private)
init_os_version :: proc "c" () {
os_version = {}
}
@(init)
init_ram :: proc() {
// Retrieve RAM info using `sysinfo`
CTL_HW :: 6
HW_MEMSIZE :: 24
sysctls := []int{CTL_HW, HW_MEMSIZE}
mem_size: i64
if intrinsics.syscall(
uintptr(sys.System_Call_Number.sysctl),
uintptr(raw_data(sysctls)), uintptr(len(sysctls)),
uintptr(&mem_size), uintptr(size_of(mem_size))) == 0 {
return
}
ram.total_ram = int(mem_size)
}
@(private)
sysctl :: proc(leaf: int)