| .\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org> |
| .\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com> |
| .\" |
| .\" SPDX-License-Identifier: Linux-man-pages-copyleft |
| .\" |
| .\" |
| .TH timespec 3type (date) "Linux man-pages (unreleased)" |
| .SH NAME |
| timespec \- time in seconds and nanoseconds |
| .SH LIBRARY |
| Standard C library |
| .RI ( libc ) |
| .SH SYNOPSIS |
| .EX |
| .B #include <time.h> |
| .P |
| .B struct timespec { |
| .BR " time_t tv_sec;" " /* Seconds */" |
| .RB " /* ... */" " tv_nsec;" \ |
| " /* Nanoseconds [" 0 ", " 999\[aq]999\[aq]999 "] */" |
| .B }; |
| .EE |
| .SH DESCRIPTION |
| Describes times in seconds and nanoseconds. |
| .P |
| .I tv_nsec |
| is of an implementation-defined signed type |
| capable of holding the specified range. |
| Under glibc, this is usually |
| .IR long , |
| and |
| .I long long |
| on X32. |
| It can be safely down-cast to any concrete 32-bit integer type for processing. |
| .SH VERSIONS |
| Prior to C23, |
| .I tv_nsec |
| was |
| .IR long . |
| .SH STANDARDS |
| C11, POSIX.1-2008. |
| .SH HISTORY |
| POSIX.1-2001. |
| .SH NOTES |
| The following headers also provide this type: |
| .IR <aio.h> , |
| .IR <mqueue.h> , |
| .IR <sched.h> , |
| .IR <signal.h> , |
| .IR <sys/select.h> , |
| and |
| .IR <sys/stat.h> . |
| .SH SEE ALSO |
| .BR clock_gettime (2), |
| .BR clock_nanosleep (2), |
| .BR nanosleep (2), |
| .BR timerfd_gettime (2), |
| .BR timer_gettime (2), |
| .BR time_t (3type), |
| .BR timeval (3type) |