head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.8 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.6 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.4 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.2 pkgsrc-2025Q2-base:1.1; locks; strict; comment @// @; 1.1 date 2025.04.02.19.30.30; author markd; state Exp; branches; next ; commitid SlUK5NZiTouJOvPF; desc @@ 1.1 log @kf6-kcoreaddons: Add NetBSD Memory info @ text @$NetBSD$ Add NetBSD Memory info --- src/lib/util/kmemoryinfo.cpp.orig 2024-11-02 15:46:04.000000000 +0000 +++ src/lib/util/kmemoryinfo.cpp @@@@ -39,6 +39,9 @@@@ Q_LOGGING_CATEGORY(LOG_KMEMORYINFO, "kf. #include #include #include +#elif defined(Q_OS_NETBSD) + #include + #include #endif // clang-format on @@@@ -502,6 +505,29 @@@@ bool KMemoryInfo::update() return true; } +#elif defined(Q_OS_NETBSD) +/***************************************************************************** + * NetBSD + ****************************************************************************/ + +bool KMemoryInfo::update() +{ + int uvmexp_mib[] = {CTL_VM, VM_UVMEXP2}; + struct uvmexp_sysctl uvmexp; + size_t size = sizeof(struct uvmexp_sysctl); + if (sysctl(uvmexp_mib, 2, &uvmexp, &size, NULL, 0) == -1) { + bzero(&uvmexp, sizeof(struct uvmexp_sysctl)); + return false; + } + d->m_totalPhysical = uvmexp.npages * uvmexp.pagesize / 1024; + d->m_availablePhysical = (uvmexp.npages - uvmexp.wired) * uvmexp.pagesize / 1024; + d->m_freePhysical = uvmexp.free * uvmexp.pagesize / 1024; + d->m_totalSwapFile = uvmexp.swpages * uvmexp.pagesize / 1024; + d->m_freeSwapFile = (uvmexp.swpages - uvmexp.swpginuse) * uvmexp.pagesize / 1024; + d->m_cached = (uvmexp.anonpages + uvmexp.filepages + uvmexp.execpages) * uvmexp.pagesize / 1024; + + return true; +} #else /***************************************************************************** * Unsupported platform @