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

247 lines
26 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: l4/sys/ipc.h File Reference</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('l4_2sys_2ipc_8h.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">ipc.h File Reference<div class="ingroups"><a class="el" href="group__l4__api.html">Base API</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Common IPC interface.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="l4_2sys_2types_8h_source.html">l4/sys/types.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="l4_2sys_2utcb_8h_source.html">l4/sys/utcb.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="err_8h_source.html">l4/sys/err.h</a>&gt;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for ipc.h:</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="l4_2sys_2ipc_8h__incl.svg" width="723" height="403"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>This graph shows which files directly or indirectly include this file:</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="l4_2sys_2ipc_8h__dep__incl.svg" width="5558" height="931"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<p><a href="l4_2sys_2ipc_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga896e67446a2348545f520c46a775c3c3" id="r_ga896e67446a2348545f520c46a775c3c3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__err__api.html#ga896e67446a2348545f520c46a775c3c3">l4_ipc_tcr_error_t</a> { <br />
&#160;&#160;<a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a78fdc613448b3bd32ca763b74d36f479">L4_IPC_ERROR_MASK</a> = 0x1F
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a15bb82ff4b26098045d1bf9060dff23a">L4_IPC_SND_ERR_MASK</a> = 0x01
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a31effea53c63c20ba523dfdd267806ef">L4_IPC_ENOT_EXISTENT</a> = 0x04
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3ae6969a577896d63af5ab754eafbcd349">L4_IPC_RETIMEOUT</a> = 0x03
, <br />
&#160;&#160;<a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a2cdbef705c48c7989a9af284156c1484">L4_IPC_SETIMEOUT</a> = 0x02
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a1e8c9ffe50b84ac34aec53e4dc25eb71">L4_IPC_RECANCELED</a> = 0x07
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3abd31d60b580f81f79455eec7c182689b">L4_IPC_SECANCELED</a> = 0x06
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a7c5d88061d3655f564a8ee399991ea2e">L4_IPC_REMAPFAILED</a> = 0x11
, <br />
&#160;&#160;<a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a7fda3a32fd3799f037026f64695f6ba3">L4_IPC_SEMAPFAILED</a> = 0x10
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3aef95ff27845411000a5c2c48bd538f2c">L4_IPC_RESNDPFTO</a> = 0x0b
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a28265ac5ca31ee8d1c244c383d7ef906">L4_IPC_SESNDPFTO</a> = 0x0a
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3af6e0e001ef0ecde1fd2d808cc82f958c">L4_IPC_RERCVPFTO</a> = 0x0d
, <br />
&#160;&#160;<a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3ac19db65b35693bfad3ad7dda0fc155ee">L4_IPC_SERCVPFTO</a> = 0x0c
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3ac03b0e2491dbc48d9adb7d3bb2ff949f">L4_IPC_REABORTED</a> = 0x0f
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3a06dbf4c712fade82f5073ae5ad1b028b">L4_IPC_SEABORTED</a> = 0x0e
, <a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3acfe35ea38d9bd5b67200793f96c6d7f2">L4_IPC_REMSGCUT</a> = 0x09
, <br />
&#160;&#160;<a class="el" href="group__l4__ipc__err__api.html#gga896e67446a2348545f520c46a775c3c3acea5de2618320038175e88cbd1007bf7">L4_IPC_SEMSGCUT</a> = 0x08
<br />
}</td></tr>
<tr class="memdesc:ga896e67446a2348545f520c46a775c3c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes in the <em>error</em> TCR. <a href="group__l4__ipc__err__api.html#ga896e67446a2348545f520c46a775c3c3">More...</a><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:gad40f404217497793e95a10d77a47db39" id="r_gad40f404217497793e95a10d77a47db39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__err__api.html#gad40f404217497793e95a10d77a47db39">l4_ipc_error</a> (<a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gad40f404217497793e95a10d77a47db39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the IPC error code for an IPC operation. <br /></td></tr>
<tr class="memitem:ga05c11e3e10b6c2aa941396ac2018899f" id="r_ga05c11e3e10b6c2aa941396ac2018899f"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__err__api.html#ga05c11e3e10b6c2aa941396ac2018899f">l4_error</a> (<a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga05c11e3e10b6c2aa941396ac2018899f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get IPC error code if any or message tag label otherwise for an IPC call. <br /></td></tr>
<tr class="memitem:ga18a8725ea0915c431c00c27fa77077d5" id="r_ga18a8725ea0915c431c00c27fa77077d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__err__api.html#ga18a8725ea0915c431c00c27fa77077d5">l4_ipc_is_snd_error</a> (<a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga18a8725ea0915c431c00c27fa77077d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether an error occurred in send phase of an invocation. <br /></td></tr>
<tr class="memitem:gaad658a6b136c770de69d15e330eba80e" id="r_gaad658a6b136c770de69d15e330eba80e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__err__api.html#gaad658a6b136c770de69d15e330eba80e">l4_ipc_is_rcv_error</a> (<a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gaad658a6b136c770de69d15e330eba80e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether an error occurred in receive phase of an invocation. <br /></td></tr>
<tr class="memitem:ga3b77d0d9d3794278bf464824e076c6b8" id="r_ga3b77d0d9d3794278bf464824e076c6b8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__err__api.html#ga3b77d0d9d3794278bf464824e076c6b8">l4_ipc_error_code</a> (<a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga3b77d0d9d3794278bf464824e076c6b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the error condition of the last invocation from the TCR. <br /></td></tr>
<tr class="memitem:a92b8e935d6fa1222f0358a477f539367" id="r_a92b8e935d6fa1222f0358a477f539367"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a92b8e935d6fa1222f0358a477f539367">l4_ipc_to_errno</a> (unsigned long ipc_error_code) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:a92b8e935d6fa1222f0358a477f539367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a negative error code for the given IPC error code. <br /></td></tr>
<tr class="memitem:ga7de45eb59ce852466362ea85da00299e" id="r_ga7de45eb59ce852466362ea85da00299e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#ga7de45eb59ce852466362ea85da00299e">l4_ipc_send</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> dest, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, <a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga7de45eb59ce852466362ea85da00299e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a message to an object (do <b>not</b> wait for a reply). <br /></td></tr>
<tr class="memitem:gade81ef7ed9cb9e08bec716e640eabe04" id="r_gade81ef7ed9cb9e08bec716e640eabe04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#gade81ef7ed9cb9e08bec716e640eabe04">l4_ipc_wait</a> (<a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> *label, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gade81ef7ed9cb9e08bec716e640eabe04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for an incoming message from any possible sender. <br /></td></tr>
<tr class="memitem:ga3a8617092651c67f9ef1670b53fce66c" id="r_ga3a8617092651c67f9ef1670b53fce66c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#ga3a8617092651c67f9ef1670b53fce66c">l4_ipc_receive</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> object, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga3a8617092651c67f9ef1670b53fce66c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a message from a specific source. <br /></td></tr>
<tr class="memitem:gab96d1669dcd54657237ee27b7f6862c6" id="r_gab96d1669dcd54657237ee27b7f6862c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#gab96d1669dcd54657237ee27b7f6862c6">l4_ipc_call</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> object, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, <a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gab96d1669dcd54657237ee27b7f6862c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object call (usual invocation). <br /></td></tr>
<tr class="memitem:ga1bd93bc08f402cc149bf62cba3ba9905" id="r_ga1bd93bc08f402cc149bf62cba3ba9905"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#ga1bd93bc08f402cc149bf62cba3ba9905">l4_ipc_reply_and_wait</a> (<a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, <a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> *label, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga1bd93bc08f402cc149bf62cba3ba9905"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reply and wait operation (uses the <em>reply</em> capability). <br /></td></tr>
<tr class="memitem:ga72ee1f322b3f633fb885905ce213e2b5" id="r_ga72ee1f322b3f633fb885905ce213e2b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#ga72ee1f322b3f633fb885905ce213e2b5">l4_ipc_send_and_wait</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> dest, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, <a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> *label, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga72ee1f322b3f633fb885905ce213e2b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a message and do an open wait. <br /></td></tr>
<tr class="memitem:ga1caa56d45e0453b3002e7f5cfdb0dec7" id="r_ga1caa56d45e0453b3002e7f5cfdb0dec7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#ga1caa56d45e0453b3002e7f5cfdb0dec7">l4_ipc</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> dest, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> flags, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> slabel, <a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> *rlabel, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga1caa56d45e0453b3002e7f5cfdb0dec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic <a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> object invocation. <br /></td></tr>
<tr class="memitem:gac3b4a3b13e77b799dc154c57a04cdd9b" id="r_gac3b4a3b13e77b799dc154c57a04cdd9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#gac3b4a3b13e77b799dc154c57a04cdd9b">l4_ipc_sleep</a> (<a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> timeout) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gac3b4a3b13e77b799dc154c57a04cdd9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for an amount of time. <br /></td></tr>
<tr class="memitem:gaf7beb30ebd9a71fbafeda9d1be057d88" id="r_gaf7beb30ebd9a71fbafeda9d1be057d88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#gaf7beb30ebd9a71fbafeda9d1be057d88">l4_ipc_sleep_ms</a> (<a class="el" href="group__l4__basic__types.html#gac1d09f3e382e711b776931f10e6e1e5a">l4_uint32_t</a> ms) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gaf7beb30ebd9a71fbafeda9d1be057d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for a certain amount of milliseconds. <br /></td></tr>
<tr class="memitem:ga5a466a7ca3fa167baadbd824238ad7cc" id="r_ga5a466a7ca3fa167baadbd824238ad7cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#ga5a466a7ca3fa167baadbd824238ad7cc">l4_ipc_sleep_us</a> (<a class="el" href="group__l4__basic__types.html#gaf3331c485014bd12a9e4f9d27a55e689">l4_uint64_t</a> us) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga5a466a7ca3fa167baadbd824238ad7cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for a certain amount of microseconds. <br /></td></tr>
<tr class="memitem:gad2fef5fd3d173495d89c122883e909d6" id="r_gad2fef5fd3d173495d89c122883e909d6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l4__ipc__api.html#gad2fef5fd3d173495d89c122883e909d6">l4_sndfpage_add</a> (<a class="el" href="unionl4__fpage__t.html">l4_fpage_t</a> const snd_fpage, unsigned long snd_base, <a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> *tag) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:gad2fef5fd3d173495d89c122883e909d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a flexpage to be sent to the UTCB. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Common IPC interface. </p>
<p class="definition">Definition in file <a class="el" href="l4_2sys_2ipc_8h_source.html">ipc.h</a>.</p>
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="a92b8e935d6fa1222f0358a477f539367" name="a92b8e935d6fa1222f0358a477f539367"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92b8e935d6fa1222f0358a477f539367">&#9670;&#160;</a></span>l4_ipc_to_errno()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">long l4_ipc_to_errno </td>
<td>(</td>
<td class="paramtype">unsigned long</td> <td class="paramname"><span class="paramname"><em>ipc_error_code</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 a negative error code for the given IPC error code. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ipc_error_code</td><td>IPC error code as delivered by the kernel. (or returned by the <a class="el" href="group__l4__ipc__err__api.html#ga3b77d0d9d3794278bf464824e076c6b8" title="Get the error condition of the last invocation from the TCR.">l4_ipc_error_code()</a> function). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>negative error code in the range of <a class="el" href="group__l4__error__api.html#ggab4c8abc71ffa221a25c1ca5840a354f9abca9ec6a352a4bc8856751834d732ef6" title="Communication error-range low.">L4_EIPC_LO</a> to <a class="el" href="group__l4__error__api.html#ggab4c8abc71ffa221a25c1ca5840a354f9a325defb4d4674d9a9492ba83f27b0855" title="Communication error-range high.">L4_EIPC_HI</a>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="l4_2sys_2ipc_8h_source.html#l00561">561</a> of file <a class="el" href="l4_2sys_2ipc_8h_source.html">ipc.h</a>.</p>
<p class="reference">References <a class="el" href="err_8h_source.html#l00060">L4_EIPC_LO</a>, <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>
</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="navelem"><b>l4</b></li><li class="navelem"><b>sys</b></li><li class="navelem"><a href="l4_2sys_2ipc_8h.html">ipc.h</a></li>
<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>