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