1*eeb7e5b3SAdam Hornáček<?xml version="1.0" encoding="UTF-8"?> 2*eeb7e5b3SAdam Hornáček<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 3*eeb7e5b3SAdam Hornáček "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 4*eeb7e5b3SAdam Hornáček<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" 5*eeb7e5b3SAdam Hornáček class="xref"> 6*eeb7e5b3SAdam Hornáček<head> 7*eeb7e5b3SAdam Hornáček<title>sampleFile - OpenGrok cross reference for /sampleFile</title></head><body> 8*eeb7e5b3SAdam Hornáček<script type="text/javascript">/* <![CDATA[ */ 9*eeb7e5b3SAdam 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">/* 10*eeb7e5b3SAdam Hornáček<a class="l" name="2" href="#2">2</a><span class='fold-space'> </span> * CDDL HEADER START 11*eeb7e5b3SAdam Hornáček<a class="l" name="3" href="#3">3</a><span class='fold-space'> </span> * 12*eeb7e5b3SAdam 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 13*eeb7e5b3SAdam 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 14*eeb7e5b3SAdam 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 15*eeb7e5b3SAdam Hornáček<a class="l" name="7" href="#7">7</a><span class='fold-space'> </span> * with the License. 16*eeb7e5b3SAdam Hornáček<a class="l" name="8" href="#8">8</a><span class='fold-space'> </span> * 17*eeb7e5b3SAdam 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> 18*eeb7e5b3SAdam 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>. 19*eeb7e5b3SAdam 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 20*eeb7e5b3SAdam Hornáček<a class="l" name="12" href="#12">12</a><span class='fold-space'> </span> * and limitations under the License. 21*eeb7e5b3SAdam Hornáček<a class="l" name="13" href="#13">13</a><span class='fold-space'> </span> * 22*eeb7e5b3SAdam 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 23*eeb7e5b3SAdam 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>. 24*eeb7e5b3SAdam 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 25*eeb7e5b3SAdam 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 26*eeb7e5b3SAdam Hornáček<a class="l" name="18" href="#18">18</a><span class='fold-space'> </span> * information: Portions Copyright [yyyy] [name of copyright owner] 27*eeb7e5b3SAdam Hornáček<a class="l" name="19" href="#19">19</a><span class='fold-space'> </span> * 28*eeb7e5b3SAdam Hornáček<a class="hl" name="20" href="#20">20</a><span class='fold-space'> </span> * CDDL HEADER END 29*eeb7e5b3SAdam Hornáček<a class="l" name="21" href="#21">21</a><span class='fold-space'> </span> */</span> 30*eeb7e5b3SAdam Hornáček<a class="l" name="22" href="#22">22</a><span class='fold-space'> </span><span class="c">/* 31*eeb7e5b3SAdam Hornáček<a class="l" name="23" href="#23">23</a><span class='fold-space'> </span> * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 32*eeb7e5b3SAdam Hornáček<a class="l" name="24" href="#24">24</a><span class='fold-space'> </span> * Use is subject to license terms. 33*eeb7e5b3SAdam Hornáček<a class="l" name="25" href="#25">25</a><span class='fold-space'> </span> */</span> 34*eeb7e5b3SAdam Hornáček<a class="l" name="26" href="#26">26</a><span class='fold-space'> </span> 35*eeb7e5b3SAdam 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> 36*eeb7e5b3SAdam Hornáček<a class="l" name="28" href="#28">28</a><span class='fold-space'> </span> 37*eeb7e5b3SAdam 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>> 38*eeb7e5b3SAdam 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>> 39*eeb7e5b3SAdam 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>" 40*eeb7e5b3SAdam Hornáček<a class="l" name="32" href="#32">32</a><span class='fold-space'> </span> 41*eeb7e5b3SAdam Hornáček<a class="l" name="33" href="#33">33</a><span class='fold-space'> </span><span class="c">/* 42*eeb7e5b3SAdam Hornáček<a class="l" name="34" href="#34">34</a><span class='fold-space'> </span> * This function is blatently stolen from the kernel. 43*eeb7e5b3SAdam Hornáček<a class="l" name="35" href="#35">35</a><span class='fold-space'> </span> * See the dissertation in the comments preceding the 44*eeb7e5b3SAdam Hornáček<a class="l" name="36" href="#36">36</a><span class='fold-space'> </span> * hrt2ts() function in: 45*eeb7e5b3SAdam 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> 46*eeb7e5b3SAdam Hornáček<a class="l" name="38" href="#38">38</a><span class='fold-space'> </span> */</span> 47*eeb7e5b3SAdam Hornáček<a class="l" name="39" href="#39">39</a><span class='fold-space'> </span><b>void</b> 48*eeb7e5b3SAdam 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> 49*eeb7e5b3SAdam 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>{ 50*eeb7e5b3SAdam 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>; 51*eeb7e5b3SAdam Hornáček<a class="l" name="43" href="#43">43</a><span class='fold-space'> </span> 52*eeb7e5b3SAdam 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>); 53*eeb7e5b3SAdam 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>); 54*eeb7e5b3SAdam 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>); 55*eeb7e5b3SAdam 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>); 56*eeb7e5b3SAdam 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>; 57*eeb7e5b3SAdam 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>); 58*eeb7e5b3SAdam 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>); 59*eeb7e5b3SAdam 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>); 60*eeb7e5b3SAdam 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>); 61*eeb7e5b3SAdam 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>; 62*eeb7e5b3SAdam 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>; 63*eeb7e5b3SAdam 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>; 64*eeb7e5b3SAdam 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>); 65*eeb7e5b3SAdam 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>) { 66*eeb7e5b3SAdam 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>; 67*eeb7e5b3SAdam 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>++; 68*eeb7e5b3SAdam Hornáček<a class="hl" name="60" href="#60">60</a><span class='fold-space'> </span> } 69*eeb7e5b3SAdam 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>; 70*eeb7e5b3SAdam 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>; 71*eeb7e5b3SAdam Hornáček<a class="l" name="63" href="#63">63</a><span class='fold-space'> </span>} 72*eeb7e5b3SAdam Hornáček</span><a class="l" name="64" href="#64">64</a><span class='fold-space'> </span> 73*eeb7e5b3SAdam Hornáček<a class="l" name="65" href="#65">65</a><span class='fold-space'> </span><span class="c">/* 74*eeb7e5b3SAdam Hornáček<a class="l" name="66" href="#66">66</a><span class='fold-space'> </span> * Convert absolute time to relative time. 75*eeb7e5b3SAdam Hornáček<a class="l" name="67" href="#67">67</a><span class='fold-space'> </span> * All *timedwait() system call traps expect relative time. 76*eeb7e5b3SAdam Hornáček<a class="l" name="68" href="#68">68</a><span class='fold-space'> </span> */</span> 77*eeb7e5b3SAdam Hornáček<a class="l" name="69" href="#69">69</a><span class='fold-space'> </span><b>void</b> 78*eeb7e5b3SAdam 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> 79*eeb7e5b3SAdam 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>) 80*eeb7e5b3SAdam Hornáček<a class="l" name="72" href="#72">72</a><span class='fold-space'> </span>{ 81*eeb7e5b3SAdam 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> *); 82*eeb7e5b3SAdam 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>; 83*eeb7e5b3SAdam Hornáček<a class="l" name="75" href="#75">75</a><span class='fold-space'> </span> 84*eeb7e5b3SAdam 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>) 85*eeb7e5b3SAdam 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>); 86*eeb7e5b3SAdam Hornáček<a class="l" name="78" href="#78">78</a><span class='fold-space'> </span> <b>else</b> 87*eeb7e5b3SAdam 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>); 88*eeb7e5b3SAdam 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>) { 89*eeb7e5b3SAdam 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>; 90*eeb7e5b3SAdam 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>; 91*eeb7e5b3SAdam Hornáček<a class="l" name="83" href="#83">83</a><span class='fold-space'> </span> } <b>else</b> { 92*eeb7e5b3SAdam 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>; 93*eeb7e5b3SAdam 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>; 94*eeb7e5b3SAdam Hornáček<a class="l" name="86" href="#86">86</a><span class='fold-space'> </span> } 95*eeb7e5b3SAdam Hornáček<a class="l" name="87" href="#87">87</a><span class='fold-space'> </span> <span class="c">/* 96*eeb7e5b3SAdam Hornáček<a class="l" name="88" href="#88">88</a><span class='fold-space'> </span> * If the absolute time has already passed, 97*eeb7e5b3SAdam Hornáček<a class="l" name="89" href="#89">89</a><span class='fold-space'> </span> * just set the relative time to zero. 98*eeb7e5b3SAdam Hornáček<a class="hl" name="90" href="#90">90</a><span class='fold-space'> </span> */</span> 99*eeb7e5b3SAdam 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) { 100*eeb7e5b3SAdam 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; 101*eeb7e5b3SAdam 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>; 102*eeb7e5b3SAdam Hornáček<a class="l" name="94" href="#94">94</a><span class='fold-space'> </span> } 103*eeb7e5b3SAdam Hornáček<a class="l" name="95" href="#95">95</a><span class='fold-space'> </span> <span class="c">/* 104*eeb7e5b3SAdam 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, 105*eeb7e5b3SAdam 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 106*eeb7e5b3SAdam 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. 107*eeb7e5b3SAdam 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 108*eeb7e5b3SAdam 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. 109*eeb7e5b3SAdam Hornáček<a class="l" name="101" href="#101">101</a><span class='fold-space'> </span> */</span> 110*eeb7e5b3SAdam 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>) 111*eeb7e5b3SAdam 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>; 112*eeb7e5b3SAdam Hornáček<a class="l" name="104" href="#104">104</a><span class='fold-space'> </span> 113*eeb7e5b3SAdam 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>; 114*eeb7e5b3SAdam 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>; 115*eeb7e5b3SAdam 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>; 116*eeb7e5b3SAdam 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>; 117*eeb7e5b3SAdam 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>; 118*eeb7e5b3SAdam 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>; 119*eeb7e5b3SAdam Hornáček<a class="l" name="111" href="#111">111</a><span class='fold-space'> </span> 120*eeb7e5b3SAdam 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> 121*eeb7e5b3SAdam 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>; 122*eeb7e5b3SAdam 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>; 123*eeb7e5b3SAdam 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>; 124*eeb7e5b3SAdam 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>; 125*eeb7e5b3SAdam 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>; 126*eeb7e5b3SAdam 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>; 127*eeb7e5b3SAdam 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>; 128*eeb7e5b3SAdam 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>; 129*eeb7e5b3SAdam 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>; 130*eeb7e5b3SAdam 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>; 131*eeb7e5b3SAdam Hornáček<a class="l" name="123" href="#123">123</a><span class='fold-space'> </span>} 132*eeb7e5b3SAdam Hornáček</span><a class="l" name="124" href="#124">124</a><span class='fold-space'> </span> 133*eeb7e5b3SAdam 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> 134*eeb7e5b3SAdam Hornáček<a class="l" name="126" href="#126">126</a><span class='fold-space'> </span></body> 135*eeb7e5b3SAdam Hornáček</html> 136