summaryrefslogtreecommitdiff
path: root/static/netbsd/man9/microtime.9
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man9/microtime.9')
-rw-r--r--static/netbsd/man9/microtime.9184
1 files changed, 184 insertions, 0 deletions
diff --git a/static/netbsd/man9/microtime.9 b/static/netbsd/man9/microtime.9
new file mode 100644
index 00000000..dab1996d
--- /dev/null
+++ b/static/netbsd/man9/microtime.9
@@ -0,0 +1,184 @@
+.\" $NetBSD: microtime.9,v 1.21 2013/09/17 19:58:03 wiz Exp $
+.\"
+.\" Copyright (c) 1998 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Jeremy Cooper.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" Copyright (c) 2000 Kelly Yancey
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD: src/share/man/man9/microtime.9,v 1.11 2005/10/13 16:01:28 jhb Exp $
+.\"
+.Dd May 13, 2013
+.Dt MICROTIME 9
+.Os
+.Sh NAME
+.Nm bintime ,
+.Nm getbintime ,
+.Nm microtime ,
+.Nm getmicrotime ,
+.Nm nanotime ,
+.Nm getnanotime
+.Nd get the current time
+.Sh SYNOPSIS
+.In sys/time.h
+.Ft void
+.Fo bintime
+.Fa "struct bintime *bt"
+.Fc
+.Ft void
+.Fo getbintime
+.Fa "struct bintime *bt"
+.Fc
+.Ft void
+.Fo "microtime"
+.Fa "struct timeval *tv"
+.Fc
+.Ft void
+.Fo getmicrotime
+.Fa "struct timeval *tv"
+.Fc
+.Ft void
+.Fo nanotime
+.Fa "struct timespec *tsp"
+.Fc
+.Ft void
+.Fo getnanotime
+.Fa "struct timespec *tsp"
+.Fc
+.Sh DESCRIPTION
+The
+.Fn bintime
+and
+.Fn getbintime
+functions store the system time as a
+.Vt "struct bintime"
+at the addresses specified by
+.Fa bt .
+The
+.Fn microtime
+and
+.Fn getmicrotime
+functions perform the same utility, but record the time as a
+.Vt "struct timeval"
+instead.
+Similarly the
+.Fn nanotime
+and
+.Fn getnanotime
+functions store the time as a
+.Vt "struct timespec" .
+The structures are described in
+.Xr timeval 3 .
+.Pp
+The
+.Fn bintime ,
+.Fn microtime ,
+and
+.Fn nanotime
+functions
+always query the timecounter to return the current time as precisely as
+possible.
+Whereas
+.Fn getbintime ,
+.Fn getmicrotime ,
+and
+.Fn getnanotime
+functions are abstractions which return a less precise, but
+faster to obtain, time.
+.Pp
+The intent of the
+.Fn getbintime ,
+.Fn getmicrotime ,
+and
+.Fn getnanotime
+functions is to enforce the user's preference for timer accuracy versus
+execution time.
+They should be used where a precision of
+.Pf 1/ Em HZ
+(e.g., 10 msec on a
+.Pf 100 Em HZ
+machine, see
+.Xr hz 9 )
+is acceptable or where performance is priority.
+.Pp
+The system realtime clock is guaranteed to be monotonically increasing
+at all times.
+As such, all calls to these functions are guaranteed to return a system time
+greater than or equal to the system time returned in any previous calls.
+Comparable functions exist to retrieve the time elapsed since boot; see
+.Xr microuptime 9 .
+.Sh CODE REFERENCES
+The implementation of the
+.Fn microtime
+family of functions is in
+.Pa sys/kern/kern_tc.c
+as a part of the
+.Xr timecounter 9
+framework.
+.Pp
+The implementation of the time counter sources used by the
+.Xr timecounter 9
+is machine dependent,
+hence its location in the source code tree varies from architecture to
+architecture.
+.Sh SEE ALSO
+.Xr settimeofday 2 ,
+.Xr bintime_add 9 ,
+.Xr inittodr 9 ,
+.Xr time_second 9 ,
+.Xr tvtohz 9
+.Sh AUTHORS
+This manual page was written by
+.An Jeremy Cooper
+and
+.An Kelly Yancey Aq Mt kbyanc@posi.net .
+.Sh CAVEATS
+Despite the guarantee that the system realtime clock will always be
+monotonically increasing,
+it is always possible for the system clock to be manually reset by the
+system administrator to any date.