1000 lines
82 KiB
HTML
1000 lines
82 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: L4Re Namespace 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('namespaceL4Re.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">L4Re Namespace Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p><a class="el" href="namespaceL4Re.html" title="L4Re C++ Interfaces.">L4Re</a> C++ Interfaces.
|
|
<a href="#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-namespaces" class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:Vfs" id="r_Vfs"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceL4Re_1_1Vfs.html">Vfs</a></td></tr>
|
|
<tr class="memdesc:namespaceL4Re_1_1Vfs"><td class="mdescLeft"> </td><td class="mdescRight">Virtual file system for interfaces in POSIX libc. <br /></td></tr>
|
|
<tr class="memitem:Util" id="r_Util"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceL4Re_1_1Util.html">Util</a></td></tr>
|
|
<tr class="memdesc:namespaceL4Re_1_1Util"><td class="mdescLeft"> </td><td class="mdescRight">Documentation of the <a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> Runtime Environment utility functionality in C++. <br /></td></tr>
|
|
</table><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:Cap_5Falloc" id="r_Cap_5Falloc"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Cap__alloc.html">Cap_alloc</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Capability allocator interface. <a href="classL4Re_1_1Cap__alloc.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Smart_5Fcap_5Fauto" id="r_Smart_5Fcap_5Fauto"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper for <a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981" title="Unique capability that implements automatic free and unmap of the capability selector.">Unique_cap</a> and <a class="el" href="#a3c900d7dd040edd4ed72e837eda69d89" title="Unique capability that implements automatic free and unmap+delete of the capability selector.">Unique_del_cap</a>. <a href="classL4Re_1_1Smart__cap__auto.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Smart_5Fcount_5Fcap" id="r_Smart_5Fcount_5Fcap"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Helper for Ref_cap and Ref_del_cap. <a href="classL4Re_1_1Smart__count__cap.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Console" id="r_Console"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Console.html">Console</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classL4Re_1_1Console.html" title="Console class.">Console</a> class. <a href="classL4Re_1_1Console.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Dataspace" id="r_Dataspace"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html">Dataspace</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for memory-like objects. <a href="classL4Re_1_1Dataspace.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Debug_5Fobj" id="r_Debug_5Fobj"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Debug__obj.html">Debug_obj</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Debug interface. <a href="classL4Re_1_1Debug__obj.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Dma_5Fspace" id="r_Dma_5Fspace"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dma__space.html">Dma_space</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Managed DMA Address Space. <a href="classL4Re_1_1Dma__space.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Env" id="r_Env"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Env.html">Env</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">C++ interface of the initial environment that is provided to an <a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> task. <a href="classL4Re_1_1Env.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Event" id="r_Event"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event.html">Event</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classL4Re_1_1Event.html" title="Event class.">Event</a> class. <a href="classL4Re_1_1Event.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Default_5Fevent_5Fpayload" id="r_Default_5Fevent_5Fpayload"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structL4Re_1_1Default__event__payload.html">Default_event_payload</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Default event stream payload. <a href="structL4Re_1_1Default__event__payload.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Event_5Fbuffer_5Ft" id="r_Event_5Fbuffer_5Ft"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event__buffer__t.html">Event_buffer_t</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structL4Re_1_1Event__buffer__t_1_1Event.html" title="Event structure used in buffer.">Event</a> buffer class. <a href="classL4Re_1_1Event__buffer__t.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Inhibitor" id="r_Inhibitor"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Inhibitor.html">Inhibitor</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Set of inhibitor locks, which inhibit specific actions when held. <a href="classL4Re_1_1Inhibitor.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Itas" id="r_Itas"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Itas.html">Itas</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to the ITAS. <a href="classL4Re_1_1Itas.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Log" id="r_Log"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Log.html">Log</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classL4Re_1_1Log.html" title="Log interface class.">Log</a> interface class. <a href="classL4Re_1_1Log.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Mem_5Falloc" id="r_Mem_5Falloc"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Mem__alloc.html">Mem_alloc</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory allocation interface. <a href="classL4Re_1_1Mem__alloc.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Mmio_5Fspace" id="r_Mmio_5Fspace"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structL4Re_1_1Mmio__space.html">Mmio_space</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface for memory-like address space accessible via IPC. <a href="structL4Re_1_1Mmio__space.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Namespace" id="r_Namespace"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Namespace.html">Namespace</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Name-space interface. <a href="classL4Re_1_1Namespace.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Parent" id="r_Parent"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Parent.html">Parent</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classL4Re_1_1Parent.html" title="Parent interface.">Parent</a> interface. <a href="classL4Re_1_1Parent.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Random" id="r_Random"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structL4Re_1_1Random.html">Random</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Low-bandwidth interface for random number generators. <a href="structL4Re_1_1Random.html#details">More...</a><br /></td></tr>
|
|
<tr class="memitem:Rm" id="r_Rm"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Rm.html">Rm</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structL4Re_1_1Rm_1_1Region.html" title="A region is a range of virtual addresses which is backed by content.">Region</a> map. <a href="classL4Re_1_1Rm.html#details">More...</a><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:a8246219e47e489b13fb5f2dde553a6e4" id="r_a8246219e47e489b13fb5f2dde553a6e4"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a8246219e47e489b13fb5f2dde553a6e4 template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4">Shared_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td></tr>
|
|
<tr class="memdesc:a8246219e47e489b13fb5f2dde553a6e4"><td class="mdescLeft"> </td><td class="mdescRight">Shared capability that implements automatic free and unmap of the capability selector. <br /></td></tr>
|
|
<tr class="memitem:a1ba2a198ba5f436415ab1727f89b928a" id="r_a1ba2a198ba5f436415ab1727f89b928a"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a1ba2a198ba5f436415ab1727f89b928a template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ba2a198ba5f436415ab1727f89b928a">shared_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td></tr>
|
|
<tr class="memdesc:a1ba2a198ba5f436415ab1727f89b928a"><td class="mdescLeft"> </td><td class="mdescRight">Shared capability that implements automatic free and unmap of the capability selector. <br /></td></tr>
|
|
<tr class="memitem:a8ce6737cc5cfbb4afd49cc3c00a62d7e" id="r_a8ce6737cc5cfbb4afd49cc3c00a62d7e"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a8ce6737cc5cfbb4afd49cc3c00a62d7e template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8ce6737cc5cfbb4afd49cc3c00a62d7e">Shared_del_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td></tr>
|
|
<tr class="memdesc:a8ce6737cc5cfbb4afd49cc3c00a62d7e"><td class="mdescLeft"> </td><td class="mdescRight">Shared capability that implements automatic free and unmap+delete of the capability selector. <br /></td></tr>
|
|
<tr class="memitem:a2f55bc6f406a9b6b97b3ba948137c788" id="r_a2f55bc6f406a9b6b97b3ba948137c788"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a2f55bc6f406a9b6b97b3ba948137c788 template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2f55bc6f406a9b6b97b3ba948137c788">shared_del_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td></tr>
|
|
<tr class="memdesc:a2f55bc6f406a9b6b97b3ba948137c788"><td class="mdescLeft"> </td><td class="mdescRight">Shared capability that implements automatic free and unmap+delete of the capability selector. <br /></td></tr>
|
|
<tr class="memitem:a44b5a2cf415294d2f2cc5ffce0614981" id="r_a44b5a2cf415294d2f2cc5ffce0614981"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a44b5a2cf415294d2f2cc5ffce0614981 template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981">Unique_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td></tr>
|
|
<tr class="memdesc:a44b5a2cf415294d2f2cc5ffce0614981"><td class="mdescLeft"> </td><td class="mdescRight">Unique capability that implements automatic free and unmap of the capability selector. <br /></td></tr>
|
|
<tr class="memitem:ab61a54ec293513d2c19cec383981c53b" id="r_ab61a54ec293513d2c19cec383981c53b"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:ab61a54ec293513d2c19cec383981c53b template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab61a54ec293513d2c19cec383981c53b">unique_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td></tr>
|
|
<tr class="memdesc:ab61a54ec293513d2c19cec383981c53b"><td class="mdescLeft"> </td><td class="mdescRight">Unique capability that implements automatic free and unmap of the capability selector. <br /></td></tr>
|
|
<tr class="memitem:a3c900d7dd040edd4ed72e837eda69d89" id="r_a3c900d7dd040edd4ed72e837eda69d89"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a3c900d7dd040edd4ed72e837eda69d89 template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c900d7dd040edd4ed72e837eda69d89">Unique_del_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td></tr>
|
|
<tr class="memdesc:a3c900d7dd040edd4ed72e837eda69d89"><td class="mdescLeft"> </td><td class="mdescRight">Unique capability that implements automatic free and unmap+delete of the capability selector. <br /></td></tr>
|
|
<tr class="memitem:ab29df2f16d0bb2ca753c1db7d150d43c" id="r_ab29df2f16d0bb2ca753c1db7d150d43c"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:ab29df2f16d0bb2ca753c1db7d150d43c template"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab29df2f16d0bb2ca753c1db7d150d43c">unique_del_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td></tr>
|
|
<tr class="memdesc:ab29df2f16d0bb2ca753c1db7d150d43c"><td class="mdescLeft"> </td><td class="mdescRight">Unique capability that implements automatic free and unmap+delete of the capability selector. <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:ae27ac6f274f4ad1267d0d1c0c033c00b" id="r_ae27ac6f274f4ad1267d0d1c0c033c00b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae27ac6f274f4ad1267d0d1c0c033c00b">throw_error</a> (long err, char const *extra="")</td></tr>
|
|
<tr class="memdesc:ae27ac6f274f4ad1267d0d1c0c033c00b"><td class="mdescLeft"> </td><td class="mdescRight">Generate C++ exception. <br /></td></tr>
|
|
<tr class="memitem:a3f17984019f06676a7e3eecb41bbb0bb" id="r_a3f17984019f06676a7e3eecb41bbb0bb"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3f17984019f06676a7e3eecb41bbb0bb">chksys</a> (long err, char const *extra="", long ret=0)</td></tr>
|
|
<tr class="memdesc:a3f17984019f06676a7e3eecb41bbb0bb"><td class="mdescLeft"> </td><td class="mdescRight">Generate C++ exception on error. <br /></td></tr>
|
|
<tr class="memitem:ae0dd5d25abdc1d195edd8ab6b744334c" id="r_ae0dd5d25abdc1d195edd8ab6b744334c"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae0dd5d25abdc1d195edd8ab6b744334c">chksys</a> (<a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> const &t, char const *extra="", <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb=<a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644">l4_utcb</a>(), long ret=0)</td></tr>
|
|
<tr class="memdesc:ae0dd5d25abdc1d195edd8ab6b744334c"><td class="mdescLeft"> </td><td class="mdescRight">Generate C++ exception on error. <br /></td></tr>
|
|
<tr class="memitem:ad17a205e6270588606dd85399b0f9b6c" id="r_ad17a205e6270588606dd85399b0f9b6c"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad17a205e6270588606dd85399b0f9b6c">chksys</a> (<a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> const &t, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb, char const *extra="")</td></tr>
|
|
<tr class="memdesc:ad17a205e6270588606dd85399b0f9b6c"><td class="mdescLeft"> </td><td class="mdescRight">Generate C++ exception on error. <br /></td></tr>
|
|
<tr class="memitem:a64b057254a760643ba67a9ed452fede8" id="r_a64b057254a760643ba67a9ed452fede8"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a64b057254a760643ba67a9ed452fede8 template"><td class="memItemLeft" align="right" valign="top">T </td><td class="memItemRight" valign="bottom"><a class="el" href="#a64b057254a760643ba67a9ed452fede8">chkcap</a> (T &&cap, char const *extra="", long err=-<a class="el" href="group__l4__error__api.html#ggab4c8abc71ffa221a25c1ca5840a354f9af7f5d38973fbf298613b03a088541e27">L4_ENOMEM</a>)</td></tr>
|
|
<tr class="memdesc:a64b057254a760643ba67a9ed452fede8"><td class="mdescLeft"> </td><td class="mdescRight">Check for valid capability or raise C++ exception. <br /></td></tr>
|
|
<tr class="memitem:ae21329b88c6ffc4917048e8d9564ea99" id="r_ae21329b88c6ffc4917048e8d9564ea99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae21329b88c6ffc4917048e8d9564ea99">chkipc</a> (<a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> tag, char const *extra="", <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb=<a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644">l4_utcb</a>())</td></tr>
|
|
<tr class="memdesc:ae21329b88c6ffc4917048e8d9564ea99"><td class="mdescLeft"> </td><td class="mdescRight">Test a message tag for IPC errors. <br /></td></tr>
|
|
<tr class="memitem:a4289d6b17e3c1c85c9f5e90ad1b2de59" id="r_a4289d6b17e3c1c85c9f5e90ad1b2de59"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a4289d6b17e3c1c85c9f5e90ad1b2de59 template"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4">Shared_cap</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4289d6b17e3c1c85c9f5e90ad1b2de59">make_shared_cap</a> (<a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *ca)</td></tr>
|
|
<tr class="memdesc:a4289d6b17e3c1c85c9f5e90ad1b2de59"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a capability slot and wrap it in a <a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4" title="Shared capability that implements automatic free and unmap of the capability selector.">Shared_cap</a>. <br /></td></tr>
|
|
<tr class="memitem:a601e533638e6519ea3097671c8dbdab7" id="r_a601e533638e6519ea3097671c8dbdab7"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a601e533638e6519ea3097671c8dbdab7 template"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a8ce6737cc5cfbb4afd49cc3c00a62d7e">Shared_del_cap</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a601e533638e6519ea3097671c8dbdab7">make_shared_del_cap</a> (<a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *ca)</td></tr>
|
|
<tr class="memdesc:a601e533638e6519ea3097671c8dbdab7"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a capability slot and wrap it in a <a class="el" href="#a8ce6737cc5cfbb4afd49cc3c00a62d7e" title="Shared capability that implements automatic free and unmap+delete of the capability selector.">Shared_del_cap</a>. <br /></td></tr>
|
|
<tr class="memitem:a8bb9901b3ac8527809d74b8f7ff585d9" id="r_a8bb9901b3ac8527809d74b8f7ff585d9"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:a8bb9901b3ac8527809d74b8f7ff585d9 template"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981">Unique_cap</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8bb9901b3ac8527809d74b8f7ff585d9">make_unique_cap</a> (<a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *ca)</td></tr>
|
|
<tr class="memdesc:a8bb9901b3ac8527809d74b8f7ff585d9"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a capability slot and wrap it in an <a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981" title="Unique capability that implements automatic free and unmap of the capability selector.">Unique_cap</a>. <br /></td></tr>
|
|
<tr class="memitem:ae161858ed73bf085288274e0a9e0bc7d" id="r_ae161858ed73bf085288274e0a9e0bc7d"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:ae161858ed73bf085288274e0a9e0bc7d template"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a3c900d7dd040edd4ed72e837eda69d89">Unique_del_cap</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae161858ed73bf085288274e0a9e0bc7d">make_unique_del_cap</a> (<a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *ca)</td></tr>
|
|
<tr class="memdesc:ae161858ed73bf085288274e0a9e0bc7d"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a capability slot and wrap it in an <a class="el" href="#a3c900d7dd040edd4ed72e837eda69d89" title="Unique capability that implements automatic free and unmap+delete of the capability selector.">Unique_del_cap</a>. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p><a class="el" href="namespaceL4Re.html" title="L4Re C++ Interfaces.">L4Re</a> C++ Interfaces. </p>
|
|
<p><a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> Runtime Environment. </p>
|
|
</div><a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
|
|
<a id="a8246219e47e489b13fb5f2dde553a6e4" name="a8246219e47e489b13fb5f2dde553a6e4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8246219e47e489b13fb5f2dde553a6e4">◆ </a></span>Shared_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4">L4Re::Shared_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Shared capability that implements automatic free and unmap of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This shared capability implements a counted reference to a capability selector. The capability shall be unmapped and freed when the reference count in the allocator goes to zero.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a2eafa529c9c1144d7840f4e101ecf7aa" title="Shared capability that implements automatic free and unmap of the capability selector.">L4Re::Util::Shared_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="shared__cap_source.html#l00033">33</a> of file <a class="el" href="shared__cap_source.html">shared_cap</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1ba2a198ba5f436415ab1727f89b928a" name="a1ba2a198ba5f436415ab1727f89b928a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1ba2a198ba5f436415ab1727f89b928a">◆ </a></span>shared_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#a1ba2a198ba5f436415ab1727f89b928a">L4Re::shared_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Shared capability that implements automatic free and unmap of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This shared capability implements a counted reference to a capability selector. The capability shall be unmapped and freed when the reference count in the allocator goes to zero.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a2eafa529c9c1144d7840f4e101ecf7aa" title="Shared capability that implements automatic free and unmap of the capability selector.">L4Re::Util::Shared_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="shared__cap_source.html#l00036">36</a> of file <a class="el" href="shared__cap_source.html">shared_cap</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8ce6737cc5cfbb4afd49cc3c00a62d7e" name="a8ce6737cc5cfbb4afd49cc3c00a62d7e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8ce6737cc5cfbb4afd49cc3c00a62d7e">◆ </a></span>Shared_del_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#a8ce6737cc5cfbb4afd49cc3c00a62d7e">L4Re::Shared_del_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Shared capability that implements automatic free and unmap+delete of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This shared capability implements a counted reference to a capability selector. The capability shall be unmapped and freed when the reference count in the allocator goes to zero. The main difference to <a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4" title="Shared capability that implements automatic free and unmap of the capability selector.">Shared_cap</a> is that the unmap is done with the deletion flag enabled and this leads to the deletion of the object if the current task holds appropriate deletion rights.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a9b7734b755032a43b8ccf8cc6bfb4557" title="Shared capability that implements automatic free and unmap+delete of the capability selector.">L4Re::Util::Shared_del_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="shared__cap_source.html#l00069">69</a> of file <a class="el" href="shared__cap_source.html">shared_cap</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2f55bc6f406a9b6b97b3ba948137c788" name="a2f55bc6f406a9b6b97b3ba948137c788"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2f55bc6f406a9b6b97b3ba948137c788">◆ </a></span>shared_del_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#a2f55bc6f406a9b6b97b3ba948137c788">L4Re::shared_del_cap</a> = L4::Detail::Shared_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__count__cap.html">Smart_count_cap</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Shared capability that implements automatic free and unmap+delete of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This shared capability implements a counted reference to a capability selector. The capability shall be unmapped and freed when the reference count in the allocator goes to zero. The main difference to <a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4" title="Shared capability that implements automatic free and unmap of the capability selector.">Shared_cap</a> is that the unmap is done with the deletion flag enabled and this leads to the deletion of the object if the current task holds appropriate deletion rights.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a9b7734b755032a43b8ccf8cc6bfb4557" title="Shared capability that implements automatic free and unmap+delete of the capability selector.">L4Re::Util::Shared_del_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="shared__cap_source.html#l00072">72</a> of file <a class="el" href="shared__cap_source.html">shared_cap</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a44b5a2cf415294d2f2cc5ffce0614981" name="a44b5a2cf415294d2f2cc5ffce0614981"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a44b5a2cf415294d2f2cc5ffce0614981">◆ </a></span>Unique_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981">L4Re::Unique_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Unique capability that implements automatic free and unmap of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The ownership of the capability is managed in the same way as unique_ptr.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a0efccd325a19246334922e58dd973914" title="Unique capability that implements automatic free and unmap of the capability selector.">L4Re::Util::Unique_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="unique__cap_source.html#l00031">31</a> of file <a class="el" href="unique__cap_source.html">unique_cap</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab61a54ec293513d2c19cec383981c53b" name="ab61a54ec293513d2c19cec383981c53b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab61a54ec293513d2c19cec383981c53b">◆ </a></span>unique_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#ab61a54ec293513d2c19cec383981c53b">L4Re::unique_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66aa85d4766b182308e5847d543e7d59055">L4_FP_ALL_SPACES</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Unique capability that implements automatic free and unmap of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The ownership of the capability is managed in the same way as unique_ptr.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a0efccd325a19246334922e58dd973914" title="Unique capability that implements automatic free and unmap of the capability selector.">L4Re::Util::Unique_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="unique__cap_source.html#l00034">34</a> of file <a class="el" href="unique__cap_source.html">unique_cap</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3c900d7dd040edd4ed72e837eda69d89" name="a3c900d7dd040edd4ed72e837eda69d89"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3c900d7dd040edd4ed72e837eda69d89">◆ </a></span>Unique_del_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#a3c900d7dd040edd4ed72e837eda69d89">L4Re::Unique_del_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Unique capability that implements automatic free and unmap+delete of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The main difference to <a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981" title="Unique capability that implements automatic free and unmap of the capability selector.">Unique_cap</a> is that the unmap is done with the deletion flag enabled and this leads to the deletion of the object if the current task holds appropriate deletion rights.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a13a4df2df2fdffc06880b49fb10b0c74" title="Unique capability that implements automatic free and unmap+delete of the capability selector.">L4Re::Util::Unique_del_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="unique__cap_source.html#l00064">64</a> of file <a class="el" href="unique__cap_source.html">unique_cap</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab29df2f16d0bb2ca753c1db7d150d43c" name="ab29df2f16d0bb2ca753c1db7d150d43c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab29df2f16d0bb2ca753c1db7d150d43c">◆ </a></span>unique_del_cap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="#ab29df2f16d0bb2ca753c1db7d150d43c">L4Re::unique_del_cap</a> = L4::Detail::Unique_cap_impl<T, <a class="el" href="classL4Re_1_1Smart__cap__auto.html">Smart_cap_auto</a><<a class="el" href="group__l4__task__api.html#gga3c24e67b976870a3e911c43c83382f66a49114f3e6952b9448fe776f2ab18813f">L4_FP_DELETE_OBJ</a>>></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Unique capability that implements automatic free and unmap+delete of the capability selector. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The main difference to <a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981" title="Unique capability that implements automatic free and unmap of the capability selector.">Unique_cap</a> is that the unmap is done with the deletion flag enabled and this leads to the deletion of the object if the current task holds appropriate deletion rights.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This type is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a13a4df2df2fdffc06880b49fb10b0c74" title="Unique capability that implements automatic free and unmap+delete of the capability selector.">L4Re::Util::Unique_del_cap</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="unique__cap_source.html#l00067">67</a> of file <a class="el" href="unique__cap_source.html">unique_cap</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="a64b057254a760643ba67a9ed452fede8" name="a64b057254a760643ba67a9ed452fede8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a64b057254a760643ba67a9ed452fede8">◆ </a></span>chkcap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">T L4Re::chkcap </td>
|
|
<td>(</td>
|
|
<td class="paramtype">T &&</td> <td class="paramname"><span class="paramname"><em>cap</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>extra</em></span><span class="paramdefsep"> = </span><span class="paramdefval">""</span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>err</em></span><span class="paramdefsep"> = </span><span class="paramdefval">-<a class="el" href="group__l4__error__api.html#ggab4c8abc71ffa221a25c1ca5840a354f9af7f5d38973fbf298613b03a088541e27">L4_ENOMEM</a></span> )</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>Check for valid capability or raise C++ exception. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of object to check, must be capability-like (<a class="el" href="classL4_1_1Cap.html" title="C++ interface for capabilities.">L4::Cap</a>, <a class="el" href="namespaceL4Re_1_1Util.html#a0efccd325a19246334922e58dd973914" title="Unique capability that implements automatic free and unmap of the capability selector.">L4Re::Util::Unique_cap</a> etc.)</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">cap</td><td>Capability value to check. </td></tr>
|
|
<tr><td class="paramname">extra</td><td>Optional text for exception. </td></tr>
|
|
<tr><td class="paramname">err</td><td>Error value for exception or 0 if the error code stored in the invalid capability should be used.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This function checks whether the capability is valid. If the capability is invalid, a C++ exception is generated, using err if err is not zero, otherwise the capability value is used. A valid capability will just be returned. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="error__helper_source.html#l00149">149</a> of file <a class="el" href="error__helper_source.html">error_helper</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="err_8h_source.html#l00039">L4_ENOMEM</a>, <a class="el" href="compiler_8h_source.html#l00284">L4_UNLIKELY</a>, and <a class="el" href="error__helper_source.html#l00037">throw_error()</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="server_2l4virtio_source.html#l00112">L4virtio::Svr::Dev_config::Dev_config()</a>, <a class="el" href="client_2l4virtio_source.html#l00056">L4virtio::Driver::Device::driver_connect()</a>, <a class="el" href="virtio-console-device_source.html#l00192">L4virtio::Svr::Console::Device::register_single_driver_irq()</a>, <a class="el" href="virtio-gpio-device_source.html#l00522">L4virtio::Svr::Virtio_gpio< Request_handler, Epiface >::register_single_driver_irq()</a>, <a class="el" href="virtio-i2c-device_source.html#l00363">L4virtio::Svr::Virtio_i2c< Request_handler, Epiface >::register_single_driver_irq()</a>, <a class="el" href="virtio-rng-device_source.html#l00210">L4virtio::Svr::Virtio_rng< Rnd_state, Epiface >::register_single_driver_irq()</a>, <a class="el" href="l4re-snapshot-25_808_80_2src_2l4_2pkg_2virtio-net-switch_2server_2switch_2virtio__net_8h_source.html#l00250">Virtio_net::register_single_driver_irq()</a>, <a class="el" href="client_2virtio-block_source.html#l00092">L4virtio::Driver::Block_device::setup_device()</a>, and <a class="el" href="virtio-net_source.html#l00066">L4virtio::Driver::Virtio_net_device::setup_device()</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>Here is the call graph for this function:</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="namespaceL4Re_a64b057254a760643ba67a9ed452fede8_cgraph.svg" width="304" 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-1" 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-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="namespaceL4Re_a64b057254a760643ba67a9ed452fede8_icgraph.svg" width="588" height="596"><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="ae21329b88c6ffc4917048e8d9564ea99" name="ae21329b88c6ffc4917048e8d9564ea99"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae21329b88c6ffc4917048e8d9564ea99">◆ </a></span>chkipc()</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__msgtag__t.html">l4_msgtag_t</a> L4Re::chkipc </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a></td> <td class="paramname"><span class="paramname"><em>tag</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>extra</em></span><span class="paramdefsep"> = </span><span class="paramdefval">""</span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *</td> <td class="paramname"><span class="paramname"><em>utcb</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644">l4_utcb</a>()</span> )</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>Test a message tag for IPC errors. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">tag</td><td>Message tag returned by the IPC. </td></tr>
|
|
<tr><td class="paramname">extra</td><td>Exception message in case of error. </td></tr>
|
|
<tr><td class="paramname">utcb</td><td>The UTCB used in the IPC operation.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>On IPC error an exception is thrown, otherwise <span class="tt">tag</span> is returned. </dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">L4::Runtime_exception</td><td>with the translated IPC error code</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This function does not check the message tag's label value.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>This must be called on a message tag before the UTCB is changed. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="error__helper_source.html#l00180">180</a> of file <a class="el" href="error__helper_source.html">error_helper</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="error__helper_source.html#l00072">chksys()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00191">l4_msgtag_t::has_error()</a>, and <a class="el" href="compiler_8h_source.html#l00284">L4_UNLIKELY</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 call 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="namespaceL4Re_ae21329b88c6ffc4917048e8d9564ea99_cgraph.svg" width="519" 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="ae0dd5d25abdc1d195edd8ab6b744334c" name="ae0dd5d25abdc1d195edd8ab6b744334c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae0dd5d25abdc1d195edd8ab6b744334c">◆ </a></span>chksys() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long L4Re::chksys </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> const &</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>extra</em></span><span class="paramdefsep"> = </span><span class="paramdefval">""</span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *</td> <td class="paramname"><span class="paramname"><em>utcb</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644">l4_utcb</a>()</span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>ret</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span> )</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>Generate C++ exception on error. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">t</td><td>Message tag. </td></tr>
|
|
<tr><td class="paramname">extra</td><td>Optional text for exception (default "") </td></tr>
|
|
<tr><td class="paramname">utcb</td><td>Option UTCB </td></tr>
|
|
<tr><td class="paramname">ret</td><td>Optional value for exception, default is error value (err)</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This function throws an exception if the message tag contains an error or the label in the message tag is negative. Otherwise the label in the message tag is returned. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="error__helper_source.html#l00093">93</a> of file <a class="el" href="error__helper_source.html">error_helper</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="l4_2sys_2types_8h_source.html#l00191">l4_msgtag_t::has_error()</a>, <a class="el" href="compiler_8h_source.html#l00284">L4_UNLIKELY</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00158">l4_msgtag_t::label()</a>, and <a class="el" href="error__helper_source.html#l00037">throw_error()</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="namespaceL4Re_ae0dd5d25abdc1d195edd8ab6b744334c_cgraph.svg" width="336" height="135"><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="ad17a205e6270588606dd85399b0f9b6c" name="ad17a205e6270588606dd85399b0f9b6c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad17a205e6270588606dd85399b0f9b6c">◆ </a></span>chksys() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long L4Re::chksys </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a> const &</td> <td class="paramname"><span class="paramname"><em>t</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *</td> <td class="paramname"><span class="paramname"><em>utcb</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>extra</em></span><span class="paramdefsep"> = </span><span class="paramdefval">""</span> )</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>Generate C++ exception on error. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">t</td><td>Message tag. </td></tr>
|
|
<tr><td class="paramname">utcb</td><td>UTCB. </td></tr>
|
|
<tr><td class="paramname">extra</td><td>Optional text for exception (default "")</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This function throws an exception if the message tag contains an error or the label in the message tag is negative. Otherwise the label in the message tag is returned. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="error__helper_source.html#l00116">116</a> of file <a class="el" href="error__helper_source.html">error_helper</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="error__helper_source.html#l00072">chksys()</a>.</p>
|
|
<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 call 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="namespaceL4Re_ad17a205e6270588606dd85399b0f9b6c_cgraph.svg" width="458" 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="a3f17984019f06676a7e3eecb41bbb0bb" name="a3f17984019f06676a7e3eecb41bbb0bb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3f17984019f06676a7e3eecb41bbb0bb">◆ </a></span>chksys() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long L4Re::chksys </td>
|
|
<td>(</td>
|
|
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>err</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>extra</em></span><span class="paramdefsep"> = </span><span class="paramdefval">""</span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>ret</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span> )</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>Generate C++ exception on error. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">err</td><td>Error value, if negative exception will be thrown </td></tr>
|
|
<tr><td class="paramname">extra</td><td>Optional text for exception (default "") </td></tr>
|
|
<tr><td class="paramname">ret</td><td>Optional value for exception, default is error value (err)</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This function throws an exception if the err is negative and otherwise returns err. </p>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="examples_2libs_2l4re_2c_09_09_2shared_ds_2ds_srv_8cc-example.html#a20">examples/libs/l4re/c++/shared_ds/ds_srv.cc</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="error__helper_source.html#l00072">72</a> of file <a class="el" href="error__helper_source.html">error_helper</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00284">L4_UNLIKELY</a>, and <a class="el" href="error__helper_source.html#l00037">throw_error()</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="server_2l4virtio_source.html#l00669">L4virtio::Svr::Driver_mem_list_t< No_custom_data >::add()</a>, <a class="el" href="error__helper_source.html#l00180">chkipc()</a>, <a class="el" href="error__helper_source.html#l00116">chksys()</a>, <a class="el" href="server_2l4virtio_source.html#l00112">L4virtio::Svr::Dev_config::Dev_config()</a>, <a class="el" href="server_2l4virtio_source.html#l00848">L4virtio::Svr::Device_t< No_custom_data >::device_notify_irq()</a>, <a class="el" href="server_2l4virtio_source.html#l00874">L4virtio::Svr::Device_t< No_custom_data >::device_notify_irq()</a>, <a class="el" href="client_2l4virtio_source.html#l00156">L4virtio::Driver::Device::driver_acknowledge()</a>, <a class="el" href="client_2l4virtio_source.html#l00056">L4virtio::Driver::Device::driver_connect()</a>, <a class="el" href="server_2l4virtio_source.html#l00498">L4virtio::Svr::Driver_mem_region_t< No_custom_data >::Driver_mem_region_t()</a>, <a class="el" href="client_2virtio-block_source.html#l00357">L4virtio::Driver::Block_device::process_used_queue()</a>, <a class="el" href="server_2l4virtio_source.html#l00860">L4virtio::Svr::Device_t< No_custom_data >::register_driver_irq()</a>, <a class="el" href="virtio-console-device_source.html#l00192">L4virtio::Svr::Console::Device::register_single_driver_irq()</a>, <a class="el" href="server_2l4virtio_source.html#l00841">L4virtio::Svr::Device_t< No_custom_data >::register_single_driver_irq()</a>, <a class="el" href="virtio-gpio-device_source.html#l00522">L4virtio::Svr::Virtio_gpio< Request_handler, Epiface >::register_single_driver_irq()</a>, <a class="el" href="virtio-i2c-device_source.html#l00363">L4virtio::Svr::Virtio_i2c< Request_handler, Epiface >::register_single_driver_irq()</a>, <a class="el" href="virtio-rng-device_source.html#l00210">L4virtio::Svr::Virtio_rng< Rnd_state, Epiface >::register_single_driver_irq()</a>, <a class="el" href="l4re-snapshot-25_808_80_2src_2l4_2pkg_2virtio-net-switch_2server_2switch_2virtio__net_8h_source.html#l00250">Virtio_net::register_single_driver_irq()</a>, <a class="el" href="server_2l4virtio_source.html#l00683">L4virtio::Svr::Driver_mem_list_t< No_custom_data >::remove()</a>, <a class="el" href="client_2virtio-block_source.html#l00092">L4virtio::Driver::Block_device::setup_device()</a>, <a class="el" href="virtio-net_source.html#l00066">L4virtio::Driver::Virtio_net_device::setup_device()</a>, <a class="el" href="virtio-console_source.html#l00293">L4virtio::Svr::Console::Virtio_con::Virtio_con()</a>, and <a class="el" href="virtio-net_source.html#l00202">L4virtio::Driver::Virtio_net_device::wait_rx()</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="namespaceL4Re_a3f17984019f06676a7e3eecb41bbb0bb_cgraph.svg" width="303" 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-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="namespaceL4Re_a3f17984019f06676a7e3eecb41bbb0bb_icgraph.svg" width="631" height="1507"><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="a4289d6b17e3c1c85c9f5e90ad1b2de59" name="a4289d6b17e3c1c85c9f5e90ad1b2de59"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4289d6b17e3c1c85c9f5e90ad1b2de59">◆ </a></span>make_shared_cap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4">Shared_cap</a>< T > L4Re::make_shared_cap </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *</td> <td class="paramname"><span class="paramname"><em>ca</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocate a capability slot and wrap it in a <a class="el" href="#a8246219e47e489b13fb5f2dde553a6e4" title="Shared capability that implements automatic free and unmap of the capability selector.">Shared_cap</a>. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ca</td><td>Capability allocator to use.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>This function is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a08b3c68edc484947355ca2b60a97e30d" title="Allocate a capability slot and wrap it in a Shared_cap.">L4Re::Util::make_shared_cap<T>()</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="shared__cap_source.html#l00049">49</a> of file <a class="el" href="shared__cap_source.html">shared_cap</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="classL4Re_1_1Cap__alloc.html#a8ec47fe158e8a2acae49ceff505be193">L4Re::Cap_alloc::alloc()</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 call 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="namespaceL4Re_a4289d6b17e3c1c85c9f5e90ad1b2de59_cgraph.svg" width="402" 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="a601e533638e6519ea3097671c8dbdab7" name="a601e533638e6519ea3097671c8dbdab7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a601e533638e6519ea3097671c8dbdab7">◆ </a></span>make_shared_del_cap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="#a8ce6737cc5cfbb4afd49cc3c00a62d7e">Shared_del_cap</a>< T > L4Re::make_shared_del_cap </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *</td> <td class="paramname"><span class="paramname"><em>ca</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocate a capability slot and wrap it in a <a class="el" href="#a8ce6737cc5cfbb4afd49cc3c00a62d7e" title="Shared capability that implements automatic free and unmap+delete of the capability selector.">Shared_del_cap</a>. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ca</td><td>Capability allocator to use.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>This function is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a0812bce3621d886729f5510b4b7f9128" title="Allocate a capability slot and wrap it in a Shared_del_cap.">L4Re::Util::make_shared_del_cap<T>()</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="shared__cap_source.html#l00085">85</a> of file <a class="el" href="shared__cap_source.html">shared_cap</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="classL4Re_1_1Cap__alloc.html#a8ec47fe158e8a2acae49ceff505be193">L4Re::Cap_alloc::alloc()</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 call 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="namespaceL4Re_a601e533638e6519ea3097671c8dbdab7_cgraph.svg" width="430" 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="a8bb9901b3ac8527809d74b8f7ff585d9" name="a8bb9901b3ac8527809d74b8f7ff585d9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8bb9901b3ac8527809d74b8f7ff585d9">◆ </a></span>make_unique_cap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981">Unique_cap</a>< T > L4Re::make_unique_cap </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *</td> <td class="paramname"><span class="paramname"><em>ca</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocate a capability slot and wrap it in an <a class="el" href="#a44b5a2cf415294d2f2cc5ffce0614981" title="Unique capability that implements automatic free and unmap of the capability selector.">Unique_cap</a>. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ca</td><td>Capability allocator to use.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>This function is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a0c4ee77222764600950f2ebe23a1e45a" title="Allocate a capability slot and wrap it in an Unique_cap.">L4Re::Util::make_unique_cap<T>()</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="unique__cap_source.html#l00047">47</a> of file <a class="el" href="unique__cap_source.html">unique_cap</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="classL4Re_1_1Cap__alloc.html#a8ec47fe158e8a2acae49ceff505be193">L4Re::Cap_alloc::alloc()</a>.</p>
|
|
<div id="dynsection-9" 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-9-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-9-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="namespaceL4Re_a8bb9901b3ac8527809d74b8f7ff585d9_cgraph.svg" width="402" 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="ae161858ed73bf085288274e0a9e0bc7d" name="ae161858ed73bf085288274e0a9e0bc7d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae161858ed73bf085288274e0a9e0bc7d">◆ </a></span>make_unique_del_cap()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<typename T> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="#a3c900d7dd040edd4ed72e837eda69d89">Unique_del_cap</a>< T > L4Re::make_unique_del_cap </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classL4Re_1_1Cap__alloc.html">L4Re::Cap_alloc</a> *</td> <td class="paramname"><span class="paramname"><em>ca</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Allocate a capability slot and wrap it in an <a class="el" href="#a3c900d7dd040edd4ed72e837eda69d89" title="Unique capability that implements automatic free and unmap+delete of the capability selector.">Unique_del_cap</a>. </p>
|
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
|
<table class="tparams">
|
|
<tr><td class="paramname">T</td><td>Type of the object the capability refers to. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ca</td><td>Capability allocator to use.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>This function is intended for users who implement a custom capability allocator; otherwise use <a class="el" href="namespaceL4Re_1_1Util.html#a4c9140864b109e2582d94d5def245fd1" title="Allocate a capability slot and wrap it in an Unique_del_cap.">L4Re::Util::make_unique_del_cap<T>()</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="unique__cap_source.html#l00080">80</a> of file <a class="el" href="unique__cap_source.html">unique_cap</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="classL4Re_1_1Cap__alloc.html#a8ec47fe158e8a2acae49ceff505be193">L4Re::Cap_alloc::alloc()</a>.</p>
|
|
<div id="dynsection-10" 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-10-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-10-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="namespaceL4Re_ae161858ed73bf085288274e0a9e0bc7d_cgraph.svg" width="430" 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="ae27ac6f274f4ad1267d0d1c0c033c00b" name="ae27ac6f274f4ad1267d0d1c0c033c00b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae27ac6f274f4ad1267d0d1c0c033c00b">◆ </a></span>throw_error()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void L4Re::throw_error </td>
|
|
<td>(</td>
|
|
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>err</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>extra</em></span><span class="paramdefsep"> = </span><span class="paramdefval">""</span> )</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>Generate C++ exception. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">err</td><td>Error value </td></tr>
|
|
<tr><td class="paramname">extra</td><td>Optional text for exception (default "")</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This function throws an <a class="el" href="namespaceL4.html" title="L4 low-level kernel interface.">L4</a> exception. The exact exception type depends on the error value (err). This function does never return. </p>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="examples_2libs_2l4re_2c_09_09_2shared_ds_2ds_srv_8cc-example.html#a18">examples/libs/l4re/c++/shared_ds/ds_srv.cc</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="error__helper_source.html#l00037">37</a> of file <a class="el" href="error__helper_source.html">error_helper</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="err_8h_source.html#l00043">L4_EEXIST</a>, <a class="el" href="err_8h_source.html#l00034">L4_ENOENT</a>, <a class="el" href="err_8h_source.html#l00039">L4_ENOMEM</a>, and <a class="el" href="err_8h_source.html#l00048">L4_ERANGE</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="error__helper_source.html#l00149">chkcap()</a>, <a class="el" href="error__helper_source.html#l00093">chksys()</a>, and <a class="el" href="error__helper_source.html#l00072">chksys()</a>.</p>
|
|
<div id="dynsection-11" 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-11-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-11-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="namespaceL4Re_ae27ac6f274f4ad1267d0d1c0c033c00b_icgraph.svg" width="818" height="1606"><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="navelem"><a href="namespaceL4Re.html">L4Re</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>
|