[sys/info] Add MacOS memory size

This commit is contained in:
Jeroen van Rijn
2022-09-02 01:26:58 +02:00
parent a36c1cd54a
commit f5d13dc568
+13 -9
View File
@@ -3,6 +3,7 @@ package sysinfo
import sys "core:sys/darwin" import sys "core:sys/darwin"
import "core:intrinsics" import "core:intrinsics"
import "core:fmt"
@(init, private) @(init, private)
init_os_version :: proc "c" () { init_os_version :: proc "c" () {
@@ -16,17 +17,20 @@ init_ram :: proc() {
CTL_HW :: 6 CTL_HW :: 6
HW_MEMSIZE :: 24 HW_MEMSIZE :: 24
sysctls := []int{CTL_HW, HW_MEMSIZE} sysctls := []i32{CTL_HW, HW_MEMSIZE}
mem_size: i64 result: i64
result_size := i64(size_of(result))
if intrinsics.syscall( res := intrinsics.syscall(
uintptr(sys.System_Call_Number.sysctl), sys.unix_offset_syscall(.sysctl),
uintptr(raw_data(sysctls)), uintptr(len(sysctls)), uintptr(&sysctls[0]), uintptr(2),
uintptr(&mem_size), uintptr(size_of(mem_size))) == 0 { uintptr(&result), uintptr(&result_size),
return uintptr(0), uintptr(0),
} )
ram.total_ram = int(mem_size) fmt.println(res, result)
ram.total_ram = int(result)
} }
@(private) @(private)