aboutsummaryrefslogtreecommitdiff
path: root/share/man
diff options
context:
space:
mode:
Diffstat (limited to 'share/man')
-rw-r--r--share/man/man3/Makefile7
-rw-r--r--share/man/man3/timeradd.388
2 files changed, 73 insertions, 22 deletions
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile
index 19e65986edbc..6197b0affb4d 100644
--- a/share/man/man3/Makefile
+++ b/share/man/man3/Makefile
@@ -164,7 +164,12 @@ MLINKS+= stdarg.3 va_arg.3 \
MLINKS+= timeradd.3 timerclear.3 \
timeradd.3 timercmp.3 \
timeradd.3 timerisset.3 \
- timeradd.3 timersub.3
+ timeradd.3 timersub.3 \
+ timeradd.3 timespecadd.3 \
+ timeradd.3 timespecsub.3 \
+ timeradd.3 timespecclear.3 \
+ timeradd.3 timespecisset.3 \
+ timeradd.3 timespeccmp.3
MLINKS+= tree.3 RB_EMPTY.3 \
tree.3 RB_ENTRY.3 \
tree.3 RB_FIND.3 \
diff --git a/share/man/man3/timeradd.3 b/share/man/man3/timeradd.3
index 7b6293f0dbfb..86e6b2816f1f 100644
--- a/share/man/man3/timeradd.3
+++ b/share/man/man3/timeradd.3
@@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 11, 1999
+.Dd July 30, 2018
.Dt TIMERADD 3
.Os
.Sh NAME
@@ -35,8 +35,13 @@
.Nm timersub ,
.Nm timerclear ,
.Nm timerisset ,
-.Nm timercmp
-.Nd operations on timevals
+.Nm timercmp ,
+.Nm timespecadd ,
+.Nm timespecsub ,
+.Nm timespecclear ,
+.Nm timespecisset ,
+.Nm timespeccmp
+.Nd operations on timevals and timespecs
.Sh SYNOPSIS
.In sys/time.h
.Ft void
@@ -49,15 +54,31 @@
.Fn timerisset "struct timeval *tvp"
.Ft int
.Fn timercmp "struct timeval *a" "struct timeval *b" CMP
+.Ft void
+.Fn timespecadd "struct timespec *a" "struct timespec *b" "struct timespec *res"
+.Ft void
+.Fn timespecsub "struct timespec *a" "struct timespec *b" "struct timespec *res"
+.Ft void
+.Fn timespecclear "struct timespec *ts"
+.Ft int
+.Fn timespecisset "struct timespec *ts"
+.Ft int
+.Fn timespeccmp "struct timespec *a" "struct timespec *b" CMP
.Sh DESCRIPTION
These macros are provided for manipulating
.Fa timeval
+and
+.Fa timespec
structures for use with the
+.Xr clock_gettime 2 ,
+.Xr clock_settime 2 ,
.Xr gettimeofday 2
and
.Xr settimeofday 2
calls.
-The structure is defined in
+The
+.Fa timeval
+structure is defined in
.In sys/time.h
as:
.Bd -literal
@@ -66,50 +87,67 @@ struct timeval {
long tv_usec; /* and microseconds */
};
.Ed
+And the
+.Fa timespec
+structure is defined in
+.In time.h
+as:
+.Bd -literal
+struct timespec {
+ time_t tv_nsec; /* seconds */
+ long tv_nsec; /* and nanoseconds */
+};
+.Ed
.Pp
.Fn timeradd
-adds the time information stored in
+and
+.Fn timespecadd
+add the time information stored in
.Fa a
to
.Fa b
-and stores the resulting
-.Vt timeval
-in
+and store the result in
.Fa res .
The results are simplified such that the value of
.Fa res->tv_usec
-is always less than 1,000,000 (1 second).
+or
+.Fa res->tv_nsec
+is always less than 1 second.
.Pp
.Fn timersub
-subtracts the time information stored in
+and
+.Fn timespecsub
+subtract the time information stored in
.Fa b
from
.Fa a
-and stores the resulting
-.Vt timeval
+and store the result
in
.Fa res .
.Pp
.Fn timerclear
-initializes
-.Fa tvp
-to midnight (0 hour) January 1st, 1970 (the Epoch).
+and
+.Fn timespecclear
+initialize their argument to midnight (0 hour) January 1st, 1970 (the Epoch).
.Pp
.Fn timerisset
-returns true if
-.Fa tvp
-is set to any time value other than the Epoch.
+and
+.Fn timespecisset
+return true if their argument is set to any time value other than the Epoch.
.Pp
.Fn timercmp
-compares
+and
+.Fn timespeccmp
+compare
.Fa a
to
.Fa b
using the comparison operator given in
.Fa CMP ,
-and returns the result of that comparison.
+and return the result of that comparison.
.Sh SEE ALSO
-.Xr gettimeofday 2
+.Xr gettimeofday 2 ,
+.Xr clock_gettime 2
.Sh HISTORY
The
.Fn timeradd
@@ -117,3 +155,11 @@ family of macros were imported from
.Nx 1.1 ,
and appeared in
.Fx 2.2.6 .
+The
+.Fn timespecadd
+family of macros were imported from
+.Nx 1.3
+into
+.Fx 3.0 ,
+though they were not exposed to userland until
+.Fx 12.0 .