From 740b4d97b813ef20868aebe299ede2c4dae0212a Mon Sep 17 00:00:00 2001 From: Ronald1985 Date: Tue, 7 Nov 2023 22:16:13 +0000 Subject: [PATCH] Adding procedure to get uptime in seconds --- sysinfo.odin | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sysinfo.odin b/sysinfo.odin index 4c549ff..e52f858 100644 --- a/sysinfo.odin +++ b/sysinfo.odin @@ -356,3 +356,23 @@ get_disk_size_bytes :: proc(disk_name: string) -> (f64, bool) { return partitions_map[disk_name].blocks / 1024, true } + +get_system_uptime_in_seconds :: proc() -> (int, bool) { + fd, err := os.open("/proc/uptime") + if err != os.ERROR_NONE { + return 0, false + } + + buf: [24]u8 + _, err = os.read_full(fd, buf[0:]) + if err != os.ERROR_NONE { + return 0, false + } + + fields := strings.fields(string(buf[:])) + defer delete(fields) + + uptime_seconds := strconv.atoi(fields[0]) + + return uptime_seconds, true +}