-.\" $OpenBSD: time.3,v 1.16 2015/01/29 01:46:30 schwarze Exp $
+.\" $OpenBSD: time.3,v 1.17 2021/12/06 00:15:01 cheloha Exp $
.\"
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd $Mdocdate: January 29 2015 $
+.Dd $Mdocdate: December 6 2021 $
.Dt TIME 3
.Os
.Sh NAME
.Sh SYNOPSIS
.In time.h
.Ft time_t
-.Fn time "time_t *tloc"
+.Fn time "time_t *now"
.Sh DESCRIPTION
The
.Fn time
-function returns the value of time in seconds since 0 hours, 0 minutes,
-0 seconds, January 1, 1970, Coordinated Universal Time (UTC).
-.Pp
-A copy of the time value may be saved to the area indicated by the
-pointer
-.Fa tloc .
-If
-.Fa tloc
-is a null pointer, no value is stored.
+function returns the the number of seconds elapsed since
+Jan 1 1970 00:00:00 UTC.
+This value is also written to
+.Fa now
+unless
+.Fa now
+is
+.Dv NULL .
.Sh RETURN VALUES
-Upon successful completion,
+The
.Fn time
-returns the value of time.
-Otherwise a value of
-.Po Fa time_t Pc Ns -1
-is returned and the global variable
-.Va errno
-is set to indicate the error.
-.Sh ERRORS
-The following error codes may be set in
-.Va errno :
-.Bl -tag -width Er
-.It Bq Er EFAULT
-An argument address referenced invalid memory.
-.El
+function is always successful,
+and no return value is reserved to indicate an error.
.Sh SEE ALSO
.Xr clock_gettime 2 ,
.Xr gettimeofday 2 ,
.Xr ctime 3
+.Sh STANDARDS
+The
+.Fn time
+function conforms to
+.St -p1003.1-2008 .
.Sh HISTORY
A
.Fn time
system call first appeared in
-.At v1
-and used to return time in sixtieths of a second in 32 bits,
-which was to guarantee a crisis every 2.26 years.
-Since
-.At v6 ,
-.Fn time
-scale was changed to seconds, extending the pre-crisis stagnation
-period up to a total of 68 years.
+.At v1 .
+That version counted time in sixtieths of a second with a 32-bit return value,
+ensuring an integer overflow crisis every 2.26 years.
+In
+.At v6
+the granularity of the return value was reduced to whole seconds,
+delaying the aforementioned crisis until 2038.
+In
+.Bx 4.1c
+the function was moved out of the kernel into the C standard library and
+reimplemented with
+.Xr gettimeofday 2 .