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

379 lines
60 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: Basic Macros</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__l4sys__defines.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">Basic Macros <div class="ingroups"><a class="el" href="group__l4__api.html">Base API</a></div></div></div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> standard macros for header files, function definitions, and public APIs etc.
<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 Basic Macros:</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__l4sys__defines.svg" width="246" 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-files" class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:linkage_2Eh" id="r_linkage_2Eh"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arm_2l4_2sys_2linkage_8h.html">linkage.h</a></td></tr>
<tr class="memdesc:arm_2l4_2sys_2linkage_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linkage. <br /></td></tr>
<tr class="memitem:linkage_2Eh" id="r_linkage_2Eh"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="amd64_2l4_2sys_2linkage_8h.html">linkage.h</a></td></tr>
<tr class="memdesc:amd64_2l4_2sys_2linkage_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linkage. <br /></td></tr>
<tr class="memitem:linkage_2Eh" id="r_linkage_2Eh"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="x86_2l4_2sys_2linkage_8h.html">linkage.h</a></td></tr>
<tr class="memdesc:x86_2l4_2sys_2linkage_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linkage. <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:ga427377e23e3680dc178035d391b2ca45" id="r_ga427377e23e3680dc178035d391b2ca45"><td class="memItemLeft" align="right" valign="top"><a id="ga427377e23e3680dc178035d391b2ca45" name="ga427377e23e3680dc178035d391b2ca45"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_INLINE</b></td></tr>
<tr class="memdesc:ga427377e23e3680dc178035d391b2ca45"><td class="mdescLeft">&#160;</td><td class="mdescRight">L4 Inline function attribute. <br /></td></tr>
<tr class="memitem:ga2480e75b7c2b4976ce05d124d6d4c984" id="r_ga2480e75b7c2b4976ce05d124d6d4c984"><td class="memItemLeft" align="right" valign="top"><a id="ga2480e75b7c2b4976ce05d124d6d4c984" name="ga2480e75b7c2b4976ce05d124d6d4c984"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_ALWAYS_INLINE</b></td></tr>
<tr class="memdesc:ga2480e75b7c2b4976ce05d124d6d4c984"><td class="mdescLeft">&#160;</td><td class="mdescRight">Always inline a function. <br /></td></tr>
<tr class="memitem:ga5f022ce5422df9cc6ed415e2bfc90f59" id="r_ga5f022ce5422df9cc6ed415e2bfc90f59"><td class="memItemLeft" align="right" valign="top"><a id="ga5f022ce5422df9cc6ed415e2bfc90f59" name="ga5f022ce5422df9cc6ed415e2bfc90f59"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_BEGIN_DECLS</b></td></tr>
<tr class="memdesc:ga5f022ce5422df9cc6ed415e2bfc90f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start section with C types and functions. <br /></td></tr>
<tr class="memitem:ga7b3d88f2118cbb7b8057a860dbdd0381" id="r_ga7b3d88f2118cbb7b8057a860dbdd0381"><td class="memItemLeft" align="right" valign="top"><a id="ga7b3d88f2118cbb7b8057a860dbdd0381" name="ga7b3d88f2118cbb7b8057a860dbdd0381"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_END_DECLS</b></td></tr>
<tr class="memdesc:ga7b3d88f2118cbb7b8057a860dbdd0381"><td class="mdescLeft">&#160;</td><td class="mdescRight">End section with C types and functions. <br /></td></tr>
<tr class="memitem:ga362dfa378e662dd04f710a23fc7ea931" id="r_ga362dfa378e662dd04f710a23fc7ea931"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
<tr class="memdesc:ga362dfa378e662dd04f710a23fc7ea931"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mark a function declaration and definition as never throwing an exception. <br /></td></tr>
<tr class="memitem:ga63e7f1ab50a1b3049bdd0a34e97423c2" id="r_ga63e7f1ab50a1b3049bdd0a34e97423c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga63e7f1ab50a1b3049bdd0a34e97423c2">L4_EXPORT</a></td></tr>
<tr class="memdesc:ga63e7f1ab50a1b3049bdd0a34e97423c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attribute to mark functions, variables, and data types as being exported from a library. <br /></td></tr>
<tr class="memitem:gacd71f0ba2a27d5dfb679c2e8b6b20fee" id="r_gacd71f0ba2a27d5dfb679c2e8b6b20fee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gacd71f0ba2a27d5dfb679c2e8b6b20fee">L4_HIDDEN</a></td></tr>
<tr class="memdesc:gacd71f0ba2a27d5dfb679c2e8b6b20fee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attribute to mark functions, variables, and data types as being explicitly hidden from users of a library. <br /></td></tr>
<tr class="memitem:ga72341295822842d4830284fa77b9a46a" id="r_ga72341295822842d4830284fa77b9a46a"><td class="memItemLeft" align="right" valign="top"><a id="ga72341295822842d4830284fa77b9a46a" name="ga72341295822842d4830284fa77b9a46a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_CONSTEXPR</b></td></tr>
<tr class="memdesc:ga72341295822842d4830284fa77b9a46a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constexpr function attribute. <br /></td></tr>
<tr class="memitem:gab2364b91355f435e015c5b85b7d93a73" id="r_gab2364b91355f435e015c5b85b7d93a73"><td class="memItemLeft" align="right" valign="top"><a id="gab2364b91355f435e015c5b85b7d93a73" name="gab2364b91355f435e015c5b85b7d93a73"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_NORETURN</b></td></tr>
<tr class="memdesc:gab2364b91355f435e015c5b85b7d93a73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Noreturn function attribute. <br /></td></tr>
<tr class="memitem:ga4dcf33a0e0c2cb199673614b4236ec87" id="r_ga4dcf33a0e0c2cb199673614b4236ec87"><td class="memItemLeft" align="right" valign="top"><a id="ga4dcf33a0e0c2cb199673614b4236ec87" name="ga4dcf33a0e0c2cb199673614b4236ec87"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_NOINSTRUMENT</b></td></tr>
<tr class="memdesc:ga4dcf33a0e0c2cb199673614b4236ec87"><td class="mdescLeft">&#160;</td><td class="mdescRight">No instrumentation function attribute. <br /></td></tr>
<tr class="memitem:gac76599eba5afa89a12c44176cbfa90cb" id="r_gac76599eba5afa89a12c44176cbfa90cb"><td class="memItemLeft" align="right" valign="top"><a id="gac76599eba5afa89a12c44176cbfa90cb" name="gac76599eba5afa89a12c44176cbfa90cb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_LIKELY</b>(x)</td></tr>
<tr class="memdesc:gac76599eba5afa89a12c44176cbfa90cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expression is likely to execute. <br /></td></tr>
<tr class="memitem:ga3df4200910f2664b97397c23693beeb0" id="r_ga3df4200910f2664b97397c23693beeb0"><td class="memItemLeft" align="right" valign="top"><a id="ga3df4200910f2664b97397c23693beeb0" name="ga3df4200910f2664b97397c23693beeb0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_UNLIKELY</b>(x)</td></tr>
<tr class="memdesc:ga3df4200910f2664b97397c23693beeb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expression is unlikely to execute. <br /></td></tr>
<tr class="memitem:ga97a5414eb11311e9bf949c750faf738b" id="r_ga97a5414eb11311e9bf949c750faf738b"><td class="memItemLeft" align="right" valign="top"><a id="ga97a5414eb11311e9bf949c750faf738b" name="ga97a5414eb11311e9bf949c750faf738b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_STICKY</b>(x)</td></tr>
<tr class="memdesc:ga97a5414eb11311e9bf949c750faf738b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mark symbol sticky (even not there). <br /></td></tr>
<tr class="memitem:gac61263de7580bce70e1f518201a7f83a" id="r_gac61263de7580bce70e1f518201a7f83a"><td class="memItemLeft" align="right" valign="top"><a id="gac61263de7580bce70e1f518201a7f83a" name="gac61263de7580bce70e1f518201a7f83a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_DEPRECATED</b>(s)</td></tr>
<tr class="memdesc:gac61263de7580bce70e1f518201a7f83a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mark symbol deprecated. <br /></td></tr>
<tr class="memitem:ga05c9b0615ef872ca9eb4b25b02fcf4b6" id="r_ga05c9b0615ef872ca9eb4b25b02fcf4b6"><td class="memItemLeft" align="right" valign="top"><a id="ga05c9b0615ef872ca9eb4b25b02fcf4b6" name="ga05c9b0615ef872ca9eb4b25b02fcf4b6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_stringify_helper</b>(x)</td></tr>
<tr class="memdesc:ga05c9b0615ef872ca9eb4b25b02fcf4b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">stringify helper. <br /></td></tr>
<tr class="memitem:ga0038ee4d61fca8060b76f7d3de894eca" id="r_ga0038ee4d61fca8060b76f7d3de894eca"><td class="memItemLeft" align="right" valign="top"><a id="ga0038ee4d61fca8060b76f7d3de894eca" name="ga0038ee4d61fca8060b76f7d3de894eca"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_stringify</b>(x)</td></tr>
<tr class="memdesc:ga0038ee4d61fca8060b76f7d3de894eca"><td class="mdescLeft">&#160;</td><td class="mdescRight">stringify. <br /></td></tr>
<tr class="memitem:ga2469cd44710705e9f0a5832e060ec48a" id="r_ga2469cd44710705e9f0a5832e060ec48a"><td class="memItemLeft" align="right" valign="top"><a id="ga2469cd44710705e9f0a5832e060ec48a" name="ga2469cd44710705e9f0a5832e060ec48a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_CV</b></td></tr>
<tr class="memdesc:ga2469cd44710705e9f0a5832e060ec48a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define calling convention. <br /></td></tr>
<tr class="memitem:ga2469cd44710705e9f0a5832e060ec48a" id="r_ga2469cd44710705e9f0a5832e060ec48a"><td class="memItemLeft" align="right" valign="top"><a id="ga2469cd44710705e9f0a5832e060ec48a" name="ga2469cd44710705e9f0a5832e060ec48a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_CV</b></td></tr>
<tr class="memdesc:ga2469cd44710705e9f0a5832e060ec48a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define calling convention. <br /></td></tr>
<tr class="memitem:ga2469cd44710705e9f0a5832e060ec48a" id="r_ga2469cd44710705e9f0a5832e060ec48a"><td class="memItemLeft" align="right" valign="top"><a id="ga2469cd44710705e9f0a5832e060ec48a" name="ga2469cd44710705e9f0a5832e060ec48a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_CV</b></td></tr>
<tr class="memdesc:ga2469cd44710705e9f0a5832e060ec48a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define calling convention. <br /></td></tr>
<tr class="memitem:ga2469cd44710705e9f0a5832e060ec48a" id="r_ga2469cd44710705e9f0a5832e060ec48a"><td class="memItemLeft" align="right" valign="top"><a id="ga2469cd44710705e9f0a5832e060ec48a" name="ga2469cd44710705e9f0a5832e060ec48a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>L4_CV</b></td></tr>
<tr class="memdesc:ga2469cd44710705e9f0a5832e060ec48a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define calling convention. <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:ga5fa71e3c259e42d171bdb65a5e708b82" id="r_ga5fa71e3c259e42d171bdb65a5e708b82"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5fa71e3c259e42d171bdb65a5e708b82">l4_align_stack_for_direct_fncall</a> (unsigned long stack)</td></tr>
<tr class="memdesc:ga5fa71e3c259e42d171bdb65a5e708b82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specify the desired alignment of the stack pointer. <br /></td></tr>
<tr class="memitem:ga4accdcabe8bddb4964f8986855e7c728" id="r_ga4accdcabe8bddb4964f8986855e7c728"><td class="memItemLeft" align="right" valign="top"><a id="ga4accdcabe8bddb4964f8986855e7c728" name="ga4accdcabe8bddb4964f8986855e7c728"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>l4_barrier</b> (void)</td></tr>
<tr class="memdesc:ga4accdcabe8bddb4964f8986855e7c728"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory barrier. <br /></td></tr>
<tr class="memitem:ga5d5bbbe36a0d144d1f465dbca715718e" id="r_ga5d5bbbe36a0d144d1f465dbca715718e"><td class="memItemLeft" align="right" valign="top"><a id="ga5d5bbbe36a0d144d1f465dbca715718e" name="ga5d5bbbe36a0d144d1f465dbca715718e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>l4_mb</b> (void)</td></tr>
<tr class="memdesc:ga5d5bbbe36a0d144d1f465dbca715718e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory barrier. <br /></td></tr>
<tr class="memitem:ga095f2ab26de8289771dae829f4637fc0" id="r_ga095f2ab26de8289771dae829f4637fc0"><td class="memItemLeft" align="right" valign="top"><a id="ga095f2ab26de8289771dae829f4637fc0" name="ga095f2ab26de8289771dae829f4637fc0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>l4_wmb</b> (void)</td></tr>
<tr class="memdesc:ga095f2ab26de8289771dae829f4637fc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write memory barrier. <br /></td></tr>
<tr class="memitem:ga7e0662663afd5c5b43c5dd66576e5cff" id="r_ga7e0662663afd5c5b43c5dd66576e5cff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#gab2364b91355f435e015c5b85b7d93a73">L4_NORETURN</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7e0662663afd5c5b43c5dd66576e5cff">l4_infinite_loop</a> (void)</td></tr>
<tr class="memdesc:ga7e0662663afd5c5b43c5dd66576e5cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Infinite loop. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> standard macros for header files, function definitions, and public APIs etc. </p>
<dl class="section user"><dt>Include File</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="compiler_8h.html">l4/sys/compiler.h</a>&gt;</span> </div>
<div class="ttc" id="acompiler_8h_html"><div class="ttname"><a href="compiler_8h.html">compiler.h</a></div><div class="ttdoc">L4 compiler related defines.</div></div>
</div><!-- fragment --> </dd></dl>
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
<a id="ga63e7f1ab50a1b3049bdd0a34e97423c2" name="ga63e7f1ab50a1b3049bdd0a34e97423c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga63e7f1ab50a1b3049bdd0a34e97423c2">&#9670;&#160;</a></span>L4_EXPORT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define L4_EXPORT</td>
</tr>
</table>
</div><div class="memdoc">
<p>Attribute to mark functions, variables, and data types as being exported from a library. </p>
<p>All data types, functions, and global variables that shall be exported from a library shall be marked with this attribute. The default may become to hide everything that is not marked as L4_EXPORT from the users of a library and provide the possibility for aggressive optimization of all those internal functionality of a library.</p>
<p>Usage: </p><div class="fragment"><div class="line"><span class="keyword">class </span><a class="code hl_define" href="#ga63e7f1ab50a1b3049bdd0a34e97423c2">L4_EXPORT</a> My_class</div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> <a class="code hl_define" href="#ga63e7f1ab50a1b3049bdd0a34e97423c2">L4_EXPORT</a> function(<span class="keywordtype">void</span>);</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> <a class="code hl_define" href="#ga63e7f1ab50a1b3049bdd0a34e97423c2">L4_EXPORT</a> global_data; <span class="comment">// global data is not recommended</span></div>
<div class="ttc" id="agroup__l4sys__defines_html_ga63e7f1ab50a1b3049bdd0a34e97423c2"><div class="ttname"><a href="#ga63e7f1ab50a1b3049bdd0a34e97423c2">L4_EXPORT</a></div><div class="ttdeci">#define L4_EXPORT</div><div class="ttdoc">Attribute to mark functions, variables, and data types as being exported from a library.</div><div class="ttdef"><b>Definition</b> <a href="compiler_8h_source.html#l00214">compiler.h:214</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="compiler_8h_source.html#l00214">214</a> of file <a class="el" href="compiler_8h_source.html">compiler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="io_8h.html#ae8dc887d2eb9fb31cc7d2008fd23e9e7">l4io_iterate_devices()</a>, <a class="el" href="group__api__l4io.html#gaa127162dc0e8edd5e09c4ef1abfd12d2">l4io_lookup_device()</a>, <a class="el" href="group__api__l4io.html#ga74ad87dcf2e70388651b23c7d51d3ed1">l4io_lookup_resource()</a>, <a class="el" href="group__api__l4io.html#ga53ec000ff724338cf0caf5cc8eaf9847">l4io_release_iomem()</a>, <a class="el" href="group__api__l4io.html#ga7b69f6794cd08221f1725db7660a6646">l4io_release_ioport()</a>, <a class="el" href="io_8h.html#ad9a75cbf4ecca278279a4d5a7e4b9e93">l4io_request_all_ioports()</a>, <a class="el" href="io_8h.html#ae5d97c62f824acf7d7b8572dac1a122b">l4io_request_icu()</a>, <a class="el" href="group__api__l4io.html#ga5a5ac16d0a8a479a864027900e4f3374">l4io_request_iomem()</a>, <a class="el" href="group__api__l4io.html#gaee2262febf0fdc1619cabb1091ed6936">l4io_request_iomem_region()</a>, <a class="el" href="group__api__l4io.html#ga4157f860899b502fa9679797a0a513b6">l4io_request_ioport()</a>, <a class="el" href="group__api__l4io.html#gac2ec7fad588b7d3d64090651aff6fd50">l4io_request_resource_iomem()</a>, <a class="el" href="inhibitor_8h.html#a499aa622a366bdc72423d9f821722503">l4re_inhibitor_acquire()</a>, and <a class="el" href="inhibitor_8h.html#a24106cbb2f626319992ddc01d9117711">l4re_inhibitor_release()</a>.</p>
</div>
</div>
<a id="gacd71f0ba2a27d5dfb679c2e8b6b20fee" name="gacd71f0ba2a27d5dfb679c2e8b6b20fee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd71f0ba2a27d5dfb679c2e8b6b20fee">&#9670;&#160;</a></span>L4_HIDDEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define L4_HIDDEN</td>
</tr>
</table>
</div><div class="memdoc">
<p>Attribute to mark functions, variables, and data types as being explicitly hidden from users of a library. </p>
<p>This attribute is intended for functions, data, and data types that shall never be visible outside of a library. In particular, for shared libraries this may result in much faster code within the library and short linking times.</p>
<div class="fragment"><div class="line"><span class="keyword">class </span><a class="code hl_define" href="#gacd71f0ba2a27d5dfb679c2e8b6b20fee">L4_HIDDEN</a> My_class</div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> <a class="code hl_define" href="#gacd71f0ba2a27d5dfb679c2e8b6b20fee">L4_HIDDEN</a> function(<span class="keywordtype">void</span>);</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> <a class="code hl_define" href="#gacd71f0ba2a27d5dfb679c2e8b6b20fee">L4_HIDDEN</a> global_data; <span class="comment">// global data is not recommended</span></div>
<div class="ttc" id="agroup__l4sys__defines_html_gacd71f0ba2a27d5dfb679c2e8b6b20fee"><div class="ttname"><a href="#gacd71f0ba2a27d5dfb679c2e8b6b20fee">L4_HIDDEN</a></div><div class="ttdeci">#define L4_HIDDEN</div><div class="ttdoc">Attribute to mark functions, variables, and data types as being explicitly hidden from users of a lib...</div><div class="ttdef"><b>Definition</b> <a href="compiler_8h_source.html#l00211">compiler.h:211</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="compiler_8h_source.html#l00211">211</a> of file <a class="el" href="compiler_8h_source.html">compiler.h</a>.</p>
</div>
</div>
<a id="ga362dfa378e662dd04f710a23fc7ea931" name="ga362dfa378e662dd04f710a23fc7ea931"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga362dfa378e662dd04f710a23fc7ea931">&#9670;&#160;</a></span>L4_NOTHROW</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define L4_NOTHROW</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mark a function declaration and definition as never throwing an exception. </p>
<p>(Also for C code).</p>
<p>This macro shall be used to mark C and C++ functions that never throw any exception. Note that also C functions may throw exceptions according to the compilers ABI and shall be marked with L4_NOTHROW if they never do. In C++ this is equivalent to <code>throw()</code>.</p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> foo() <a class="code hl_define" href="#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a>;</div>
<div class="line">...</div>
<div class="line"><span class="keywordtype">int</span> foo() <a class="code hl_define" href="#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></div>
<div class="line">{</div>
<div class="line"> ...</div>
<div class="line"> <span class="keywordflow">return</span> result;</div>
<div class="line">}</div>
<div class="ttc" id="agroup__l4sys__defines_html_ga362dfa378e662dd04f710a23fc7ea931"><div class="ttname"><a href="#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></div><div class="ttdeci">#define L4_NOTHROW</div><div class="ttdoc">Mark a function declaration and definition as never throwing an exception.</div><div class="ttdef"><b>Definition</b> <a href="compiler_8h_source.html#l00161">compiler.h:161</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="compiler_8h_source.html#l00161">161</a> of file <a class="el" href="compiler_8h_source.html">compiler.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="kdebug_8h_source.html#l00139">__kdebug_3_text()</a>, <a class="el" href="kdebug_8h_source.html#l00068">__kdebug_op()</a>, <a class="el" href="kdebug_8h_source.html#l00176">__kdebug_op_1()</a>, <a class="el" href="kdebug_8h_source.html#l00098">__kdebug_text()</a>, <a class="el" href="kdebug_8h_source.html#l00204">enter_kdebug()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00178">l4_msgtag_t::flags()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00191">l4_msgtag_t::has_error()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00182">l4_msgtag_t::is_exception()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00186">l4_msgtag_t::is_io_page_fault()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00180">l4_msgtag_t::is_page_fault()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00184">l4_msgtag_t::is_sigma0()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00171">l4_msgtag_t::items()</a>, <a class="el" href="arm__smccc_8h_source.html#l00042">l4_arm_smccc_call()</a>, <a class="el" href="l4_2sys_2consts_8h_source.html#l00496">l4_bytes_to_mwords()</a>, <a class="el" href="amd64_2l4_2sys_2cache_8h_source.html#l00017">l4_cache_clean_data()</a>, <a class="el" href="amd64_2l4_2sys_2cache_8h_source.html#l00041">l4_cache_coherent()</a>, <a class="el" href="amd64_2l4_2sys_2cache_8h_source.html#l00049">l4_cache_dma_coherent()</a>, <a class="el" href="amd64_2l4_2sys_2cache_8h_source.html#l00057">l4_cache_dma_coherent_full()</a>, <a class="el" href="amd64_2l4_2sys_2cache_8h_source.html#l00025">l4_cache_flush_data()</a>, <a class="el" href="amd64_2l4_2sys_2cache_8h_source.html#l00033">l4_cache_inv_data()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00397">l4_capability_equal()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00457">l4_capability_next()</a>, <a class="el" href="debugger_8h_source.html#l00417">l4_debugger_add_image_info()</a>, <a class="el" href="debugger_8h_source.html#l00410">l4_debugger_get_object_name()</a>, <a class="el" href="debugger_8h_source.html#l00375">l4_debugger_global_id()</a>, <a class="el" href="debugger_8h_source.html#l00381">l4_debugger_kobj_to_id()</a>, <a class="el" href="debugger_8h_source.html#l00394">l4_debugger_query_log_name()</a>, <a class="el" href="debugger_8h_source.html#l00387">l4_debugger_query_log_typeid()</a>, <a class="el" href="obj__info_8h_source.html#l00176">l4_debugger_query_obj_infos()</a>, <a class="el" href="debugger_8h_source.html#l00368">l4_debugger_set_object_name()</a>, <a class="el" href="debugger_8h_source.html#l00403">l4_debugger_switch_log()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00646">l4_error()</a>, <a class="el" href="factory_8h_source.html#l00707">l4_factory_create()</a>, <a class="el" href="factory_8h_source.html#l00545">l4_factory_create_factory()</a>, <a class="el" href="factory_8h_source.html#l00553">l4_factory_create_gate()</a>, <a class="el" href="factory_8h_source.html#l00561">l4_factory_create_irq()</a>, <a class="el" href="factory_8h_source.html#l00531">l4_factory_create_task()</a>, <a class="el" href="factory_8h_source.html#l00538">l4_factory_create_thread()</a>, <a class="el" href="factory_8h_source.html#l00582">l4_factory_create_thread_group()</a>, <a class="el" href="factory_8h_source.html#l00575">l4_factory_create_vcpu_context()</a>, <a class="el" href="factory_8h_source.html#l00568">l4_factory_create_vm()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00703">l4_fpage()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00723">l4_fpage_all()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00755">l4_fpage_contains()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00729">l4_fpage_invalid()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00659">l4_fpage_ioport()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00665">l4_fpage_memaddr()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00671">l4_fpage_obj()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00653">l4_fpage_page()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00635">l4_fpage_rights()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00694">l4_fpage_set_rights()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00647">l4_fpage_size()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00641">l4_fpage_type()</a>, <a class="el" href="icu_8h_source.html#l00496">l4_icu_bind()</a>, <a class="el" href="icu_8h_source.html#l00396">l4_icu_bind_u()</a>, <a class="el" href="icu_8h_source.html#l00504">l4_icu_info()</a>, <a class="el" href="icu_8h_source.html#l00420">l4_icu_info_u()</a>, <a class="el" href="icu_8h_source.html#l00518">l4_icu_mask()</a>, <a class="el" href="icu_8h_source.html#l00483">l4_icu_mask_u()</a>, <a class="el" href="icu_8h_source.html#l00508">l4_icu_msi_info()</a>, <a class="el" href="icu_8h_source.html#l00434">l4_icu_msi_info_u()</a>, <a class="el" href="icu_8h_source.html#l00523">l4_icu_set_mode()</a>, <a class="el" href="icu_8h_source.html#l00457">l4_icu_set_mode_u()</a>, <a class="el" href="icu_8h_source.html#l00500">l4_icu_unbind()</a>, <a class="el" href="icu_8h_source.html#l00408">l4_icu_unbind_u()</a>, <a class="el" href="icu_8h_source.html#l00513">l4_icu_unmask()</a>, <a class="el" href="icu_8h_source.html#l00488">l4_icu_unmask_u()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00709">l4_iofpage()</a>, <a class="el" href="ipc-l42-gcc3-nopic_8h_source.html#l00020">l4_ipc()</a>, <a class="el" href="amd64_2l4f_2l4_2sys_2ipc_8h_source.html#l00021">l4_ipc()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00565">l4_ipc_call()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00629">l4_ipc_error()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00658">l4_ipc_error_code()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00655">l4_ipc_is_rcv_error()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00652">l4_ipc_is_snd_error()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00602">l4_ipc_receive()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00572">l4_ipc_reply_and_wait()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00586">l4_ipc_send()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00579">l4_ipc_send_and_wait()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00611">l4_ipc_sleep()</a>, <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>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00561">l4_ipc_to_errno()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00593">l4_ipc_wait()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00300">l4_irq_bind_vcpu()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00250">l4_irq_bind_vcpu_u()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00294">l4_irq_detach()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00242">l4_irq_detach_u()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00313">l4_irq_receive()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00270">l4_irq_receive_u()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00307">l4_irq_trigger()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00263">l4_irq_trigger_u()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00326">l4_irq_unmask()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00286">l4_irq_unmask_u()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00319">l4_irq_wait()</a>, <a class="el" href="l4_2sys_2irq_8h_source.html#l00277">l4_irq_wait_u()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00788">l4_is_fpage_valid()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00736">l4_is_fpage_writable()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00389">l4_is_invalid_cap()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00393">l4_is_valid_cap()</a>, <a class="el" href="memdesc_8h_source.html#l00215">l4_kernel_info_get_mem_desc_end()</a>, <a class="el" href="memdesc_8h_source.html#l00236">l4_kernel_info_get_mem_desc_is_virtual()</a>, <a class="el" href="memdesc_8h_source.html#l00208">l4_kernel_info_get_mem_desc_start()</a>, <a class="el" href="memdesc_8h_source.html#l00229">l4_kernel_info_get_mem_desc_subtype()</a>, <a class="el" href="memdesc_8h_source.html#l00222">l4_kernel_info_get_mem_desc_type()</a>, <a class="el" href="memdesc_8h_source.html#l00179">l4_kernel_info_get_mem_descs()</a>, <a class="el" href="memdesc_8h_source.html#l00186">l4_kernel_info_get_num_mem_descs()</a>, <a class="el" href="memdesc_8h_source.html#l00193">l4_kernel_info_set_mem_desc()</a>, <a class="el" href="sys_2kip_8h_source.html#l00238">l4_kernel_info_version_offset()</a>, <a class="el" href="sys_2kip_8h_source.html#l00226">l4_kip()</a>, <a class="el" href="sys_2kip_8h_source.html#l00242">l4_kip_clock()</a>, <a class="el" href="sys_2kip_8h_source.html#l00261">l4_kip_clock_lw()</a>, <a class="el" href="sys_2kip_8h_source.html#l00252">l4_kip_clock_ns()</a>, <a class="el" href="sys_2kip_8h_source.html#l00230">l4_kip_version()</a>, <a class="el" href="sys_2kip_8h_source.html#l00234">l4_kip_version_string()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00742">l4_map_control()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00749">l4_map_obj_control()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00405">l4_msgtag()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00435">l4_msgtag_flags()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00440">l4_msgtag_has_error()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00448">l4_msgtag_is_exception()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00454">l4_msgtag_is_io_page_fault()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00445">l4_msgtag_is_page_fault()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00451">l4_msgtag_is_sigma0()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00431">l4_msgtag_items()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00417">l4_msgtag_label()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00427">l4_msgtag_words()</a>, <a class="el" href="____l4__fpage_8h_source.html#l00715">l4_obj_fpage()</a>, <a class="el" href="l4_2sys_2platform__control_8h_source.html#l00242">l4_platform_ctl_cpu_allow_shutdown()</a>, <a class="el" href="l4_2sys_2platform__control_8h_source.html#l00281">l4_platform_ctl_cpu_disable()</a>, <a class="el" href="l4_2sys_2platform__control_8h_source.html#l00274">l4_platform_ctl_cpu_enable()</a>, <a class="el" href="____platform__control-arm_8h_source.html#l00062">l4_platform_ctl_set_task_asid()</a>, <a class="el" href="l4_2sys_2platform__control_8h_source.html#l00221">l4_platform_ctl_system_shutdown()</a>, <a class="el" href="l4_2sys_2platform__control_8h_source.html#l00214">l4_platform_ctl_system_suspend()</a>, <a class="el" href="____timeout_8h_source.html#l00227">l4_rcv_timeout()</a>, <a class="el" href="l4_2sys_2consts_8h_source.html#l00473">l4_round_page()</a>, <a class="el" href="l4_2sys_2consts_8h_source.html#l00484">l4_round_size()</a>, <a class="el" href="scheduler_8h_source.html#l00279">l4_sched_cpu_set()</a>, <a class="el" href="scheduler_8h_source.html#l00289">l4_sched_param()</a>, <a class="el" href="scheduler_8h_source.html#l00403">l4_scheduler_idle_time()</a>, <a class="el" href="scheduler_8h_source.html#l00381">l4_scheduler_info()</a>, <a class="el" href="scheduler_8h_source.html#l00388">l4_scheduler_info_with_classes()</a>, <a class="el" href="scheduler_8h_source.html#l00410">l4_scheduler_is_online()</a>, <a class="el" href="scheduler_8h_source.html#l00396">l4_scheduler_run_thread()</a>, <a class="el" href="semaphore_8h_source.html#l00100">l4_semaphore_down()</a>, <a class="el" href="semaphore_8h_source.html#l00045">l4_semaphore_up()</a>, <a class="el" href="group__l4util__api.html#gac06b9778d4fe83007f847e52b658eb80">l4_sleep()</a>, <a class="el" href="util_8h_source.html#l00085">l4_sleep_forever()</a>, <a class="el" href="____timeout_8h_source.html#l00220">l4_snd_timeout()</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00685">l4_sndfpage_add()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00497">l4_task_add_ku_mem()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00490">l4_task_cap_equal()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00484">l4_task_cap_valid()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00463">l4_task_delete_obj()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00433">l4_task_map()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00478">l4_task_release_cap()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00440">l4_task_unmap()</a>, <a class="el" href="l4_2sys_2task_8h_source.html#l00447">l4_task_unmap_batch()</a>, <a class="el" href="____task-arm_8h_source.html#l00046">l4_task_vgicc_map()</a>, <a class="el" href="arm_2l4_2sys_2thread_8h_source.html#l00065">l4_thread_arm_set_tpidruro()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00981">l4_thread_control_alien()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00975">l4_thread_control_bind()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00987">l4_thread_control_commit()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00968">l4_thread_control_exc_handler()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00962">l4_thread_control_pager()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00956">l4_thread_control_start()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00942">l4_thread_ex_regs()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00949">l4_thread_ex_regs_ret()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00823">l4_thread_ex_regs_ret_u()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00812">l4_thread_ex_regs_u()</a>, <a class="el" href="thread__group_8h_source.html#l00114">l4_thread_group_add()</a>, <a class="el" href="thread__group_8h_source.html#l00121">l4_thread_group_remove()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01116">l4_thread_modify_sender_add()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01127">l4_thread_modify_sender_commit()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01110">l4_thread_modify_sender_start()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01037">l4_thread_register_del_irq()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01146">l4_thread_register_doorbell_irq()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01005">l4_thread_stats_time()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00996">l4_thread_switch()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01054">l4_thread_vcpu_control()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01069">l4_thread_vcpu_control_ext()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01059">l4_thread_vcpu_control_ext_u()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01044">l4_thread_vcpu_control_u()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01017">l4_thread_vcpu_resume_commit()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l01011">l4_thread_vcpu_resume_start()</a>, <a class="el" href="l4_2sys_2thread_8h_source.html#l00891">l4_thread_yield()</a>, <a class="el" href="____timeout_8h_source.html#l00213">l4_timeout()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00389">l4_timeout_abs()</a>, <a class="el" href="____timeout_8h_source.html#l00257">l4_timeout_get()</a>, <a class="el" href="____timeout_8h_source.html#l00250">l4_timeout_is_absolute()</a>, <a class="el" href="____timeout_8h_source.html#l00234">l4_timeout_rel()</a>, <a class="el" href="____timeout_8h_source.html#l00241">l4_timeout_rel_get()</a>, <a class="el" href="util_8h_source.html#l00092">l4_touch_ro()</a>, <a class="el" href="util_8h_source.html#l00105">l4_touch_rw()</a>, <a class="el" href="l4_2sys_2consts_8h_source.html#l00448">l4_trunc_page()</a>, <a class="el" href="l4_2sys_2consts_8h_source.html#l00459">l4_trunc_size()</a>, <a class="el" href="group__l4util__api.html#ga92f26b99960e78ff5bf3a4211ac63f9b">l4_usleep()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00361">l4_utcb_br()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00367">l4_utcb_exc()</a>, <a class="el" href="amd64_2l4_2sys_2utcb_8h_source.html#l00117">l4_utcb_exc_is_ex_regs_exception()</a>, <a class="el" href="arm_2l4_2sys_2utcb_8h_source.html#l00110">l4_utcb_exc_is_ex_regs_exception()</a>, <a class="el" href="amd64_2l4_2sys_2utcb_8h_source.html#l00107">l4_utcb_exc_is_pf()</a>, <a class="el" href="arm_2l4_2sys_2utcb_8h_source.html#l00100">l4_utcb_exc_is_pf()</a>, <a class="el" href="amd64_2l4_2sys_2utcb_8h_source.html#l00092">l4_utcb_exc_pc()</a>, <a class="el" href="arm_2l4_2sys_2utcb_8h_source.html#l00085">l4_utcb_exc_pc()</a>, <a class="el" href="amd64_2l4_2sys_2utcb_8h_source.html#l00097">l4_utcb_exc_pc_set()</a>, <a class="el" href="amd64_2l4_2sys_2utcb_8h_source.html#l00112">l4_utcb_exc_pfa()</a>, <a class="el" href="arm_2l4_2sys_2utcb_8h_source.html#l00105">l4_utcb_exc_pfa()</a>, <a class="el" href="amd64_2l4_2sys_2utcb_8h_source.html#l00102">l4_utcb_exc_typeval()</a>, <a class="el" href="arm_2l4_2sys_2utcb_8h_source.html#l00095">l4_utcb_exc_typeval()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00370">l4_utcb_inherit_fpu()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00358">l4_utcb_mr()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00392">l4_utcb_mr64_idx()</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00364">l4_utcb_tcr()</a>, <a class="el" href="vcon_8h_source.html#l00435">l4_vcon_get_attr()</a>, <a class="el" href="vcon_8h_source.html#l00417">l4_vcon_get_attr_u()</a>, <a class="el" href="vcon_8h_source.html#l00391">l4_vcon_read()</a>, <a class="el" href="vcon_8h_source.html#l00381">l4_vcon_read_u()</a>, <a class="el" href="vcon_8h_source.html#l00375">l4_vcon_read_with_flags()</a>, <a class="el" href="vcon_8h_source.html#l00315">l4_vcon_send()</a>, <a class="el" href="vcon_8h_source.html#l00302">l4_vcon_send_u()</a>, <a class="el" href="vcon_8h_source.html#l00411">l4_vcon_set_attr()</a>, <a class="el" href="vcon_8h_source.html#l00441">l4_vcon_set_attr_raw()</a>, <a class="el" href="vcon_8h_source.html#l00397">l4_vcon_set_attr_u()</a>, <a class="el" href="vcon_8h_source.html#l00336">l4_vcon_write()</a>, <a class="el" href="vcon_8h_source.html#l00321">l4_vcon_write_u()</a>, <a class="el" href="sys_2vcpu_8h_source.html#l00191">l4_vcpu_check_version()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00698">l4_vm_vmx_clear()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00593">l4_vm_vmx_field_len()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00600">l4_vm_vmx_field_order()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00884">l4_vm_vmx_get_caps()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00892">l4_vm_vmx_get_caps_default1()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00900">l4_vm_vmx_get_cr2_index()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00915">l4_vm_vmx_get_hw_vmcs()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00719">l4_vm_vmx_ptr_load()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00787">l4_vm_vmx_read()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00754">l4_vm_vmx_read_16()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00765">l4_vm_vmx_read_32()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00776">l4_vm_vmx_read_64()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00743">l4_vm_vmx_read_nat()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00907">l4_vm_vmx_set_hw_vmcs()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00868">l4_vm_vmx_write()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00820">l4_vm_vmx_write_16()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00836">l4_vm_vmx_write_32()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00852">l4_vm_vmx_write_64()</a>, <a class="el" href="____vm-vmx_8h_source.html#l00804">l4_vm_vmx_write_nat()</a>, <a class="el" href="group__api__l4re__c__debug.html#ga576f942044797f8d9916a84049e67c46">l4re_debug_obj_debug()</a>, <a class="el" href="group__api__l4re__c__dma.html#ga0e15313b07dd7910b88e4662226e1bbc">l4re_dma_space_associate()</a>, <a class="el" href="group__api__l4re__c__dma.html#ga75e9157b3c56fc666f818068cfb9dbf2">l4re_dma_space_map()</a>, <a class="el" href="group__api__l4re__c__dma.html#ga07ceb9a3b19a1a6cedf5b7a742df4abb">l4re_dma_space_unmap()</a>, <a class="el" href="group__api__l4re__c__ds.html#ga7dc1da4f4087a98f4c23e0bcf594c560">l4re_ds_allocate()</a>, <a class="el" href="group__api__l4re__c__ds.html#ga921b2c61dca4e8c558e7a3d1441ae7ac">l4re_ds_clear()</a>, <a class="el" href="group__api__l4re__c__ds.html#ga9b11138a09e2661ed2a2f35999d160c6">l4re_ds_copy_in()</a>, <a class="el" href="group__api__l4re__c__ds.html#ga63730a8dfcf9722f63e85272919656a8">l4re_ds_flags()</a>, <a class="el" href="group__api__l4re__c__ds.html#ga03eb3f67fc6d769900ba9029f54dc124">l4re_ds_info()</a>, <a class="el" href="group__api__l4re__c__ds.html#ga3d74c479b8994fd11afa4e51ab47f2a8">l4re_ds_map_info()</a>, <a class="el" href="group__api__l4re__c__ds.html#ga9bc4f9dbfd28822e4b6adb61e1ea398b">l4re_ds_size()</a>, <a class="el" href="env_8h_source.html#l00181">l4re_env()</a>, <a class="el" href="env_8h_source.html#l00061">l4re_env_cap_entry_t::l4re_env_cap_entry_t()</a>, <a class="el" href="env_8h_source.html#l00070">l4re_env_cap_entry_t::l4re_env_cap_entry_t()</a>, <a class="el" href="env_8h_source.html#l00220">l4re_env_get_cap()</a>, <a class="el" href="env_8h_source.html#l00207">l4re_env_get_cap_e()</a>, <a class="el" href="env_8h_source.html#l00189">l4re_env_get_cap_l()</a>, <a class="el" href="group__api__l4re__c__event.html#ga5c7258c4c2815b0670add25d2997c9ce">l4re_event_get_axis_info()</a>, <a class="el" href="group__api__l4re__c__event.html#ga82d0c35915931a25b526833e7adeb9b5">l4re_event_get_buffer()</a>, <a class="el" href="group__api__l4re__c__event.html#gab64c40df491e8c737cd180536b7bc263">l4re_event_get_num_streams()</a>, <a class="el" href="group__api__l4re__c__event.html#gad849f3c749e47167663e4c136e1021c2">l4re_event_get_stream_info()</a>, <a class="el" href="group__api__l4re__c__event.html#gaa771ac349c1d84bcc752ce80d7a7663a">l4re_event_get_stream_info_for_id()</a>, <a class="el" href="env_8h_source.html#l00185">l4re_kip()</a>, <a class="el" href="log_8h_source.html#l00081">l4re_log_print()</a>, <a class="el" href="group__api__l4re__c__log.html#ga54aaa6af731a48c6a7484407bf05f98b">l4re_log_print_srv()</a>, <a class="el" href="log_8h_source.html#l00087">l4re_log_printn()</a>, <a class="el" href="group__api__l4re__c__log.html#gad9d9fa16a9aad027f638c3087f729434">l4re_log_printn_srv()</a>, <a class="el" href="mem__alloc_8h_source.html#l00136">l4re_ma_alloc()</a>, <a class="el" href="mem__alloc_8h_source.html#l00144">l4re_ma_alloc_align()</a>, <a class="el" href="group__api__l4re__c__mem__alloc.html#gaea9fb46a9934809000279490eaf370ef">l4re_ma_alloc_align_srv()</a>, <a class="el" href="namespace_8h_source.html#l00095">l4re_ns_query_srv()</a>, <a class="el" href="group__api__l4re__c__ns.html#gaab75eab7d3ad14018378835df1206b4a">l4re_ns_query_to_srv()</a>, <a class="el" href="group__api__l4re__c__ns.html#ga6022184053822c4e03af3115c7a13821">l4re_ns_register_obj_srv()</a>, <a class="el" href="rm_8h_source.html#l00342">l4re_rm_attach()</a>, <a class="el" href="group__api__l4re__c__rm.html#ga728010b4091174202914d58a79c56767">l4re_rm_attach_srv()</a>, <a class="el" href="rm_8h_source.html#l00352">l4re_rm_detach()</a>, <a class="el" href="rm_8h_source.html#l00365">l4re_rm_detach_ds()</a>, <a class="el" href="rm_8h_source.html#l00372">l4re_rm_detach_ds_unmap()</a>, <a class="el" href="group__api__l4re__c__rm.html#gac259254e1fd41d731c0ba3354d45c5a8">l4re_rm_detach_srv()</a>, <a class="el" href="rm_8h_source.html#l00359">l4re_rm_detach_unmap()</a>, <a class="el" href="rm_8h_source.html#l00379">l4re_rm_find()</a>, <a class="el" href="group__api__l4re__c__rm.html#gae0267fe6d2e478a599a19c8067319326">l4re_rm_find_srv()</a>, <a class="el" href="rm_8h_source.html#l00336">l4re_rm_free_area()</a>, <a class="el" href="group__api__l4re__c__rm.html#gae34b075451dd9b614e773bd440febc71">l4re_rm_free_area_srv()</a>, <a class="el" href="rm_8h_source.html#l00395">l4re_rm_get_info()</a>, <a class="el" href="group__api__l4re__c__rm.html#gafe57c120e3934cfe608b2b0b210aee9b">l4re_rm_get_info_srv()</a>, <a class="el" href="rm_8h_source.html#l00328">l4re_rm_reserve_area()</a>, <a class="el" href="group__api__l4re__c__rm.html#ga86a70ed52b36fac058ca02443ac0cdd0">l4re_rm_reserve_area_srv()</a>, <a class="el" href="rm_8h_source.html#l00387">l4re_rm_show_lists()</a>, <a class="el" href="group__api__l4re__c__rm.html#ga64bb2a0e4c1f769bafeb53d680d5b192">l4re_rm_show_lists_srv()</a>, <a class="el" href="group__api__l4re__c__util__cap.html#ga868dc3bcf1a026b28065b5e4c2e44854">l4re_util_cap_alloc()</a>, <a class="el" href="group__api__l4re__c__util__cap.html#ga132e9e2b91d8a5aa4eb874242cc11544">l4re_util_cap_free()</a>, <a class="el" href="group__api__l4re__c__util__cap.html#ga0d2b287ad94f058bff6315597408e668">l4re_util_cap_free_um()</a>, <a class="el" href="group__api__l4re__c__util__cap.html#gabc7a7b2d69f57fa9755889de20c73e73">l4re_util_cap_last()</a>, <a class="el" href="kumem__alloc_8h.html#a7a1c0387912274d6d0f9c6f34083e785">l4re_util_kumem_alloc()</a>, <a class="el" href="group__api__l4re__c__video.html#gaf2fc95ab37fc7f17f431f66ced433563">l4re_video_goos_create_buffer()</a>, <a class="el" href="group__api__l4re__c__video.html#gab1d2b2390bea358007e19fb9a6571f52">l4re_video_goos_create_view()</a>, <a class="el" href="group__api__l4re__c__video.html#ga31fbbdcd4c30a36c6d47b33984e87dea">l4re_video_goos_delete_buffer()</a>, <a class="el" href="group__api__l4re__c__video.html#gacc404442cda24ddf6d58ebbc2bed6ba5">l4re_video_goos_delete_view()</a>, <a class="el" href="group__api__l4re__c__video.html#ga958f66cce94ec77848a1083fd7890947">l4re_video_goos_get_static_buffer()</a>, <a class="el" href="group__api__l4re__c__video.html#gaa75df193837d586ec332cf8f88f910c7">l4re_video_goos_get_view()</a>, <a class="el" href="group__api__l4re__c__video.html#ga91b1f803c0142a0c22660c0118afe74b">l4re_video_goos_info()</a>, <a class="el" href="group__api__l4re__c__video.html#ga80daa4f828757bc0a50cfb364bde1d25">l4re_video_goos_refresh()</a>, <a class="el" href="group__api__l4re__c__video.html#ga6b6acd0729fc7bbbee58df71e907cd31">l4re_video_view_get_info()</a>, <a class="el" href="group__api__l4re__c__video.html#ga864c5b7928af609dccc5539f0b924ece">l4re_video_view_refresh()</a>, <a class="el" href="group__api__l4re__c__video.html#gaddc8b702fda53bc5a5686c9cff000488">l4re_video_view_set_info()</a>, <a class="el" href="group__api__l4re__c__video.html#ga5cd6b0b0c57acc904bfaa677cb057cd1">l4re_video_view_set_viewport()</a>, <a class="el" href="group__api__l4re__c__video.html#ga25885c4cadba2c0bf23fb6147ba09111">l4re_video_view_stack()</a>, <a class="el" href="group__l4util__api.html#ga53665b088921e492a3754d58c93d7e31">l4util_micros2l4to()</a>, <a class="el" href="group__api__libvcpu__ext.html#ga1421d3effdb0e3fd7f11eee39025cfc8">l4vcpu_ext_alloc()</a>, <a class="el" href="vcpu_2vcpu_8h_source.html#l00201">l4vcpu_irq_disable()</a>, <a class="el" href="vcpu_2vcpu_8h_source.html#l00209">l4vcpu_irq_disable_save()</a>, <a class="el" href="vcpu_2vcpu_8h_source.html#l00232">l4vcpu_irq_enable()</a>, <a class="el" href="vcpu_2vcpu_8h_source.html#l00257">l4vcpu_irq_restore()</a>, <a class="el" href="group__api__libvcpu.html#ga55f7fc7f6496002375240e2354ecb807">l4vcpu_is_irq_entry()</a>, <a class="el" href="group__api__libvcpu.html#gab5156a117efc0b4760e81e99938a2dc1">l4vcpu_is_page_fault_entry()</a>, <a class="el" href="group__api__libvcpu.html#gaed55cde10e914bfc8be9760a0fd90b0e">l4vcpu_print_state()</a>, <a class="el" href="vcpu_2vcpu_8h_source.html#l00270">l4vcpu_wait_for_event()</a>, <a class="el" href="group__l4virtio__transport.html#ga96afc130bc89a48b91b2c9a7e924fd7d">l4virtio_config_queue()</a>, <a class="el" href="group__l4virtio__transport.html#ga9f7c8688033893f787027125f6422ad8">l4virtio_device_config_ds()</a>, <a class="el" href="group__l4virtio__transport.html#ga1e34a8e5216ae325a51f11a68f3dc760">l4virtio_device_notification_irq()</a>, <a class="el" href="group__l4virtio__transport.html#gac7b1a00cc07164eb51e0fa1599ee2c90">l4virtio_register_ds()</a>, <a class="el" href="group__l4virtio__transport.html#ga0cf50f73a4c4be6798e198610d2107db">l4virtio_set_status()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00158">l4_msgtag_t::label()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00167">l4_msgtag_t::label()</a>, and <a class="el" href="l4_2sys_2types_8h_source.html#l00169">l4_msgtag_t::words()</a>.</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="ga5fa71e3c259e42d171bdb65a5e708b82" name="ga5fa71e3c259e42d171bdb65a5e708b82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5fa71e3c259e42d171bdb65a5e708b82">&#9670;&#160;</a></span>l4_align_stack_for_direct_fncall()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long l4_align_stack_for_direct_fncall </td>
<td>(</td>
<td class="paramtype">unsigned long</td> <td class="paramname"><span class="paramname"><em>stack</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>Specify the desired alignment of the stack pointer. </p>
<p><b>BIGGEST_ALIGNMENT</b> provides the largest alignment ever used for any data type on the target machine. This is normally identical to desired stack alignment. Align stack pointer for directly invoked functions.</p>
<p>The stack needs to be aligned to L4_STACK_ALIGN for being able to access certain data on the stack. On x86/AMD64, a function call is performed using the 'call' instruction decrementing the stack pointer and writing the return address onto the stack. The called function considers this when adapting the stack pointer after function entry. If the called function was not invoked by a 'call' instruction, the stack pointer is actually off by a machine word leading to stack alignment issues when executing SSE instructions.</p>
<p>This function fixes the stack pointer for directly invoked functions. For architectures not automatically pushing the stack pointer during a function call, just enforce the L4_STACK_ALIGN alignment. </p>
<p class="definition">Definition at line <a class="el" href="compiler_8h_source.html#l00273">273</a> of file <a class="el" href="compiler_8h_source.html">compiler.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00051">L4_INLINE</a>.</p>
</div>
</div>
<a id="ga7e0662663afd5c5b43c5dd66576e5cff" name="ga7e0662663afd5c5b43c5dd66576e5cff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7e0662663afd5c5b43c5dd66576e5cff">&#9670;&#160;</a></span>l4_infinite_loop()</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="#gab2364b91355f435e015c5b85b7d93a73">L4_NORETURN</a> void l4_infinite_loop </td>
<td>(</td>
<td class="paramtype">void</td> <td class="paramname"><span class="paramname"><em></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>Infinite loop. </p>
<p>Will never return. Use <a class="el" href="group__l4util__api.html#ga4842edcbe6e461bc083bb33ca870a762" title="Go sleep and never wake up.">l4_sleep_forever()</a> if at all possible. </p>
<p class="definition">Definition at line <a class="el" href="compiler_8h_source.html#l00347">347</a> of file <a class="el" href="compiler_8h_source.html">compiler.h</a>.</p>
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00332">l4_barrier()</a>, <a class="el" href="compiler_8h_source.html#l00051">L4_INLINE</a>, and <a class="el" href="compiler_8h_source.html#l00201">L4_NORETURN</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__l4sys__defines_ga7e0662663afd5c5b43c5dd66576e5cff_cgraph.svg" width="264" 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>