timespec(3type) timespec(3type)

timespec - time in seconds and nanoseconds

Standard C library (libc)

#include <time.h>
struct timespec {
    time_t     tv_sec;   /* Seconds */
    /* ... */  tv_nsec;  /* Nanoseconds [0, 999'999'999] */

Describes times in seconds and nanoseconds.

tv_nsec is of an implementation-defined signed type capable of holding the specified range. Under glibc, this is usually long, and long long on X32. It can be safely down-cast to any concrete 32-bit integer type for processing.

Prior to C23, tv_nsec was long.

C11, POSIX.1-2008.


The following headers also provide this type: <aio.h>, <mqueue.h>, <sched.h>, <signal.h>, <sys/select.h>, and <sys/stat.h>.

clock_gettime(2), clock_nanosleep(2), nanosleep(2), timerfd_gettime(2), timer_gettime(2), time_t(3type), timeval(3type)

2024-05-02 Linux man-pages 6.9.1