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.
POSIX.1-2001.
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)