// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (c) 2017 Cyril Hrubis */ #include #define TST_NO_DEFAULT_MAIN #include "tst_test.h" #include "tst_clocks.h" #include "lapi/syscalls.h" #include "lapi/posix_clocks.h" int tst_clock_getres(clockid_t clk_id, struct timespec *res) { return tst_syscall(__NR_clock_getres, clk_id, res); } int tst_clock_gettime(clockid_t clk_id, struct timespec *ts) { return tst_syscall(__NR_clock_gettime, clk_id, ts); } int tst_clock_settime(clockid_t clk_id, struct timespec *ts) { return tst_syscall(__NR_clock_settime, clk_id, ts); } const char *tst_clock_name(clockid_t clk_id) { switch (clk_id) { case CLOCK_REALTIME: return "CLOCK_REALTIME"; case CLOCK_MONOTONIC: return "CLOCK_MONOTONIC"; case CLOCK_PROCESS_CPUTIME_ID: return "CLOCK_PROCESS_CPUTIME_ID"; case CLOCK_THREAD_CPUTIME_ID: return "CLOCK_THREAD_CPUTIME_ID"; case CLOCK_MONOTONIC_RAW: return "CLOCK_MONOTONIC_RAW"; case CLOCK_REALTIME_COARSE: return "CLOCK_REALTIME_COARSE"; case CLOCK_MONOTONIC_COARSE: return "CLOCK_MONOTONIC_COARSE"; case CLOCK_BOOTTIME: return "CLOCK_BOOTTIME"; case CLOCK_REALTIME_ALARM: return "CLOCK_REALTIME_ALARM"; case CLOCK_BOOTTIME_ALARM: return "CLOCK_BOOTTIME_ALARM"; case CLOCK_TAI: return "CLOCK_TAI"; default: return "INVALID/UNKNOWN CLOCK"; } }