diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man9/microtime.9 3.html | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man9/microtime.9 3.html')
| -rw-r--r-- | static/netbsd/man9/microtime.9 3.html | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/static/netbsd/man9/microtime.9 3.html b/static/netbsd/man9/microtime.9 3.html new file mode 100644 index 00000000..0966aa13 --- /dev/null +++ b/static/netbsd/man9/microtime.9 3.html @@ -0,0 +1,121 @@ +<table class="head"> + <tr> + <td class="head-ltitle">MICROTIME(9)</td> + <td class="head-vol">Kernel Developer's Manual</td> + <td class="head-rtitle">MICROTIME(9)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">bintime</code>, + <code class="Nm">getbintime</code>, <code class="Nm">microtime</code>, + <code class="Nm">getmicrotime</code>, <code class="Nm">nanotime</code>, + <code class="Nm">getnanotime</code> — <span class="Nd">get the + current time</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> +<p class="Pp"><code class="In">#include + <<a class="In">sys/time.h</a>></code></p> +<p class="Pp"><var class="Ft">void</var> + <br/> + <code class="Fn">bintime</code>(<var class="Fa">struct bintime *bt</var>);</p> +<p class="Pp"><var class="Ft">void</var> + <br/> + <code class="Fn">getbintime</code>(<var class="Fa">struct bintime + *bt</var>);</p> +<p class="Pp"><var class="Ft">void</var> + <br/> + <code class="Fn">microtime</code>(<var class="Fa">struct timeval + *tv</var>);</p> +<p class="Pp"><var class="Ft">void</var> + <br/> + <code class="Fn">getmicrotime</code>(<var class="Fa">struct timeval + *tv</var>);</p> +<p class="Pp"><var class="Ft">void</var> + <br/> + <code class="Fn">nanotime</code>(<var class="Fa">struct timespec + *tsp</var>);</p> +<p class="Pp"><var class="Ft">void</var> + <br/> + <code class="Fn">getnanotime</code>(<var class="Fa">struct timespec + *tsp</var>);</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">The + <a class="permalink" href="#bintime"><code class="Fn" id="bintime">bintime</code></a>() + and <code class="Fn">getbintime</code>() functions store the system time as + a <var class="Vt">struct bintime</var> at the addresses specified by + <var class="Fa">bt</var>. The <code class="Fn">microtime</code>() and + <code class="Fn">getmicrotime</code>() functions perform the same utility, + but record the time as a <var class="Vt">struct timeval</var> instead. + Similarly the <code class="Fn">nanotime</code>() and + <code class="Fn">getnanotime</code>() functions store the time as a + <var class="Vt">struct timespec</var>. The structures are described in + <a class="Xr">timeval(3)</a>.</p> +<p class="Pp" id="bintime~2">The + <a class="permalink" href="#bintime~2"><code class="Fn">bintime</code></a>(), + <code class="Fn">microtime</code>(), and + <a class="permalink" href="#nanotime"><code class="Fn" id="nanotime">nanotime</code></a>() + functions always query the timecounter to return the current time as + precisely as possible. Whereas <code class="Fn">getbintime</code>(), + <code class="Fn">getmicrotime</code>(), and + <code class="Fn">getnanotime</code>() functions are abstractions which + return a less precise, but faster to obtain, time.</p> +<p class="Pp" id="getbintime">The intent of the + <a class="permalink" href="#getbintime"><code class="Fn">getbintime</code></a>(), + <a class="permalink" href="#getmicrotime"><code class="Fn" id="getmicrotime">getmicrotime</code></a>(), + and + <a class="permalink" href="#getnanotime"><code class="Fn" id="getnanotime">getnanotime</code></a>() + functions is to enforce the user's preference for timer accuracy versus + execution time. They should be used where a precision of + 1/<i class="Em">HZ</i> (e.g., 10 msec on a 100<i class="Em">HZ</i> machine, + see <a class="Xr">hz(9)</a>) is acceptable or where performance is + priority.</p> +<p class="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 <a class="Xr">microuptime(9)</a>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="CODE_REFERENCES"><a class="permalink" href="#CODE_REFERENCES">CODE + REFERENCES</a></h1> +<p class="Pp">The implementation of the + <a class="permalink" href="#microtime"><code class="Fn" id="microtime">microtime</code></a>() + family of functions is in <span class="Pa">sys/kern/kern_tc.c</span> as a + part of the <a class="Xr">timecounter(9)</a> framework.</p> +<p class="Pp">The implementation of the time counter sources used by the + <a class="Xr">timecounter(9)</a> is machine dependent, hence its location in + the source code tree varies from architecture to architecture.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp"><a class="Xr">settimeofday(2)</a>, + <a class="Xr">bintime_add(9)</a>, <a class="Xr">inittodr(9)</a>, + <a class="Xr">time_second(9)</a>, <a class="Xr">tvtohz(9)</a></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> +<p class="Pp">This manual page was written by <span class="An">Jeremy + Cooper</span> and + <br/> + <span class="An">Kelly Yancey</span> + <<a class="Mt" href="mailto:kbyanc@posi.net">kbyanc@posi.net</a>>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1> +<p class="Pp">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.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">May 13, 2013</td> + <td class="foot-os">NetBSD 10.1</td> + </tr> +</table> |
