Files
moslab-code/doc/source/html/group__l4__timeout__api.html
2025-09-12 15:55:45 +02:00

758 lines
49 KiB
HTML

<!-- HTML header for doxygen 1.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.15.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>L4Re Operating System Framework: Timeouts</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="l4re-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="L4Re_rgb_logo_quer_hg_h55.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">L4Re Operating System Framework
</div>
<div id="projectbrief">Interface and Usage Documentation</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.15.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group__l4__timeout__api.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Timeouts <div class="ingroups"><a class="el" href="group__l4__api.html">Base API</a> &raquo; <a class="el" href="group__l4__ipc__api.html">Object Invocation</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>All kinds of timeouts and time related functions.
<a href="#details">More...</a></p>
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Timeouts:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api.svg" width="278" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:l4_5Ftimeout_5Fs" id="r_l4_5Ftimeout_5Fs"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic timeout specification. <a href="structl4__timeout__s.html#details">More...</a><br /></td></tr>
<tr class="memitem:l4_5Ftimeout_5Ft" id="r_l4_5Ftimeout_5Ft"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timeout pair. <a href="unionl4__timeout__t.html#details">More...</a><br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga1fd51d98ee92362453e7bc266fa8b455" id="r_ga1fd51d98ee92362453e7bc266fa8b455"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1fd51d98ee92362453e7bc266fa8b455">L4_IPC_TIMEOUT_0</a>&#160;&#160;&#160;((<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a>){0x0400})</td></tr>
<tr class="memdesc:ga1fd51d98ee92362453e7bc266fa8b455"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timeout constants. <br /></td></tr>
<tr class="memitem:ga10233285bd94a308b93087f765c83218" id="r_ga10233285bd94a308b93087f765c83218"><td class="memItemLeft" align="right" valign="top"><a id="ga10233285bd94a308b93087f765c83218" name="ga10233285bd94a308b93087f765c83218"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_IPC_TIMEOUT_NEVER</b>&#160;&#160;&#160;((<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a>){0})</td></tr>
<tr class="memdesc:ga10233285bd94a308b93087f765c83218"><td class="mdescLeft">&#160;</td><td class="mdescRight">never timeout <br /></td></tr>
<tr class="memitem:ga001c8f4d28b1d35cbf5efcc9af2d53f1" id="r_ga001c8f4d28b1d35cbf5efcc9af2d53f1"><td class="memItemLeft" align="right" valign="top"><a id="ga001c8f4d28b1d35cbf5efcc9af2d53f1" name="ga001c8f4d28b1d35cbf5efcc9af2d53f1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_IPC_NEVER_INITIALIZER</b>&#160;&#160;&#160;{0}</td></tr>
<tr class="memdesc:ga001c8f4d28b1d35cbf5efcc9af2d53f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">never timeout, initializer <br /></td></tr>
<tr class="memitem:gaf01c5e1475efc4f33bc7d1985f7320d3" id="r_gaf01c5e1475efc4f33bc7d1985f7320d3"><td class="memItemLeft" align="right" valign="top"><a id="gaf01c5e1475efc4f33bc7d1985f7320d3" name="gaf01c5e1475efc4f33bc7d1985f7320d3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_IPC_NEVER</b>&#160;&#160;&#160;((<a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a>){0})</td></tr>
<tr class="memdesc:gaf01c5e1475efc4f33bc7d1985f7320d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">never timeout <br /></td></tr>
<tr class="memitem:ga2b4da3c70663874f146d8309ff6d0bc1" id="r_ga2b4da3c70663874f146d8309ff6d0bc1"><td class="memItemLeft" align="right" valign="top"><a id="ga2b4da3c70663874f146d8309ff6d0bc1" name="ga2b4da3c70663874f146d8309ff6d0bc1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_IPC_RECV_TIMEOUT_0</b>&#160;&#160;&#160;((<a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a>){0x00000400})</td></tr>
<tr class="memdesc:ga2b4da3c70663874f146d8309ff6d0bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">0 receive timeout <br /></td></tr>
<tr class="memitem:ga22a6a662679f6baaa0ae931d8bb443ea" id="r_ga22a6a662679f6baaa0ae931d8bb443ea"><td class="memItemLeft" align="right" valign="top"><a id="ga22a6a662679f6baaa0ae931d8bb443ea" name="ga22a6a662679f6baaa0ae931d8bb443ea"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_IPC_SEND_TIMEOUT_0</b>&#160;&#160;&#160;((<a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a>){0x04000000})</td></tr>
<tr class="memdesc:ga22a6a662679f6baaa0ae931d8bb443ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">0 send timeout <br /></td></tr>
<tr class="memitem:gac33be3c7adb0515c7085b82d647517a2" id="r_gac33be3c7adb0515c7085b82d647517a2"><td class="memItemLeft" align="right" valign="top"><a id="gac33be3c7adb0515c7085b82d647517a2" name="gac33be3c7adb0515c7085b82d647517a2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_IPC_BOTH_TIMEOUT_0</b>&#160;&#160;&#160;((<a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a>){0x04000400})</td></tr>
<tr class="memdesc:gac33be3c7adb0515c7085b82d647517a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">0 receive and send timeout <br /></td></tr>
<tr class="memitem:ga34e6a9e35574ebeb3c4fea0bf6149a4b" id="r_ga34e6a9e35574ebeb3c4fea0bf6149a4b"><td class="memItemLeft" align="right" valign="top"><a id="ga34e6a9e35574ebeb3c4fea0bf6149a4b" name="ga34e6a9e35574ebeb3c4fea0bf6149a4b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_TIMEOUT_US_NEVER</b>&#160;&#160;&#160;(~0ULL)</td></tr>
<tr class="memdesc:ga34e6a9e35574ebeb3c4fea0bf6149a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The waiting period in microseconds which is interpreted as "never" by l4_timeout_from_us(). <br /></td></tr>
<tr class="memitem:gaa93cb666f12fc206a0095c899f417787" id="r_gaa93cb666f12fc206a0095c899f417787"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa93cb666f12fc206a0095c899f417787">L4_TIMEOUT_US_MAX</a>&#160;&#160;&#160;((1ULL &lt;&lt; 41) - 1)</td></tr>
<tr class="memdesc:gaa93cb666f12fc206a0095c899f417787"><td class="mdescLeft">&#160;</td><td class="mdescRight">The longest waiting period in microseconds accepted by l4_timeout_from_us(). <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-typedef-members" class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gae8d92e6e03cfe8c597003069302500a5" id="r_gae8d92e6e03cfe8c597003069302500a5"><td class="memItemLeft" align="right" valign="top">typedef struct l4_timeout_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gae8d92e6e03cfe8c597003069302500a5">l4_timeout_s</a></td></tr>
<tr class="memdesc:gae8d92e6e03cfe8c597003069302500a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic timeout specification. <br /></td></tr>
<tr class="memitem:ga208b8e86227b25b180a9283d37d3c468" id="r_ga208b8e86227b25b180a9283d37d3c468"><td class="memItemLeft" align="right" valign="top">typedef union l4_timeout_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga208b8e86227b25b180a9283d37d3c468">l4_timeout_t</a></td></tr>
<tr class="memdesc:ga208b8e86227b25b180a9283d37d3c468"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timeout pair. <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga0967b51ac450edca1eae7b6289320731" id="r_ga0967b51ac450edca1eae7b6289320731"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="structl4__timeout__s.html">l4_timeout_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0967b51ac450edca1eae7b6289320731">l4_timeout_rel</a> (unsigned man, unsigned exp) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga0967b51ac450edca1eae7b6289320731"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get relative timeout consisting of mantissa and exponent. <br /></td></tr>
<tr class="memitem:ga4f2ccd6c8ff6672a6bb22803a1009126" id="r_ga4f2ccd6c8ff6672a6bb22803a1009126"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4f2ccd6c8ff6672a6bb22803a1009126">l4_ipc_timeout</a> (unsigned snd_man, unsigned snd_exp, unsigned rcv_man, unsigned rcv_exp) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga4f2ccd6c8ff6672a6bb22803a1009126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert explicit timeout values to <a class="el" href="unionl4__timeout__t.html" title="Timeout pair.">l4_timeout_t</a> type. <br /></td></tr>
<tr class="memitem:ga7c5eebe8f0c4b5718ead96072886e7d2" id="r_ga7c5eebe8f0c4b5718ead96072886e7d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7c5eebe8f0c4b5718ead96072886e7d2">l4_timeout</a> (<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> snd, <a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> rcv) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga7c5eebe8f0c4b5718ead96072886e7d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combine send and receive timeout in a timeout. <br /></td></tr>
<tr class="memitem:ga81a3cccb62603cf13f26d61a61a442cd" id="r_ga81a3cccb62603cf13f26d61a61a442cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga81a3cccb62603cf13f26d61a61a442cd">l4_snd_timeout</a> (<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> snd, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> *to) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga81a3cccb62603cf13f26d61a61a442cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set send timeout in given to timeout. <br /></td></tr>
<tr class="memitem:ga153f7988c40df2fb5dd6dd468923e5f6" id="r_ga153f7988c40df2fb5dd6dd468923e5f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga153f7988c40df2fb5dd6dd468923e5f6">l4_rcv_timeout</a> (<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> rcv, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> *to) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga153f7988c40df2fb5dd6dd468923e5f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set receive timeout in given to timeout. <br /></td></tr>
<tr class="memitem:gad36403610d9a5b4d3bdcb6fcb249ba6c" id="r_gad36403610d9a5b4d3bdcb6fcb249ba6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gad36403610d9a5b4d3bdcb6fcb249ba6c">l4_timeout_rel_get</a> (<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> to) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gad36403610d9a5b4d3bdcb6fcb249ba6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get clock value of out timeout. <br /></td></tr>
<tr class="memitem:gabad6526067fe7f0e0268fa00efab7599" id="r_gabad6526067fe7f0e0268fa00efab7599"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gabad6526067fe7f0e0268fa00efab7599">l4_timeout_is_absolute</a> (<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> to) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gabad6526067fe7f0e0268fa00efab7599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return whether the given timeout is absolute or not. <br /></td></tr>
<tr class="memitem:ga1e9fecdd16e5d68f816797453e74d6c5" id="r_ga1e9fecdd16e5d68f816797453e74d6c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga1e9fecdd16e5d68f816797453e74d6c5">l4_timeout_get</a> (<a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a> cur, <a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> to) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga1e9fecdd16e5d68f816797453e74d6c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get clock value for a clock + a timeout. <br /></td></tr>
<tr class="memitem:gab3eeabba0542c7723fbd5628c6e4d6c3" id="r_gab3eeabba0542c7723fbd5628c6e4d6c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gab3eeabba0542c7723fbd5628c6e4d6c3">l4_timeout_abs</a> (<a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a> pint, int br) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gab3eeabba0542c7723fbd5628c6e4d6c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an absolute timeout. <br /></td></tr>
<tr class="memitem:gab6180d7a9aacb569666fea7aa8800c31" id="r_gab6180d7a9aacb569666fea7aa8800c31"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gab6180d7a9aacb569666fea7aa8800c31">l4_utcb_mr64_idx</a> (unsigned idx) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gab6180d7a9aacb569666fea7aa8800c31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get index into 64bit message registers alias from native-sized index. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>All kinds of timeouts and time related functions. </p>
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
<a id="ga1fd51d98ee92362453e7bc266fa8b455" name="ga1fd51d98ee92362453e7bc266fa8b455"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1fd51d98ee92362453e7bc266fa8b455">&#9670;&#160;</a></span>L4_IPC_TIMEOUT_0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define L4_IPC_TIMEOUT_0&#160;&#160;&#160;((<a class="el" href="structl4__timeout__s.html">l4_timeout_s</a>){0x0400})</td>
</tr>
</table>
</div><div class="memdoc">
<p>Timeout constants. </p>
<p>0 timeout </p>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00073">73</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="ipc__timeout__queue_source.html#l00160">L4::Ipc_svr::Timeout_queue_hooks&lt; HOOKS, BR_MAN &gt;::timeout()</a>.</p>
</div>
</div>
<a id="gaa93cb666f12fc206a0095c899f417787" name="gaa93cb666f12fc206a0095c899f417787"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa93cb666f12fc206a0095c899f417787">&#9670;&#160;</a></span>L4_TIMEOUT_US_MAX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define L4_TIMEOUT_US_MAX&#160;&#160;&#160;((1ULL &lt;&lt; 41) - 1)</td>
</tr>
</table>
</div><div class="memdoc">
<p>The longest waiting period in microseconds accepted by l4_timeout_from_us(). </p>
<p>See l4_timeout_from_us() for an explanation. </p>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00091">91</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
</div>
</div>
<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
<a id="gae8d92e6e03cfe8c597003069302500a5" name="gae8d92e6e03cfe8c597003069302500a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae8d92e6e03cfe8c597003069302500a5">&#9670;&#160;</a></span>l4_timeout_s</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct l4_timeout_s l4_timeout_s</td>
</tr>
</table>
</div><div class="memdoc">
<p>Basic timeout specification. </p>
<p>If bit 15 == 0, basically a floating point number with 10 bits mantissa and 5 bits exponent (t = m*2^e).</p>
<p>If the mantissa is zero, the exponent encodes special values, see <a class="el" href="#ga1fd51d98ee92362453e7bc266fa8b455" title="Timeout constants.">L4_IPC_TIMEOUT_0</a> and <a class="el" href="#ga10233285bd94a308b93087f765c83218" title="never timeout">L4_IPC_TIMEOUT_NEVER</a>.</p>
<p>If bit 15 == 1 the timeout is absolute and the lower 6 bits encode the index of the UTCB buffer register(s) holding the absolute 64-bit timeout value. On 32-bit systems, two consecutive UTCB buffer registers are used. </p>
</div>
</div>
<a id="ga208b8e86227b25b180a9283d37d3c468" name="ga208b8e86227b25b180a9283d37d3c468"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga208b8e86227b25b180a9283d37d3c468">&#9670;&#160;</a></span>l4_timeout_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef union l4_timeout_t l4_timeout_t</td>
</tr>
</table>
</div><div class="memdoc">
<p>Timeout pair. </p>
<p>For IPC there are usually a send and a receive timeout. So this structure contains a pair of timeouts. </p>
</div>
</div>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="ga4f2ccd6c8ff6672a6bb22803a1009126" name="ga4f2ccd6c8ff6672a6bb22803a1009126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4f2ccd6c8ff6672a6bb22803a1009126">&#9670;&#160;</a></span>l4_ipc_timeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> l4_ipc_timeout </td>
<td>(</td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>snd_man</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>snd_exp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>rcv_man</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>rcv_exp</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert explicit timeout values to <a class="el" href="unionl4__timeout__t.html" title="Timeout pair.">l4_timeout_t</a> type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">snd_man</td><td>Mantissa of send timeout. </td></tr>
<tr><td class="paramname">snd_exp</td><td>Exponent of send timeout. </td></tr>
<tr><td class="paramname">rcv_man</td><td>Mantissa of receive timeout. </td></tr>
<tr><td class="paramname">rcv_exp</td><td>Exponent of receive timeout. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00203">203</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, and <a class="el" href="____timeout_8h_source.html#l00213">l4_timeout()</a>.</p>
<div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_ga4f2ccd6c8ff6672a6bb22803a1009126_cgraph.svg" width="270" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
<a id="ga153f7988c40df2fb5dd6dd468923e5f6" name="ga153f7988c40df2fb5dd6dd468923e5f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga153f7988c40df2fb5dd6dd468923e5f6">&#9670;&#160;</a></span>l4_rcv_timeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> void l4_rcv_timeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td> <td class="paramname"><span class="paramname"><em>rcv</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> *</td> <td class="paramname"><span class="paramname"><em>to</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set receive timeout in given to timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">rcv</td><td>Receive timeout </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">to</td><td><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> timeout </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00227">227</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
</div>
</div>
<a id="ga81a3cccb62603cf13f26d61a61a442cd" name="ga81a3cccb62603cf13f26d61a61a442cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga81a3cccb62603cf13f26d61a61a442cd">&#9670;&#160;</a></span>l4_snd_timeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> void l4_snd_timeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td> <td class="paramname"><span class="paramname"><em>snd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> *</td> <td class="paramname"><span class="paramname"><em>to</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set send timeout in given to timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">snd</td><td>Send timeout </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">to</td><td><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> timeout </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00220">220</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
</div>
</div>
<a id="ga7c5eebe8f0c4b5718ead96072886e7d2" name="ga7c5eebe8f0c4b5718ead96072886e7d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7c5eebe8f0c4b5718ead96072886e7d2">&#9670;&#160;</a></span>l4_timeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> l4_timeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td> <td class="paramname"><span class="paramname"><em>snd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td> <td class="paramname"><span class="paramname"><em>rcv</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Combine send and receive timeout in a timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">snd</td><td>Send timeout </td></tr>
<tr><td class="paramname">rcv</td><td>Receive timeout</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> timeout </dd></dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00213">213</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
<p class="reference">Referenced by <a class="el" href="l4_2sys_2ipc_8h_source.html#l00615">l4_ipc_sleep_ms()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00622">l4_ipc_sleep_us()</a>, <a class="el" href="____timeout_8h_source.html#l00203">l4_ipc_timeout()</a>, and <a class="el" href="ipc__timeout__queue_source.html#l00160">L4::Ipc_svr::Timeout_queue_hooks&lt; HOOKS, BR_MAN &gt;::timeout()</a>.</p>
<div id="dynsection-2" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_ga7c5eebe8f0c4b5718ead96072886e7d2_icgraph.svg" width="579" height="243"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
<a id="gab3eeabba0542c7723fbd5628c6e4d6c3" name="gab3eeabba0542c7723fbd5628c6e4d6c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab3eeabba0542c7723fbd5628c6e4d6c3">&#9670;&#160;</a></span>l4_timeout_abs()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> l4_timeout_abs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a></td> <td class="paramname"><span class="paramname"><em>pint</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>br</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set an absolute timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pint</td><td>Point in time in clocks </td></tr>
<tr><td class="paramname">br</td><td>The buffer register the timeout shall be placed in. (</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>On 32bit architectures the timeout needs two consecutive buffers.)</dd>
<dd>
The absolute timeout value will be placed into the buffer register <em class="arg">br</em> of the current thread. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>timeout value </dd></dl>
<p class="definition">Definition at line <a class="el" href="l4_2sys_2utcb_8h_source.html#l00389">389</a> of file <a class="el" href="l4_2sys_2utcb_8h_source.html">utcb.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, and <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>.</p>
<p class="reference">Referenced by <a class="el" href="ipc__timeout__queue_source.html#l00160">L4::Ipc_svr::Timeout_queue_hooks&lt; HOOKS, BR_MAN &gt;::timeout()</a>.</p>
<div id="dynsection-3" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_gab3eeabba0542c7723fbd5628c6e4d6c3_cgraph.svg" width="251" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div id="dynsection-4" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_gab3eeabba0542c7723fbd5628c6e4d6c3_icgraph.svg" width="610" height="131"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
<a id="ga1e9fecdd16e5d68f816797453e74d6c5" name="ga1e9fecdd16e5d68f816797453e74d6c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1e9fecdd16e5d68f816797453e74d6c5">&#9670;&#160;</a></span>l4_timeout_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a> l4_timeout_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a></td> <td class="paramname"><span class="paramname"><em>cur</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td> <td class="paramname"><span class="paramname"><em>to</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get clock value for a clock + a timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cur</td><td>Clock value </td></tr>
<tr><td class="paramname">to</td><td><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> timeout</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Clock sum </dd></dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00257">257</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="____timeout_8h_source.html#l00250">l4_timeout_is_absolute()</a>, and <a class="el" href="____timeout_8h_source.html#l00241">l4_timeout_rel_get()</a>.</p>
<div id="dynsection-5" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_ga1e9fecdd16e5d68f816797453e74d6c5_cgraph.svg" width="352" height="86"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
<a id="gabad6526067fe7f0e0268fa00efab7599" name="gabad6526067fe7f0e0268fa00efab7599"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabad6526067fe7f0e0268fa00efab7599">&#9670;&#160;</a></span>l4_timeout_is_absolute()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> unsigned l4_timeout_is_absolute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td> <td class="paramname"><span class="paramname"><em>to</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return whether the given timeout is absolute or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to</td><td><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> timeout</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>!= 0 if absolute, 0 if relative </dd></dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00250">250</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
<p class="reference">Referenced by <a class="el" href="____timeout_8h_source.html#l00257">l4_timeout_get()</a>.</p>
<div id="dynsection-6" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
<div id="dynsection-6-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-6-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_gabad6526067fe7f0e0268fa00efab7599_icgraph.svg" width="352" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
<a id="ga0967b51ac450edca1eae7b6289320731" name="ga0967b51ac450edca1eae7b6289320731"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0967b51ac450edca1eae7b6289320731">&#9670;&#160;</a></span>l4_timeout_rel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="structl4__timeout__s.html">l4_timeout_s</a> l4_timeout_rel </td>
<td>(</td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>man</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>exp</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get relative timeout consisting of mantissa and exponent. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">man</td><td>Mantissa of timeout </td></tr>
<tr><td class="paramname">exp</td><td>Exponent of timeout</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>timeout value </dd></dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00234">234</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
</div>
</div>
<a id="gad36403610d9a5b4d3bdcb6fcb249ba6c" name="gad36403610d9a5b4d3bdcb6fcb249ba6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad36403610d9a5b4d3bdcb6fcb249ba6c">&#9670;&#160;</a></span>l4_timeout_rel_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__l4sys__defines.html#ga72341295822842d4830284fa77b9a46a">L4_CONSTEXPR</a> <a class="el" href="group__l4__basic__types.html#gab71da24eb7cda2c035f18b862309b101">l4_kernel_clock_t</a> l4_timeout_rel_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structl4__timeout__s.html">l4_timeout_s</a></td> <td class="paramname"><span class="paramname"><em>to</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get clock value of out timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to</td><td><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> timeout</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Clock value </dd></dl>
<p class="definition">Definition at line <a class="el" href="____timeout_8h_source.html#l00241">241</a> of file <a class="el" href="____timeout_8h_source.html">__timeout.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
<p class="reference">Referenced by <a class="el" href="____timeout_8h_source.html#l00257">l4_timeout_get()</a>.</p>
<div id="dynsection-7" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
<div id="dynsection-7-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-7-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_gad36403610d9a5b4d3bdcb6fcb249ba6c_icgraph.svg" width="323" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
<a id="gab6180d7a9aacb569666fea7aa8800c31" name="gab6180d7a9aacb569666fea7aa8800c31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab6180d7a9aacb569666fea7aa8800c31">&#9670;&#160;</a></span>l4_utcb_mr64_idx()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned l4_utcb_mr64_idx </td>
<td>(</td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>idx</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get index into 64bit message registers alias from native-sized index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">idx</td><td>Index to native-sized message register </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Index to 64bit message register alias </dd></dl>
<p class="definition">Definition at line <a class="el" href="l4_2sys_2utcb_8h_source.html#l00392">392</a> of file <a class="el" href="l4_2sys_2utcb_8h_source.html">utcb.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00051">L4_INLINE</a>, and <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
<p class="reference">Referenced by <a class="el" href="icu_8h_source.html#l00434">l4_icu_msi_info_u()</a>.</p>
<div id="dynsection-8" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the caller graph for this function:</div>
<div id="dynsection-8-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-8-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__timeout__api_gab6180d7a9aacb569666fea7aa8800c31_icgraph.svg" width="506" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on <span class="timestamp"></span> for L4Re Operating System Framework by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
</ul>
</div>
</body>
</html>