1 <h2>mapped_tvalspec
</h2>
<hr>
<p>
<strong>Structure
</strong> - Specifies the format the kernel uses to maintain a mapped clock's time.
<h3>SYNOPSIS
</h3>
<pre>
<strong>struct mapped_tvalspec
</strong>
<strong>{
</strong>
<strong>tvalspec_t
</strong> <var>mtv_time
</var><strong>;
</strong>
<strong>unsigned int
</strong> <var>mtv_csec
</var><strong>;
</strong>
<strong>};
</strong>
<strong>typedef struct mapped_tvalspec mapped_tvalspec_t;
</strong>
</pre>
<h3>FIELDS
</h3>
<dl>
<dt> <var>mtv_time
</var>
<dd>
Clock time.
<p>
<dt> <var>mtv_csec
</var>
<dd>
A field used to synchronize with the kernel's setting of the time.
</dl>
<h3>DESCRIPTION
</h3>
<p>
The
<strong>mapped_tvalspec
</strong> structure defines the format of the
current-time structure
maintained by the kernel and visible through a mapped clock
(
<strong>clock_map_time
</strong>). The data in this structure is updated at the
clock's current resolution and contains the same
<strong>tvalspec
</strong> value that
would be returned by
<strong>clock_get_time
</strong>.
<h3>NOTES
</h3>
<p>
Because of the race between the referencing of the multiple fields
in the clock
value and the kernel's setting them, they should be referenced as follows:
<p>
<pre>
<strong>tvalspec_t* ts;
</strong>
<strong>do
</strong>
<strong>{
</strong>
<strong>ts-
> tv_sec = mtime -
> mtv_time.tv_sec;
</strong>
<strong>ts -
> tv_nsec = mtime -
> mtv_time.tv_nsec;
</strong>
<strong>} while (ts -
> tv_sec != mtime -
> mtv_csec);
</strong>
</pre>
<h3>RELATED INFORMATION
</h3>
<p>
Functions:
<a href=
"clock_map_time.html"><strong>clock_map_time
</strong></a>,
<a href=
"clock_get_time.html"><strong>clock_get_time
</strong></a>.
<p>
Data Structures:
<a href=
"tvalspec.html"><strong>tvalspec
</strong></a>.