From 4dc1f38416045ea900b309ce5be2f307221d5dfd Mon Sep 17 00:00:00 2001 From: Ronald1985 Date: Thu, 24 Aug 2023 17:00:04 +0100 Subject: [PATCH] Added get_cpu_name_and_socket_number procedure This function needs work, added it now for another project --- sysinfo.odin | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/sysinfo.odin b/sysinfo.odin index 2290be5..6348537 100644 --- a/sysinfo.odin +++ b/sysinfo.odin @@ -144,6 +144,25 @@ parse_cpuinfo :: proc(cpuinfo: string) -> (map[string]string, bool) { return values, true } +// FIXME: This is a bodge +get_cpu_name_and_socket_number :: proc() -> (string, int, bool) { + cpuinfo_bytes: []byte + ok: bool + + if cpuinfo_bytes, ok = __read_entire_file_from_filename("/proc/cpuinfo"); !ok { + return "", 0, false + } + defer delete(cpuinfo_bytes) + + cpuinfo_map, parse_cpuinfo_ok := parse_cpuinfo(string(cpuinfo_bytes)) + if !parse_cpuinfo_ok { + return "", 0, false + } + defer delete(cpuinfo_map) + + return cpuinfo_map["model name"], strconv.atoi(cpuinfo_map["physical id"]), true +} + get_cpu_name :: proc() -> (string, bool) { cpuinfo_bytes: []byte ok: bool