master ohmu/fastfetch-openbsd / src / detection / uptime / uptime_sunos.c
ohmu  ·  2026-10-15
 1#include "uptime.h"
 2#include "common/time.h"
 3
 4#include <utmpx.h>
 5
 6const char* ffDetectUptime(FFUptimeResult* result) {
 7    struct utmpx* ut;
 8
 9    setutxent();
10    while (nullptr != (ut = getutxent())) {
11        if (ut->ut_type == BOOT_TIME) {
12            result->bootTime = (uint64_t) ut->ut_tv.tv_sec * 1000 + (uint64_t) ut->ut_tv.tv_usec / 1000000;
13            result->uptime = ffTimeGetNow() - result->bootTime;
14            break;
15        }
16    }
17    endutxent();
18    return nullptr;
19}