1*a4d08de4SAdam Hornáček<!DOCTYPE html> 2*a4d08de4SAdam Hornáček<html lang="en"> 3eeb7e5b3SAdam Hornáček<head> 4*a4d08de4SAdam Hornáček<meta charset="UTF-8"> 5eeb7e5b3SAdam Hornáček<title>sampleFile - OpenGrok cross reference for /sampleFile</title></head><body> 6eeb7e5b3SAdam Hornáček<script type="text/javascript">/* <![CDATA[ */ 7eeb7e5b3SAdam Hornáčekfunction get_sym_list(){return [["Function","xf",[["abstime_to_reltime",70],["hrt2ts",40]]]];} /* ]]> */</script><a class="l" name="1" href="#1">1</a><span class='fold-space'> </span><span class="c">/* 8eeb7e5b3SAdam Hornáček<a class="l" name="2" href="#2">2</a><span class='fold-space'> </span> * CDDL HEADER START 9eeb7e5b3SAdam Hornáček<a class="l" name="3" href="#3">3</a><span class='fold-space'> </span> * 10eeb7e5b3SAdam Hornáček<a class="l" name="4" href="#4">4</a><span class='fold-space'> </span> * The contents of this file are subject to the terms of the 11eeb7e5b3SAdam Hornáček<a class="l" name="5" href="#5">5</a><span class='fold-space'> </span> * Common Development and Distribution License, Version 1.0 only 12eeb7e5b3SAdam Hornáček<a class="l" name="6" href="#6">6</a><span class='fold-space'> </span> * (the "License"). You may not use this file except in compliance 13eeb7e5b3SAdam Hornáček<a class="l" name="7" href="#7">7</a><span class='fold-space'> </span> * with the License. 14eeb7e5b3SAdam Hornáček<a class="l" name="8" href="#8">8</a><span class='fold-space'> </span> * 15eeb7e5b3SAdam Hornáček<a class="l" name="9" href="#9">9</a><span class='fold-space'> </span> * You can obtain a copy of the license at <a href="/source/s?path=usr/">usr</a>/<a href="/source/s?path=usr/src/">src</a>/<a href="/source/s?path=usr/src/OPENSOLARIS.LICENSE">OPENSOLARIS.LICENSE</a> 16eeb7e5b3SAdam Hornáček<a class="hl" name="10" href="#10">10</a><span class='fold-space'> </span> * or <a href="http://www.opensolaris.org/os/licensing">http://www.opensolaris.org/os/licensing</a>. 17eeb7e5b3SAdam Hornáček<a class="l" name="11" href="#11">11</a><span class='fold-space'> </span> * See the License for the specific language governing permissions 18eeb7e5b3SAdam Hornáček<a class="l" name="12" href="#12">12</a><span class='fold-space'> </span> * and limitations under the License. 19eeb7e5b3SAdam Hornáček<a class="l" name="13" href="#13">13</a><span class='fold-space'> </span> * 20eeb7e5b3SAdam Hornáček<a class="l" name="14" href="#14">14</a><span class='fold-space'> </span> * When distributing Covered Code, include this CDDL HEADER in each 21eeb7e5b3SAdam Hornáček<a class="l" name="15" href="#15">15</a><span class='fold-space'> </span> * file and include the License file at <a href="/source/s?path=usr/">usr</a>/<a href="/source/s?path=usr/src/">src</a>/<a href="/source/s?path=usr/src/OPENSOLARIS.LICENSE">OPENSOLARIS.LICENSE</a>. 22eeb7e5b3SAdam Hornáček<a class="l" name="16" href="#16">16</a><span class='fold-space'> </span> * If applicable, add the following below this CDDL HEADER, with the 23eeb7e5b3SAdam Hornáček<a class="l" name="17" href="#17">17</a><span class='fold-space'> </span> * fields enclosed by brackets "[]" replaced with your own identifying 24eeb7e5b3SAdam Hornáček<a class="l" name="18" href="#18">18</a><span class='fold-space'> </span> * information: Portions Copyright [yyyy] [name of copyright owner] 25eeb7e5b3SAdam Hornáček<a class="l" name="19" href="#19">19</a><span class='fold-space'> </span> * 26eeb7e5b3SAdam Hornáček<a class="hl" name="20" href="#20">20</a><span class='fold-space'> </span> * CDDL HEADER END 27eeb7e5b3SAdam Hornáček<a class="l" name="21" href="#21">21</a><span class='fold-space'> </span> */</span> 28eeb7e5b3SAdam Hornáček<a class="l" name="22" href="#22">22</a><span class='fold-space'> </span><span class="c">/* 29eeb7e5b3SAdam Hornáček<a class="l" name="23" href="#23">23</a><span class='fold-space'> </span> * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 30eeb7e5b3SAdam Hornáček<a class="l" name="24" href="#24">24</a><span class='fold-space'> </span> * Use is subject to license terms. 31eeb7e5b3SAdam Hornáček<a class="l" name="25" href="#25">25</a><span class='fold-space'> </span> */</span> 32eeb7e5b3SAdam Hornáček<a class="l" name="26" href="#26">26</a><span class='fold-space'> </span> 33eeb7e5b3SAdam Hornáček<a class="l" name="27" href="#27">27</a><span class='fold-space'> </span>#<b>pragma</b> <b>ident</b> <span class="s">"%Z%%M% %I% %E% SMI"</span> 34eeb7e5b3SAdam Hornáček<a class="l" name="28" href="#28">28</a><span class='fold-space'> </span> 35eeb7e5b3SAdam Hornáček<a class="l" name="29" href="#29">29</a><span class='fold-space'> </span>#<b>include</b> <<a href="/source/s?path=sys/">sys</a>/<a href="/source/s?path=sys/types.h">types.h</a>> 36eeb7e5b3SAdam Hornáček<a class="hl" name="30" href="#30">30</a><span class='fold-space'> </span>#<b>include</b> <<a href="/source/s?path=time.h">time.h</a>> 37eeb7e5b3SAdam Hornáček<a class="l" name="31" href="#31">31</a><span class='fold-space'> </span>#<b>include</b> "<a href="/source/s?path=errno.ext1">errno.ext1</a>" 38eeb7e5b3SAdam Hornáček<a class="l" name="32" href="#32">32</a><span class='fold-space'> </span> 39eeb7e5b3SAdam Hornáček<a class="l" name="33" href="#33">33</a><span class='fold-space'> </span><span class="c">/* 40eeb7e5b3SAdam Hornáček<a class="l" name="34" href="#34">34</a><span class='fold-space'> </span> * This function is blatently stolen from the kernel. 41eeb7e5b3SAdam Hornáček<a class="l" name="35" href="#35">35</a><span class='fold-space'> </span> * See the dissertation in the comments preceding the 42eeb7e5b3SAdam Hornáček<a class="l" name="36" href="#36">36</a><span class='fold-space'> </span> * hrt2ts() function in: 43eeb7e5b3SAdam Hornáček<a class="l" name="37" href="#37">37</a><span class='fold-space'> </span> * <a href="/source/s?path=uts/">uts</a>/<a href="/source/s?path=uts/common/">common</a>/<a href="/source/s?path=uts/common/os/">os</a>/<a href="/source/s?path=uts/common/os/timers.c">timers.c</a> 44eeb7e5b3SAdam Hornáček<a class="l" name="38" href="#38">38</a><span class='fold-space'> </span> */</span> 45eeb7e5b3SAdam Hornáček<a class="l" name="39" href="#39">39</a><span class='fold-space'> </span><b>void</b> 46eeb7e5b3SAdam Hornáček<span id='scope_id_6d8e64a0' class='scope-head'><span class='scope-signature'>hrt2ts(hrtime_t hrt,timespec_t * tsp)</span><a class="hl" name="40" href="#40">40</a><a style='cursor:pointer;' onclick='fold(this.parentNode.id)' id='scope_id_6d8e64a0_fold_icon'><span class='fold-icon'> </span></a><a class="xf" name="hrt2ts"/><a href="/source/s?refs=hrt2ts" class="xf intelliWindow-symbol" data-definition-place="def">hrt2ts</a>(<a href="/source/s?defs=hrtime_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">hrtime_t</a> <a class="xa" name="hrt"/><a href="/source/s?refs=hrt" class="xa intelliWindow-symbol" data-definition-place="def">hrt</a>, <a href="/source/s?defs=timespec_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">timespec_t</a> *<a class="xa" name="tsp"/><a href="/source/s?refs=tsp" class="xa intelliWindow-symbol" data-definition-place="def">tsp</a>)</span> 47eeb7e5b3SAdam Hornáček<span id='scope_id_6d8e64a0_fold' class='scope-body'><a class="l" name="41" href="#41">41</a><span class='fold-space'> </span>{ 48eeb7e5b3SAdam Hornáček<a class="l" name="42" href="#42">42</a><span class='fold-space'> </span> <a href="/source/s?defs=uint32_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">uint32_t</a> <a class="xl" name="sec"/><a href="/source/s?refs=sec" class="xl intelliWindow-symbol" data-definition-place="def">sec</a>, <a class="xl" name="nsec"/><a href="/source/s?refs=nsec" class="xl intelliWindow-symbol" data-definition-place="def">nsec</a>, <a class="xl" name="tmp"/><a href="/source/s?refs=tmp" class="xl intelliWindow-symbol" data-definition-place="def">tmp</a>; 49eeb7e5b3SAdam Hornáček<a class="l" name="43" href="#43">43</a><span class='fold-space'> </span> 50eeb7e5b3SAdam Hornáček<a class="l" name="44" href="#44">44</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> = (<a href="/source/s?defs=uint32_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">uint32_t</a>)(<a class="d intelliWindow-symbol" href="#hrt" data-definition-place="defined-in-file">hrt</a> >> <span class="n">30</span>); 51eeb7e5b3SAdam Hornáček<a class="l" name="45" href="#45">45</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - (<a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> >> <span class="n">2</span>); 52eeb7e5b3SAdam Hornáček<a class="l" name="46" href="#46">46</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> >> <span class="n">5</span>); 53eeb7e5b3SAdam Hornáček<a class="l" name="47" href="#47">47</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> + (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> >> <span class="n">1</span>); 54eeb7e5b3SAdam Hornáček<a class="l" name="48" href="#48">48</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> >> <span class="n">6</span>) + <span class="n">7</span>; 55eeb7e5b3SAdam Hornáček<a class="l" name="49" href="#49">49</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> >> <span class="n">3</span>); 56eeb7e5b3SAdam Hornáček<a class="hl" name="50" href="#50">50</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> + (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> >> <span class="n">1</span>); 57eeb7e5b3SAdam Hornáček<a class="l" name="51" href="#51">51</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> + (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> >> <span class="n">3</span>); 58eeb7e5b3SAdam Hornáček<a class="l" name="52" href="#52">52</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> = <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> + (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> >> <span class="n">4</span>); 59eeb7e5b3SAdam Hornáček<a class="l" name="53" href="#53">53</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> = (<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> << <span class="n">7</span>) - <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> - <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a> - <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a>; 60eeb7e5b3SAdam Hornáček<a class="l" name="54" href="#54">54</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> = (<a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> << <span class="n">7</span>) - <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a>; 61eeb7e5b3SAdam Hornáček<a class="l" name="55" href="#55">55</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> = (<a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> << <span class="n">7</span>) - <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> - <a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a>; 62eeb7e5b3SAdam Hornáček<a class="l" name="56" href="#56">56</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#nsec" data-definition-place="defined-in-file">nsec</a> = (<a href="/source/s?defs=uint32_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">uint32_t</a>)<a class="d intelliWindow-symbol" href="#hrt" data-definition-place="defined-in-file">hrt</a> - (<a class="d intelliWindow-symbol" href="#tmp" data-definition-place="defined-in-file">tmp</a> << <span class="n">9</span>); 63eeb7e5b3SAdam Hornáček<a class="l" name="57" href="#57">57</a><span class='fold-space'> </span> <b>while</b> (<a class="d intelliWindow-symbol" href="#nsec" data-definition-place="defined-in-file">nsec</a> >= <a href="/source/s?defs=NANOSEC" class="intelliWindow-symbol" data-definition-place="undefined-in-file">NANOSEC</a>) { 64eeb7e5b3SAdam Hornáček<a class="l" name="58" href="#58">58</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#nsec" data-definition-place="defined-in-file">nsec</a> -= <a href="/source/s?defs=NANOSEC" class="intelliWindow-symbol" data-definition-place="undefined-in-file">NANOSEC</a>; 65eeb7e5b3SAdam Hornáček<a class="l" name="59" href="#59">59</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a>++; 66eeb7e5b3SAdam Hornáček<a class="hl" name="60" href="#60">60</a><span class='fold-space'> </span> } 67eeb7e5b3SAdam Hornáček<a class="l" name="61" href="#61">61</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#tsp" data-definition-place="defined-in-file">tsp</a>-><a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> = (<a href="/source/s?defs=time_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">time_t</a>)<a class="d intelliWindow-symbol" href="#sec" data-definition-place="defined-in-file">sec</a>; 68eeb7e5b3SAdam Hornáček<a class="l" name="62" href="#62">62</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#tsp" data-definition-place="defined-in-file">tsp</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> = <a class="d intelliWindow-symbol" href="#nsec" data-definition-place="defined-in-file">nsec</a>; 69eeb7e5b3SAdam Hornáček<a class="l" name="63" href="#63">63</a><span class='fold-space'> </span>} 70eeb7e5b3SAdam Hornáček</span><a class="l" name="64" href="#64">64</a><span class='fold-space'> </span> 71eeb7e5b3SAdam Hornáček<a class="l" name="65" href="#65">65</a><span class='fold-space'> </span><span class="c">/* 72eeb7e5b3SAdam Hornáček<a class="l" name="66" href="#66">66</a><span class='fold-space'> </span> * Convert absolute time to relative time. 73eeb7e5b3SAdam Hornáček<a class="l" name="67" href="#67">67</a><span class='fold-space'> </span> * All *timedwait() system call traps expect relative time. 74eeb7e5b3SAdam Hornáček<a class="l" name="68" href="#68">68</a><span class='fold-space'> </span> */</span> 75eeb7e5b3SAdam Hornáček<a class="l" name="69" href="#69">69</a><span class='fold-space'> </span><b>void</b> 76eeb7e5b3SAdam Hornáček<span id='scope_id_eb746c64' class='scope-head'><span class='scope-signature'>abstime_to_reltime(clockid_t clock_id,const timespec_t * abstime,timespec_t * reltime)</span><a class="hl" name="70" href="#70">70</a><a style='cursor:pointer;' onclick='fold(this.parentNode.id)' id='scope_id_eb746c64_fold_icon'><span class='fold-icon'> </span></a><a class="xf" name="abstime_to_reltime"/><a href="/source/s?refs=abstime_to_reltime" class="xf intelliWindow-symbol" data-definition-place="def">abstime_to_reltime</a>(<a href="/source/s?defs=clockid_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">clockid_t</a> <a class="xa" name="clock_id"/><a href="/source/s?refs=clock_id" class="xa intelliWindow-symbol" data-definition-place="def">clock_id</a>,</span> 77eeb7e5b3SAdam Hornáček<span id='scope_id_eb746c64_fold' class='scope-body'><a class="l" name="71" href="#71">71</a><span class='fold-space'> </span> <b>const</b> <a href="/source/s?defs=timespec_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">timespec_t</a> *<a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>, <a href="/source/s?defs=timespec_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">timespec_t</a> *<a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>) 78eeb7e5b3SAdam Hornáček<a class="l" name="72" href="#72">72</a><span class='fold-space'> </span>{ 79eeb7e5b3SAdam Hornáček<a class="l" name="73" href="#73">73</a><span class='fold-space'> </span> <b>extern</b> <b>int</b> <a href="/source/s?defs=__clock_gettime" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__clock_gettime</a>(<a href="/source/s?defs=clockid_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">clockid_t</a>, <a href="/source/s?defs=timespec_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">timespec_t</a> *); 80eeb7e5b3SAdam Hornáček<a class="l" name="74" href="#74">74</a><span class='fold-space'> </span> <a href="/source/s?defs=timespec_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">timespec_t</a> <a class="xl" name="now"/><a href="/source/s?refs=now" class="xl intelliWindow-symbol" data-definition-place="def">now</a>; 81eeb7e5b3SAdam Hornáček<a class="l" name="75" href="#75">75</a><span class='fold-space'> </span> 82eeb7e5b3SAdam Hornáček<a class="l" name="76" href="#76">76</a><span class='fold-space'> </span> <b>if</b> (<a class="d intelliWindow-symbol" href="#clock_id" data-definition-place="defined-in-file">clock_id</a> == <a href="/source/s?defs=CLOCK_HIGHRES" class="intelliWindow-symbol" data-definition-place="undefined-in-file">CLOCK_HIGHRES</a>) 83eeb7e5b3SAdam Hornáček<a class="l" name="77" href="#77">77</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#hrt2ts" data-definition-place="defined-in-file">hrt2ts</a>(<a href="/source/s?defs=gethrtime" class="intelliWindow-symbol" data-definition-place="undefined-in-file">gethrtime</a>(), &<a class="d intelliWindow-symbol" href="#now" data-definition-place="defined-in-file">now</a>); 84eeb7e5b3SAdam Hornáček<a class="l" name="78" href="#78">78</a><span class='fold-space'> </span> <b>else</b> 85eeb7e5b3SAdam Hornáček<a class="l" name="79" href="#79">79</a><span class='fold-space'> </span> (<b>void</b>) <a href="/source/s?defs=__clock_gettime" class="intelliWindow-symbol" data-definition-place="undefined-in-file">__clock_gettime</a>(<a class="d intelliWindow-symbol" href="#clock_id" data-definition-place="defined-in-file">clock_id</a>, &<a class="d intelliWindow-symbol" href="#now" data-definition-place="defined-in-file">now</a>); 86eeb7e5b3SAdam Hornáček<a class="hl" name="80" href="#80">80</a><span class='fold-space'> </span> <b>if</b> (<a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> >= <a class="d intelliWindow-symbol" href="#now" data-definition-place="defined-in-file">now</a>.<a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a>) { 87eeb7e5b3SAdam Hornáček<a class="l" name="81" href="#81">81</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> = <a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>-><a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> - <a class="d intelliWindow-symbol" href="#now" data-definition-place="defined-in-file">now</a>.<a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a>; 88eeb7e5b3SAdam Hornáček<a class="l" name="82" href="#82">82</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> = <a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> - <a class="d intelliWindow-symbol" href="#now" data-definition-place="defined-in-file">now</a>.<a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a>; 89eeb7e5b3SAdam Hornáček<a class="l" name="83" href="#83">83</a><span class='fold-space'> </span> } <b>else</b> { 90eeb7e5b3SAdam Hornáček<a class="l" name="84" href="#84">84</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> = <a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>-><a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> - <a class="d intelliWindow-symbol" href="#now" data-definition-place="defined-in-file">now</a>.<a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> - <span class="n">1</span>; 91eeb7e5b3SAdam Hornáček<a class="l" name="85" href="#85">85</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> = <a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> - <a class="d intelliWindow-symbol" href="#now" data-definition-place="defined-in-file">now</a>.<a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> + <a href="/source/s?defs=NANOSEC" class="intelliWindow-symbol" data-definition-place="undefined-in-file">NANOSEC</a>; 92eeb7e5b3SAdam Hornáček<a class="l" name="86" href="#86">86</a><span class='fold-space'> </span> } 93eeb7e5b3SAdam Hornáček<a class="l" name="87" href="#87">87</a><span class='fold-space'> </span> <span class="c">/* 94eeb7e5b3SAdam Hornáček<a class="l" name="88" href="#88">88</a><span class='fold-space'> </span> * If the absolute time has already passed, 95eeb7e5b3SAdam Hornáček<a class="l" name="89" href="#89">89</a><span class='fold-space'> </span> * just set the relative time to zero. 96eeb7e5b3SAdam Hornáček<a class="hl" name="90" href="#90">90</a><span class='fold-space'> </span> */</span> 97eeb7e5b3SAdam Hornáček<a class="l" name="91" href="#91">91</a><span class='fold-space'> </span> <b>if</b> (<a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> < 0) { 98eeb7e5b3SAdam Hornáček<a class="l" name="92" href="#92">92</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_sec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_sec</a> = 0; 99eeb7e5b3SAdam Hornáček<a class="l" name="93" href="#93">93</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> = 0 + <span class="n">0xFFFF</span> - <span class="n">0xFF</span> - <span class="n">0XFF00</span>; 100eeb7e5b3SAdam Hornáček<a class="l" name="94" href="#94">94</a><span class='fold-space'> </span> } 101eeb7e5b3SAdam Hornáček<a class="l" name="95" href="#95">95</a><span class='fold-space'> </span> <span class="c">/* 102eeb7e5b3SAdam Hornáček<a class="l" name="96" href="#96">96</a><span class='fold-space'> </span> * If the specified absolute time has a bad nanoseconds value, 103eeb7e5b3SAdam Hornáček<a class="l" name="97" href="#97">97</a><span class='fold-space'> </span> * assign it to the relative time value. If the interface 104eeb7e5b3SAdam Hornáček<a class="l" name="98" href="#98">98</a><span class='fold-space'> </span> * attempts to sleep, the bad value will be detected then. 105eeb7e5b3SAdam Hornáček<a class="l" name="99" href="#99">99</a><span class='fold-space'> </span> * The SUSV3 Posix spec is very clear that such detection 106eeb7e5b3SAdam Hornáček<a class="hl" name="100" href="#100">100</a><span class='fold-space'> </span> * should not happen until an attempt to sleep is made. 107eeb7e5b3SAdam Hornáček<a class="l" name="101" href="#101">101</a><span class='fold-space'> </span> */</span> 108eeb7e5b3SAdam Hornáček<a class="l" name="102" href="#102">102</a><span class='fold-space'> </span> <b>if</b> ((<a href="/source/s?defs=ulong_t" class="intelliWindow-symbol" data-definition-place="undefined-in-file">ulong_t</a>)<a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> >= <a href="/source/s?defs=NANOSEC" class="intelliWindow-symbol" data-definition-place="undefined-in-file">NANOSEC</a>) 109eeb7e5b3SAdam Hornáček<a class="l" name="103" href="#103">103</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#reltime" data-definition-place="defined-in-file">reltime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a> = <a class="d intelliWindow-symbol" href="#abstime" data-definition-place="defined-in-file">abstime</a>-><a href="/source/s?defs=tv_nsec" class="intelliWindow-symbol" data-definition-place="undefined-in-file">tv_nsec</a>; 110eeb7e5b3SAdam Hornáček<a class="l" name="104" href="#104">104</a><span class='fold-space'> </span> 111eeb7e5b3SAdam Hornáček<a class="l" name="105" href="#105">105</a><span class='fold-space'> </span> <b>int</b> <a class="xl" name="dec"/><a href="/source/s?refs=dec" class="xl intelliWindow-symbol" data-definition-place="def">dec</a> = <span class="n">42</span>; 112eeb7e5b3SAdam Hornáček<a class="l" name="106" href="#106">106</a><span class='fold-space'> </span> <b>int</b> <a class="xl" name="o"/><a href="/source/s?refs=o" class="xl intelliWindow-symbol" data-definition-place="def">o</a> = <span class="n">052</span>; 113eeb7e5b3SAdam Hornáček<a class="l" name="107" href="#107">107</a><span class='fold-space'> </span> <b>int</b> <a class="xl" name="x"/><a href="/source/s?refs=x" class="xl intelliWindow-symbol" data-definition-place="def">x</a> = <span class="n">0x2a</span>; 114eeb7e5b3SAdam Hornáček<a class="l" name="108" href="#108">108</a><span class='fold-space'> </span> <b>int</b> <a class="xl" name="X"/><a href="/source/s?refs=X" class="xl intelliWindow-symbol" data-definition-place="def">X</a> = <span class="n">0X2A</span>; 115eeb7e5b3SAdam Hornáček<a class="l" name="109" href="#109">109</a><span class='fold-space'> </span> <b>unsigned</b> <b>long</b> <b>long</b> <a class="xl" name="ull"/><a href="/source/s?refs=ull" class="xl intelliWindow-symbol" data-definition-place="def">ull</a> = <span class="n">12345678901234567890ull</span>; 116eeb7e5b3SAdam Hornáček<a class="hl" name="110" href="#110">110</a><span class='fold-space'> </span> <b>unsigned</b> <b>long</b> <a class="xl" name="u"/><a href="/source/s?refs=u" class="xl intelliWindow-symbol" data-definition-place="def">u</a> = <span class="n">12345678901234567890u</span>; 117eeb7e5b3SAdam Hornáček<a class="l" name="111" href="#111">111</a><span class='fold-space'> </span> 118eeb7e5b3SAdam Hornáček<a class="l" name="112" href="#112">112</a><span class='fold-space'> </span> <b>double</b> <a class="xl" name="d"/><a href="/source/s?refs=d" class="xl intelliWindow-symbol" data-definition-place="def">d</a> = <span class="n">0x1.2p3</span>; <span class="c">/* hex frac 1.2(dec 1.125) scaled by 2^3, i.e. 9.0*/</span> 119eeb7e5b3SAdam Hornáček<a class="l" name="113" href="#113">113</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">1.2e3</span>; 120eeb7e5b3SAdam Hornáček<a class="l" name="114" href="#114">114</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">1e0</span>; 121eeb7e5b3SAdam Hornáček<a class="l" name="115" href="#115">115</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">1.</span>; 122eeb7e5b3SAdam Hornáček<a class="l" name="116" href="#116">116</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">.1</span>; 123eeb7e5b3SAdam Hornáček<a class="l" name="117" href="#117">117</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">15.0</span>; 124eeb7e5b3SAdam Hornáček<a class="l" name="118" href="#118">118</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">0x1.ep+3</span>; 125eeb7e5b3SAdam Hornáček<a class="l" name="119" href="#119">119</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">2.0e+308</span>; 126eeb7e5b3SAdam Hornáček<a class="hl" name="120" href="#120">120</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">1.0e-324</span>; 127eeb7e5b3SAdam Hornáček<a class="l" name="121" href="#121">121</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">-1.0e-324</span>; 128eeb7e5b3SAdam Hornáček<a class="l" name="122" href="#122">122</a><span class='fold-space'> </span> <a class="d intelliWindow-symbol" href="#d" data-definition-place="defined-in-file">d</a> = <span class="n">-2.0e+308</span>; 129eeb7e5b3SAdam Hornáček<a class="l" name="123" href="#123">123</a><span class='fold-space'> </span>} 130eeb7e5b3SAdam Hornáček</span><a class="l" name="124" href="#124">124</a><span class='fold-space'> </span> 131eeb7e5b3SAdam Hornáček<a class="l" name="125" href="#125">125</a><span class='fold-space'> </span><span class="c">/*<a href="http://example.com">http://example.com</a>*/</span> 132eeb7e5b3SAdam Hornáček<a class="l" name="126" href="#126">126</a><span class='fold-space'> </span></body> 133eeb7e5b3SAdam Hornáček</html> 134