summaryrefslogtreecommitdiffstats
path: root/man3type/timespec.3type
blob: 7f5c97cd602a8d21574e088e9ea1306a42a5792f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
.\" 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)