+++ /dev/null
-# boottime.m4 serial 4
-# Determine whether this system has infrastructure for obtaining the boot time.
-
-# Copyright (C) 1996-2023 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-# GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
-* ----------------------------------------------------------
-AC_DEFUN([GNULIB_BOOT_TIME],
-[
- AC_CHECK_FUNCS([sysctl])
- AC_CHECK_HEADERS_ONCE([sys/param.h])
- AC_CHECK_HEADERS([sys/sysctl.h], [], [],
- [AC_INCLUDES_DEFAULT
- [#if HAVE_SYS_PARAM_H
- #include <sys/param.h>
- #endif]])
- AC_CHECK_HEADERS_ONCE([utmpx.h OS.h])
- AC_CACHE_CHECK(
- [whether we can get the system boot time],
- [gnulib_cv_have_boot_time],
- [
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
-[AC_INCLUDES_DEFAULT
-#if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
-# if HAVE_SYS_PARAM_H
-# include <sys/param.h> /* needed for OpenBSD 3.0 */
-# endif
-# include <sys/sysctl.h>
-#endif
-#if HAVE_UTMPX_H
-# include <utmpx.h>
-#endif
-#include <utmp.h>
-#if HAVE_OS_H
-# include <OS.h>
-#endif
-],
-[[
-#if (defined BOOT_TIME \
- || (defined CTL_KERN && defined KERN_BOOTTIME) \
- || HAVE_OS_H)
-/* your system *does* have the infrastructure to determine boot time */
-#else
-please_tell_us_how_to_determine_boot_time_on_your_system
-#endif
-]])],
- [gnulib_cv_have_boot_time=yes],
- [gnulib_cv_have_boot_time=no])
- ])
- AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])
-])
#include "system.h"
-#if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H && ! defined __GLIBC__
-# include <sys/sysctl.h>
-#endif
-
-#if HAVE_OS_H
-# include <OS.h>
-#endif
-
#include "long-options.h"
#include "quote.h"
#include "readutmp.h"
int status = EXIT_SUCCESS;
time_t boot_time = 0;
-#if HAVE_SYSCTL && ! defined __GLIBC__ \
- && defined CTL_KERN && defined KERN_BOOTTIME
- {
- /* FreeBSD specific: fetch sysctl "kern.boottime". */
- static int request[2] = { CTL_KERN, KERN_BOOTTIME };
- struct timeval result;
- size_t result_len = sizeof result;
-
- if (sysctl (request, 2, &result, &result_len, nullptr, 0) >= 0)
- boot_time = result.tv_sec;
- }
-#endif
-
-#if HAVE_OS_H /* BeOS */
- {
- system_info si;
-
- get_system_info (&si);
- boot_time = si.boot_time / 1000000;
- }
-#endif
-
/* Loop through all the utmp entries we just read and count up the valid
ones, also in the process possibly gleaning boottime. */
idx_t entries = 0;