.TH TIME 2
.SH NAME
time, nsec \- time in seconds and nanoseconds since epoch
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.PP
.nf
.B
long time(long *tp)
.PP
.B
vlong nsec(void)
.SH DESCRIPTION
Both
.I time
and
.I nsec
return the time since the epoch 00:00:00 GMT, Jan. 1, 1970.
The return value of the former is in seconds and the latter in nanoseconds.
For
.IR time ,
if
.I tp
is not zero then
.BI * tp
is also set to the answer.
.PP
Times from
.I time
should be stored in and treated as
.BR ulong s;
this extends the range of valid times into the year 2106.
.PP
.I Time
simply calls
.I nsec
and returns the value divided by 1000000000.
.PP
.I Nsec
is a system call.
Previous implementations read
.BR /dev/bintime ,
opening that file when first called,
and maintaining a static file descriptor;
however,
the maintenance of file descriptors in the face
of process forks is overly complex and prone to error.
.SH SOURCE
.B /sys/src/libc/9sys/time.c
.br
.B /sys/src/libc/9syscall
.SH SEE ALSO
.IR cputime (2),
.IR cons (3)
.SH DIAGNOSTICS
Sets
.IR errstr .
|