—
NAME
timespec - time in seconds and nanoseconds
LIBRARY
Standard C library (libc)
SYNOPSIS
bash
#include <time.h>bash
struct timespec {\n
\n time_t tv_sec;\n /* Seconds */
/* ... */\n tv_nsec;\n /* Nanoseconds [\n0\n, \n999'999'999\n] */
\n};\nDESCRIPTION
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.
VERSIONS
Prior to C23, tv_nsec was long.
STANDARDS
C11, POSIX.1-2008.
HISTORY
POSIX.1-2001.
NOTES
The following headers also provide this type: <aio.h>, <mqueue.h>, <sched.h>, <signal.h>, <sys/select.h>, and <sys/stat.h>.
SEE ALSO
clock_gettime(2), clock_nanosleep(2), nanosleep(2), timerfd_gettime(2), timer_gettime(2), time_t(3type), timeval(3type)