2023-01-06 23:21:08 +00:00
|
|
|
#include <bits/errno-return.h>
|
|
|
|
#include <sys/syscall.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
int clock_gettime(clockid_t id, struct timespec* ts)
|
|
|
|
{
|
|
|
|
long rc = syscall(SYS_clock_gettime, id, ts);
|
|
|
|
__errno_return(rc, int);
|
|
|
|
}
|
2023-01-06 23:27:23 +00:00
|
|
|
|
|
|
|
time_t time(time_t* tp)
|
|
|
|
{
|
|
|
|
struct timespec ts;
|
|
|
|
if (clock_gettime(CLOCK_REALTIME, &ts) < 0) return (time_t)-1;
|
|
|
|
|
|
|
|
if (tp) *tp = ts.tv_sec;
|
|
|
|
|
|
|
|
return ts.tv_sec;
|
|
|
|
}
|
2023-01-06 23:21:08 +00:00
|
|
|
}
|