summaryrefslogtreecommitdiff
path: root/static/netbsd/man9/microtime.9 3.html
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man9/microtime.9 3.html
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (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.html121
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> &#x2014; <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
+ &lt;<a class="In">sys/time.h</a>&gt;</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>
+ &lt;<a class="Mt" href="mailto:kbyanc@posi.net">kbyanc@posi.net</a>&gt;.</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>