blob: 2eaa73b11abeed9a9bd4de3b139a9e232ab1a556 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (c) 2017 Cyril Hrubis <chrubis@suse.cz>
*/
#include <time.h>
#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";
}
}