diff options
Diffstat (limited to 'static/netbsd/man9/microtime.9')
| -rw-r--r-- | static/netbsd/man9/microtime.9 | 184 |
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. |
