Updated: 2025/Nov/16
Please read Privacy Policy. It's for your privacy.
TIMESPEC_GET(3) Library Functions Manual TIMESPEC_GET(3)
NAME
timespec_get, timespec_getres - get current calendar time
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <time.h>
int
timespec_get(struct timespec *ts, int base);
int
timespec_getres(struct timespec *ts, int base);
DESCRIPTION
The timespec_get() function sets the interval pointed to by ts to hold
the current calendar time based on the specified time base in base. It
is the ISO C equivalent to the POSIX function clock_gettime(2).
The base TIME_UTC returns the time since the epoch. This time is
expressed in seconds and nanoseconds since midnight (0 hour), January 1,
1970. In NetBSD, this corresponds to CLOCK_REALTIME.
The base TIME_MONOTONIC returns the seconds and nanoseconds since an
implementation-defined reference point in such a way that a second call
will never return a value less than the first. In NetBSD, this
corresponds to CLOCK_MONOTONIC.
The resolution of each timer can be queried using timespec_getres().
Each successive call to this function will return the same value for a
specific clock. It is the ISO C equivalent to the POSIX function
clock_getres(2).
RETURN VALUES
These functions return the passed non-zero value of base if successful,
otherwise 0 on failure.
SEE ALSO
clock_gettime(2), gettimeofday(2), time(3)
STANDARDS
The timespec_get() function with a base of TIME_UTC conforms to ISO/IEC
9899:2011 ("ISO C11"). The base of TIME_MONOTONIC is specified in
ISO/IEC 9899:2024 ("ISO C23").
The timespec_getres() function conforms to ISO/IEC 9899:2024 ("ISO C23").
HISTORY
The timespec_get() function first appeared in NetBSD 8.0.
The timespec_getres() function first appeared in NetBSD 11.0.
AUTHORS
Kamil Rytarowski <kamil@NetBSD.org>
Nia Alarie <nia@NetBSD.org>
NetBSD 11.99 April 22, 2025 NetBSD 11.99