diff options
Diffstat (limited to 'doc/src/km/time.rs.html')
| -rw-r--r-- | doc/src/km/time.rs.html | 60 |
1 files changed, 58 insertions, 2 deletions
diff --git a/doc/src/km/time.rs.html b/doc/src/km/time.rs.html index 2476c7d..abcc81e 100644 --- a/doc/src/km/time.rs.html +++ b/doc/src/km/time.rs.html @@ -68,33 +68,89 @@ <span id="24">24</span> <span id="25">25</span> <span id="26">26</span> +<span id="27">27</span> +<span id="28">28</span> +<span id="29">29</span> +<span id="30">30</span> +<span id="31">31</span> +<span id="32">32</span> +<span id="33">33</span> +<span id="34">34</span> +<span id="35">35</span> +<span id="36">36</span> +<span id="37">37</span> +<span id="38">38</span> +<span id="39">39</span> +<span id="40">40</span> +<span id="41">41</span> +<span id="42">42</span> +<span id="43">43</span> +<span id="44">44</span> +<span id="45">45</span> +<span id="46">46</span> +<span id="47">47</span> +<span id="48">48</span> +<span id="49">49</span> +<span id="50">50</span> +<span id="51">51</span> +<span id="52">52</span> +<span id="53">53</span> +<span id="54">54</span> </pre><pre class='rust '> <span class='doccomment'>//! NT Time routines.</span> -<span class='doccomment'>/// System time is a count of 100-nanosecond intervals since January 1, 1601.</span> -<span class='kw'>pub</span> <span class='kw'>type</span> <span class='ident'>SYSTEMTIME</span> <span class='op'>=</span> <span class='ident'>i64</span>; +<span class='kw'>use</span> ::<span class='ident'>shared</span>::{<span class='ident'>SYSTEMTIME</span>}; + +<span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>"x86_64"</span>)]</span> +<span class='kw'>use</span> ::<span class='ident'>shared</span>::{<span class='ident'>KUSER_SHARED_DATA</span>}; + <span class='kw'>extern</span> <span class='string'>"system"</span> { + <span class='comment'>// The following exports exists only on x86 kernels.</span> + <span class='comment'>// x64 drivers must use KUSER_SHARED_DATA to obtain these values.</span> + + <span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>"x86"</span>)]</span> <span class='kw'>fn</span> <span class='ident'>KeQuerySystemTime</span>(<span class='ident'>CurrentTime</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>SYSTEMTIME</span>); + <span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>"x86"</span>)]</span> <span class='kw'>fn</span> <span class='ident'>KeQueryTickCount</span>(<span class='ident'>TickCount</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>i64</span>); + <span class='doccomment'>/// Converts a GMT system time value to the local system time for the current time zone.</span> <span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>ExSystemTimeToLocalTime</span>(<span class='ident'>SystemTime</span>: <span class='op'>*</span><span class='kw'>const</span> <span class='ident'>SYSTEMTIME</span>, <span class='ident'>LocalTime</span>: <span class='op'>*</span><span class='kw-2'>mut</span> <span class='ident'>SYSTEMTIME</span>); } + <span class='doccomment'>/// Obtains the current system time.</span> +<span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>"x86"</span>)]</span> <span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>QuerySystemTime</span>() <span class='op'>-></span> <span class='ident'>SYSTEMTIME</span> { <span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>t</span> <span class='op'>=</span> <span class='number'>0i64</span>; <span class='kw'>unsafe</span> { <span class='ident'>KeQuerySystemTime</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='ident'>t</span>) }; <span class='kw'>return</span> <span class='ident'>t</span>; } +<span class='doccomment'>/// Obtains the current system time.</span> +<span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>"x86_64"</span>)]</span> +<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>QuerySystemTime</span>() <span class='op'>-></span> <span class='ident'>SYSTEMTIME</span> { + <span class='kw'>let</span> <span class='ident'>shared</span> <span class='op'>=</span> <span class='ident'>KUSER_SHARED_DATA</span>::<span class='ident'>get</span>(); + <span class='ident'>SYSTEMTIME</span>::<span class='ident'>from</span>(<span class='ident'>shared</span>.<span class='ident'>SystemTime</span>) +} + + <span class='doccomment'>/// A count of the interval timer interrupts that have occurred since the system was booted.</span> +<span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>"x86"</span>)]</span> <span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>QueryTickCount</span>() <span class='op'>-></span> <span class='ident'>i64</span> { <span class='kw'>let</span> <span class='kw-2'>mut</span> <span class='ident'>t</span> <span class='op'>=</span> <span class='number'>0i64</span>; <span class='kw'>unsafe</span> { <span class='ident'>KeQueryTickCount</span>(<span class='kw-2'>&</span><span class='kw-2'>mut</span> <span class='ident'>t</span>) }; <span class='kw'>return</span> <span class='ident'>t</span>; } + + +<span class='doccomment'>/// A count of the interval timer interrupts that have occurred since the system was booted.</span> +<span class='attribute'>#[<span class='ident'>cfg</span>(<span class='ident'>target_arch</span> <span class='op'>=</span> <span class='string'>"x86_64"</span>)]</span> +<span class='kw'>pub</span> <span class='kw'>fn</span> <span class='ident'>QueryTickCount</span>() <span class='op'>-></span> <span class='ident'>i64</span> { + <span class='kw'>let</span> <span class='ident'>shared</span> <span class='op'>=</span> <span class='ident'>KUSER_SHARED_DATA</span>::<span class='ident'>get</span>(); + <span class='ident'>SYSTEMTIME</span>::<span class='ident'>from</span>(<span class='ident'>shared</span>.<span class='ident'>TickCount</span>) +} </pre> </section> <section id='search' class="content hidden"></section> |