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

570 lines
72 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: L4vbus::Vbus Class 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('classL4vbus_1_1Vbus.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">L4vbus::Vbus Class Reference<div class="ingroups"><a class="el" href="group__api__l4re.html">L4Re C++ Interface</a> &raquo; <a class="el" href="group__api__l4re__vbus.html">Vbus API</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>The virtual bus (<a class="el" href="classL4vbus_1_1Vbus.html" title="The virtual bus (Vbus) interface.">Vbus</a>) interface.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="vbus_source.html">vbus</a>&gt;</code></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>Inheritance diagram for L4vbus::Vbus:</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="classL4vbus_1_1Vbus__inherit__graph.svg" width="882" height="1734"><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>Collaboration diagram for L4vbus::Vbus:</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="classL4vbus_1_1Vbus__coll__graph.svg" width="882" height="1734"><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-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a56f38d95fbcf91235e28b0d0ada87ad4" id="r_a56f38d95fbcf91235e28b0d0ada87ad4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a56f38d95fbcf91235e28b0d0ada87ad4">request_ioport</a> (<a class="el" href="structl4vbus__resource__t.html">l4vbus_resource_t</a> *res) const</td></tr>
<tr class="memdesc:a56f38d95fbcf91235e28b0d0ada87ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the given IO port resource from the bus. <br /></td></tr>
<tr class="memitem:aa7a0641bf41be1fee81d4d6a871d5ef9" id="r_aa7a0641bf41be1fee81d4d6a871d5ef9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa7a0641bf41be1fee81d4d6a871d5ef9">release_ioport</a> (<a class="el" href="structl4vbus__resource__t.html">l4vbus_resource_t</a> *res) const</td></tr>
<tr class="memdesc:aa7a0641bf41be1fee81d4d6a871d5ef9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the given IO port resource from the bus. <br /></td></tr>
<tr class="memitem:a553403642b3321b2c96e01497b0c6f8c" id="r_a553403642b3321b2c96e01497b0c6f8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classL4vbus_1_1Device.html">Device</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a553403642b3321b2c96e01497b0c6f8c">root</a> () const</td></tr>
<tr class="memdesc:a553403642b3321b2c96e01497b0c6f8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the root device of the device tree of this bus. <br /></td></tr>
<tr class="memitem:a15085069054edbb9b221154e25db52b2" id="r_a15085069054edbb9b221154e25db52b2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a15085069054edbb9b221154e25db52b2">assign_dma_domain</a> (unsigned domain_id, unsigned <a class="el" href="classL4Re_1_1Dataspace.html#af96cd7d2c6fd10bfbbb0b426197a231c">flags</a>, <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4Re_1_1Dma__space.html">L4Re::Dma_space</a> &gt; dma_space) const</td></tr>
<tr class="memdesc:a15085069054edbb9b221154e25db52b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bind or unbind an <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">L4Re::Dma_space</a> to a DMA domain. <br /></td></tr>
<tr class="memitem:a7e78ffe39d692ceeed7e81f6ab1ffc43" id="r_a7e78ffe39d692ceeed7e81f6ab1ffc43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e78ffe39d692ceeed7e81f6ab1ffc43">assign_dma_domain</a> (unsigned domain_id, unsigned <a class="el" href="classL4Re_1_1Dataspace.html#af96cd7d2c6fd10bfbbb0b426197a231c">flags</a>, <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Task.html">L4::Task</a> &gt; dma_space) const</td></tr>
<tr class="memdesc:a7e78ffe39d692ceeed7e81f6ab1ffc43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bind or unbind a kernel <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> to a DMA domain. <br /></td></tr>
<tr class="inherit_header pub_methods_classL4Re_1_1Dataspace"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classL4Re_1_1Dataspace')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Member Functions inherited from <a class="el" href="classL4Re_1_1Dataspace.html">L4Re::Dataspace</a></td></tr>
<tr class="memitem:a1c8539a63573cdd9216d9382e89b0e64 inherit pub_methods_classL4Re_1_1Dataspace" id="r_a1c8539a63573cdd9216d9382e89b0e64"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#a1c8539a63573cdd9216d9382e89b0e64">map</a> (Offset offset, Flags <a class="el" href="classL4Re_1_1Dataspace.html#af96cd7d2c6fd10bfbbb0b426197a231c">flags</a>, Map_addr local_addr, Map_addr min_addr, Map_addr max_addr, <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Task.html">L4::Task</a> &gt; dst=<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Task.html">L4::Task</a> &gt;::Invalid) const noexcept</td></tr>
<tr class="memdesc:a1c8539a63573cdd9216d9382e89b0e64 inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request a flexpage mapping from the dataspace. <br /></td></tr>
<tr class="memitem:a971cf0d6a16afe265efbd4a40a2f6d03 inherit pub_methods_classL4Re_1_1Dataspace" id="r_a971cf0d6a16afe265efbd4a40a2f6d03"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#a971cf0d6a16afe265efbd4a40a2f6d03">map_region</a> (Offset offset, Flags <a class="el" href="classL4Re_1_1Dataspace.html#af96cd7d2c6fd10bfbbb0b426197a231c">flags</a>, Map_addr min_addr, Map_addr max_addr, <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Task.html">L4::Task</a> &gt; dst=<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Task.html">L4::Task</a> &gt;::Invalid) const noexcept</td></tr>
<tr class="memdesc:a971cf0d6a16afe265efbd4a40a2f6d03 inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a part of a dataspace into a local memory area. <br /></td></tr>
<tr class="memitem:aec6654feafb167a373e056b326a99151 inherit pub_methods_classL4Re_1_1Dataspace" id="r_aec6654feafb167a373e056b326a99151"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#aec6654feafb167a373e056b326a99151">clear</a> (Offset offset, Size <a class="el" href="classL4Re_1_1Dataspace.html#ace7817f743e42404bcfe0a0e348884e1">size</a>)</td></tr>
<tr class="memdesc:aec6654feafb167a373e056b326a99151 inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear parts of a dataspace. <br /></td></tr>
<tr class="memitem:af54638ea6c363bb5096267a0eb89d86a inherit pub_methods_classL4Re_1_1Dataspace" id="r_af54638ea6c363bb5096267a0eb89d86a"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#af54638ea6c363bb5096267a0eb89d86a">allocate</a> (Offset offset, Size <a class="el" href="classL4Re_1_1Dataspace.html#ace7817f743e42404bcfe0a0e348884e1">size</a>)</td></tr>
<tr class="memdesc:af54638ea6c363bb5096267a0eb89d86a inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a range in the dataspace. <br /></td></tr>
<tr class="memitem:a21ba4a8d1053498647834e622daf285a inherit pub_methods_classL4Re_1_1Dataspace" id="r_a21ba4a8d1053498647834e622daf285a"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#a21ba4a8d1053498647834e622daf285a">copy_in</a> (Offset dst_offs, <a class="el" href="classL4_1_1Ipc_1_1Cap.html">L4::Ipc::Cap</a>&lt; <a class="el" href="classL4Re_1_1Dataspace.html">Dataspace</a> &gt; src, Offset src_offs, Size <a class="el" href="classL4Re_1_1Dataspace.html#ace7817f743e42404bcfe0a0e348884e1">size</a>)</td></tr>
<tr class="memdesc:a21ba4a8d1053498647834e622daf285a inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy contents from another dataspace. <br /></td></tr>
<tr class="memitem:ace7817f743e42404bcfe0a0e348884e1 inherit pub_methods_classL4Re_1_1Dataspace" id="r_ace7817f743e42404bcfe0a0e348884e1"><td class="memItemLeft" align="right" valign="top">Size&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#ace7817f743e42404bcfe0a0e348884e1">size</a> () const noexcept</td></tr>
<tr class="memdesc:ace7817f743e42404bcfe0a0e348884e1 inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get size of a dataspace. <br /></td></tr>
<tr class="memitem:af96cd7d2c6fd10bfbbb0b426197a231c inherit pub_methods_classL4Re_1_1Dataspace" id="r_af96cd7d2c6fd10bfbbb0b426197a231c"><td class="memItemLeft" align="right" valign="top">Flags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#af96cd7d2c6fd10bfbbb0b426197a231c">flags</a> () const noexcept</td></tr>
<tr class="memdesc:af96cd7d2c6fd10bfbbb0b426197a231c inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get flags of the dataspace. <br /></td></tr>
<tr class="memitem:aa67190f2465d092c35c62d432814a8b3 inherit pub_methods_classL4Re_1_1Dataspace" id="r_aa67190f2465d092c35c62d432814a8b3"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#aa67190f2465d092c35c62d432814a8b3">info</a> (<a class="el" href="structL4Re_1_1Dataspace_1_1Stats.html">Stats</a> *stats)</td></tr>
<tr class="memdesc:aa67190f2465d092c35c62d432814a8b3 inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information on the dataspace. <br /></td></tr>
<tr class="memitem:ab56d44448cca4a99531904fb3e2cd0df inherit pub_methods_classL4Re_1_1Dataspace" id="r_ab56d44448cca4a99531904fb3e2cd0df"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Dataspace.html#ab56d44448cca4a99531904fb3e2cd0df">map_info</a> (<a class="el" href="group__l4__basic__types.html#ga4087b991c40c0d2fcde9ca331049a4d4">l4_addr_t</a> *start_addr, <a class="el" href="group__l4__basic__types.html#ga4087b991c40c0d2fcde9ca331049a4d4">l4_addr_t</a> *end_addr)</td></tr>
<tr class="memdesc:ab56d44448cca4a99531904fb3e2cd0df inherit pub_methods_classL4Re_1_1Dataspace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get mapping range of dataspace. <br /></td></tr>
<tr class="inherit_header pub_methods_classL4_1_1Kobject"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classL4_1_1Kobject')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Member Functions inherited from <a class="el" href="classL4_1_1Kobject.html">L4::Kobject</a></td></tr>
<tr class="memitem:a9fe009599de49f1af438ff49998faec0 inherit pub_methods_classL4_1_1Kobject" id="r_a9fe009599de49f1af438ff49998faec0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Kobject.html#a9fe009599de49f1af438ff49998faec0">dec_refcnt</a> (<a class="el" href="group__l4__basic__types.html#ga51d9492e7700d70ed35838154ca9b279">l4_mword_t</a> diff, <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:a9fe009599de49f1af438ff49998faec0 inherit pub_methods_classL4_1_1Kobject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement the in kernel reference counter for the object. <br /></td></tr>
<tr class="inherit_header pub_methods_classL4Re_1_1Inhibitor"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classL4Re_1_1Inhibitor')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Member Functions inherited from <a class="el" href="classL4Re_1_1Inhibitor.html">L4Re::Inhibitor</a></td></tr>
<tr class="memitem:ab220aac3d51cc9c422c04e8b18409179 inherit pub_methods_classL4Re_1_1Inhibitor" id="r_ab220aac3d51cc9c422c04e8b18409179"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Inhibitor.html#ab220aac3d51cc9c422c04e8b18409179">acquire</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> id, L4::Ipc::String&lt;&gt; reason)</td></tr>
<tr class="memdesc:ab220aac3d51cc9c422c04e8b18409179 inherit pub_methods_classL4Re_1_1Inhibitor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquire a specific inhibitor lock. <br /></td></tr>
<tr class="memitem:ac228e6e7ba816c85eec1826c65e149d6 inherit pub_methods_classL4Re_1_1Inhibitor" id="r_ac228e6e7ba816c85eec1826c65e149d6"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Inhibitor.html#ac228e6e7ba816c85eec1826c65e149d6">release</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> id)</td></tr>
<tr class="memdesc:ac228e6e7ba816c85eec1826c65e149d6 inherit pub_methods_classL4Re_1_1Inhibitor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release a specific inhibitor lock. <br /></td></tr>
<tr class="memitem:aa524589a81a491df8cad60939373d0da inherit pub_methods_classL4Re_1_1Inhibitor" id="r_aa524589a81a491df8cad60939373d0da"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Inhibitor.html#aa524589a81a491df8cad60939373d0da">next_lock_info</a> (char *name, unsigned len, <a class="el" href="group__l4__basic__types.html#ga51d9492e7700d70ed35838154ca9b279">l4_mword_t</a> current_id=-1, <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:aa524589a81a491df8cad60939373d0da inherit pub_methods_classL4Re_1_1Inhibitor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information for the next available inhibitor lock. <br /></td></tr>
<tr class="inherit_header pub_methods_classL4Re_1_1Event"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classL4Re_1_1Event')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Member Functions inherited from <a class="el" href="classL4Re_1_1Event.html">L4Re::Event</a></td></tr>
<tr class="memitem:adc8f166274c62be37c30ff4faf0bacc9 inherit pub_methods_classL4Re_1_1Event" id="r_adc8f166274c62be37c30ff4faf0bacc9"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event.html#adc8f166274c62be37c30ff4faf0bacc9">get_buffer</a> (<a class="el" href="structL4_1_1Ipc_1_1Out.html">L4::Ipc::Out</a>&lt; <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4Re_1_1Dataspace.html">Dataspace</a> &gt; &gt; ds)</td></tr>
<tr class="memdesc:adc8f166274c62be37c30ff4faf0bacc9 inherit pub_methods_classL4Re_1_1Event"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get event signal buffer. <br /></td></tr>
<tr class="memitem:a1eebc9445eeed731186dd52fa48ff781 inherit pub_methods_classL4Re_1_1Event" id="r_a1eebc9445eeed731186dd52fa48ff781"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event.html#a1eebc9445eeed731186dd52fa48ff781">get_num_streams</a> ()</td></tr>
<tr class="memdesc:a1eebc9445eeed731186dd52fa48ff781 inherit pub_methods_classL4Re_1_1Event"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of event streams. <br /></td></tr>
<tr class="memitem:a3b9d0674e29de99afddce35eed52d9d4 inherit pub_methods_classL4Re_1_1Event" id="r_a3b9d0674e29de99afddce35eed52d9d4"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event.html#a3b9d0674e29de99afddce35eed52d9d4">get_stream_info</a> (int idx, Event_stream_info *<a class="el" href="classL4_1_1Icu.html#a356cfa88076c92e121ab7760d50d5f18">info</a>)</td></tr>
<tr class="memdesc:a3b9d0674e29de99afddce35eed52d9d4 inherit pub_methods_classL4Re_1_1Event"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get event stream infos. <br /></td></tr>
<tr class="memitem:a0bdbfef4a9152c7ce61dc5cd9deb6023 inherit pub_methods_classL4Re_1_1Event" id="r_a0bdbfef4a9152c7ce61dc5cd9deb6023"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event.html#a0bdbfef4a9152c7ce61dc5cd9deb6023">get_stream_info_for_id</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> stream_id, Event_stream_info *<a class="el" href="classL4_1_1Icu.html#a356cfa88076c92e121ab7760d50d5f18">info</a>)</td></tr>
<tr class="memdesc:a0bdbfef4a9152c7ce61dc5cd9deb6023 inherit pub_methods_classL4Re_1_1Event"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get event stream infos. <br /></td></tr>
<tr class="memitem:a53566c8a2fd1976d0ff5ef0a0878faaa inherit pub_methods_classL4Re_1_1Event" id="r_a53566c8a2fd1976d0ff5ef0a0878faaa"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event.html#a53566c8a2fd1976d0ff5ef0a0878faaa">get_axis_info</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> stream_id, unsigned naxes, unsigned const *axis, Event_absinfo *<a class="el" href="classL4_1_1Icu.html#a356cfa88076c92e121ab7760d50d5f18">info</a>) const noexcept</td></tr>
<tr class="memdesc:a53566c8a2fd1976d0ff5ef0a0878faaa inherit pub_methods_classL4Re_1_1Event"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get event stream axis infos. <br /></td></tr>
<tr class="memitem:a3e83bd45df8fa72bc462e4e7e2d76d6e inherit pub_methods_classL4Re_1_1Event" id="r_a3e83bd45df8fa72bc462e4e7e2d76d6e"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4Re_1_1Event.html#a3e83bd45df8fa72bc462e4e7e2d76d6e">get_stream_state_for_id</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> stream_id, Event_stream_state *state)</td></tr>
<tr class="memdesc:a3e83bd45df8fa72bc462e4e7e2d76d6e inherit pub_methods_classL4Re_1_1Event"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get event stream state. <br /></td></tr>
<tr class="inherit_header pub_methods_classL4_1_1Icu"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classL4_1_1Icu')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Member Functions inherited from <a class="el" href="classL4_1_1Icu.html">L4::Icu</a></td></tr>
<tr class="memitem:ada7541da586ea09b925b4d90d7dc357e inherit pub_methods_classL4_1_1Icu" id="r_ada7541da586ea09b925b4d90d7dc357e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Icu.html#ada7541da586ea09b925b4d90d7dc357e">bind</a> (unsigned irqnum, <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="structL4_1_1Triggerable.html">Triggerable</a> &gt; irq, <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>()) noexcept</td></tr>
<tr class="memdesc:ada7541da586ea09b925b4d90d7dc357e inherit pub_methods_classL4_1_1Icu"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bind an interrupt line of an interrupt controller to an interrupt object. <br /></td></tr>
<tr class="memitem:aa34e56cdac798b1949fcc00553386b8b inherit pub_methods_classL4_1_1Icu" id="r_aa34e56cdac798b1949fcc00553386b8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Icu.html#aa34e56cdac798b1949fcc00553386b8b">unbind</a> (unsigned irqnum, <a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="structL4_1_1Triggerable.html">Triggerable</a> &gt; irq, <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>()) noexcept</td></tr>
<tr class="memdesc:aa34e56cdac798b1949fcc00553386b8b inherit pub_methods_classL4_1_1Icu"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove binding of an interrupt line from the interrupt controller object. <br /></td></tr>
<tr class="memitem:a356cfa88076c92e121ab7760d50d5f18 inherit pub_methods_classL4_1_1Icu" id="r_a356cfa88076c92e121ab7760d50d5f18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Icu.html#a356cfa88076c92e121ab7760d50d5f18">info</a> (<a class="el" href="structl4__icu__info__t.html">l4_icu_info_t</a> *info, <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>()) noexcept</td></tr>
<tr class="memdesc:a356cfa88076c92e121ab7760d50d5f18 inherit pub_methods_classL4_1_1Icu"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about the ICU features. <br /></td></tr>
<tr class="memitem:a16857d27edd9799b0f2da2f244968463 inherit pub_methods_classL4_1_1Icu" id="r_a16857d27edd9799b0f2da2f244968463"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Icu.html#a16857d27edd9799b0f2da2f244968463">msi_info</a> (<a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> irqnum, <a class="el" href="group__l4__basic__types.html#gaf3331c485014bd12a9e4f9d27a55e689">l4_uint64_t</a> source, <a class="el" href="structl4__icu__msi__info__t.html">l4_icu_msi_info_t</a> *msi_info)</td></tr>
<tr class="memdesc:a16857d27edd9799b0f2da2f244968463 inherit pub_methods_classL4_1_1Icu"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get MSI info about IRQ. <br /></td></tr>
<tr class="memitem:ab58aa015a5216a0dece5d85089b42aaa inherit pub_methods_classL4_1_1Icu" id="r_ab58aa015a5216a0dece5d85089b42aaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Icu.html#ab58aa015a5216a0dece5d85089b42aaa">mask</a> (unsigned irqnum, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> *label=0, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> to=<a class="el" href="group__l4__timeout__api.html#gaf01c5e1475efc4f33bc7d1985f7320d3">L4_IPC_NEVER</a>, <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>()) noexcept</td></tr>
<tr class="memdesc:ab58aa015a5216a0dece5d85089b42aaa inherit pub_methods_classL4_1_1Icu"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask an IRQ line. <br /></td></tr>
<tr class="memitem:a4258b1c32fc968b66a1ce15191f51b8b inherit pub_methods_classL4_1_1Icu" id="r_a4258b1c32fc968b66a1ce15191f51b8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Icu.html#a4258b1c32fc968b66a1ce15191f51b8b">set_mode</a> (unsigned irqnum, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> mode, <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>()) noexcept</td></tr>
<tr class="memdesc:a4258b1c32fc968b66a1ce15191f51b8b inherit pub_methods_classL4_1_1Icu"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set interrupt mode. <br /></td></tr>
<tr class="inherit_header pub_methods_classL4_1_1Irq__eoi"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classL4_1_1Irq__eoi')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Member Functions inherited from <a class="el" href="classL4_1_1Irq__eoi.html">L4::Irq_eoi</a></td></tr>
<tr class="memitem:a2143eb2495d0135bc432efc362845483 inherit pub_methods_classL4_1_1Irq__eoi" id="r_a2143eb2495d0135bc432efc362845483"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structl4__msgtag__t.html">l4_msgtag_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Irq__eoi.html#a2143eb2495d0135bc432efc362845483">unmask</a> (unsigned irqnum, <a class="el" href="group__l4__basic__types.html#ga1c2c4b333f75b1d05b59855910f2b9cb">l4_umword_t</a> *label=0, <a class="el" href="unionl4__timeout__t.html">l4_timeout_t</a> to=<a class="el" href="group__l4__timeout__api.html#gaf01c5e1475efc4f33bc7d1985f7320d3">L4_IPC_NEVER</a>, <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>()) noexcept</td></tr>
<tr class="memdesc:a2143eb2495d0135bc432efc362845483 inherit pub_methods_classL4_1_1Irq__eoi"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmask the given interrupt line. <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-inherited" class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classL4Re_1_1Inhibitor"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_types_classL4Re_1_1Inhibitor')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Public Types inherited from <a class="el" href="classL4Re_1_1Inhibitor.html">L4Re::Inhibitor</a></td></tr>
<tr class="memitem:a854ddc23caaf4f72157f7878e4a17fff inherit pub_types_classL4Re_1_1Inhibitor" id="r_a854ddc23caaf4f72157f7878e4a17fff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classL4Re_1_1Inhibitor.html#a854ddc23caaf4f72157f7878e4a17fffad10674dcf6cde6eb7acb89dd77bb2bc3">Name_max</a> = 20
}</td></tr>
<tr class="inherit_header pro_types_structL4_1_1Kobject__3t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_types_structL4_1_1Kobject__3t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Types inherited from <a class="el" href="structL4_1_1Kobject__3t.html">L4::Kobject_3t&lt; Vbus, L4Re::Dataspace, L4Re::Inhibitor, L4Re::Event &gt;</a></td></tr>
<tr class="memitem:a749170ca3fd9a60b40245aea3a488e47 inherit pro_types_structL4_1_1Kobject__3t" id="r_a749170ca3fd9a60b40245aea3a488e47"><td class="memItemLeft" align="right" valign="top">typedef Vbus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structL4_1_1Kobject__3t.html#a749170ca3fd9a60b40245aea3a488e47">Class</a></td></tr>
<tr class="memdesc:a749170ca3fd9a60b40245aea3a488e47 inherit pro_types_structL4_1_1Kobject__3t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The target interface type (inheriting from <a class="el" href="classL4_1_1Kobject__t.html" title="Helper class to create an L4Re interface class that is derived from a single base class.">Kobject_t</a>). <br /></td></tr>
<tr class="memitem:ad3a7b31e69a39234a09651c9399fc4da inherit pro_types_structL4_1_1Kobject__3t" id="r_ad3a7b31e69a39234a09651c9399fc4da"><td class="memItemLeft" align="right" valign="top">typedef Typeid::Iface&lt; <a class="el" href="namespaceL4.html#ae9cf58a7c791432c3132efdd12f4dfc7aee065cbb7d28b97710ed4d87ab34367e">PROTO_ANY</a>, Vbus &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structL4_1_1Kobject__3t.html#ad3a7b31e69a39234a09651c9399fc4da">__Iface</a></td></tr>
<tr class="memdesc:ad3a7b31e69a39234a09651c9399fc4da inherit pro_types_structL4_1_1Kobject__3t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface description for the derived class. <br /></td></tr>
<tr class="memitem:a6612e6bbe0c9e1739ffe50e6a06a1948 inherit pro_types_structL4_1_1Kobject__3t" id="r_a6612e6bbe0c9e1739ffe50e6a06a1948"><td class="memItemLeft" align="right" valign="top">typedef Typeid::Merge_list&lt; Typeid::Iface_list&lt; <a class="el" href="structL4_1_1Kobject__3t.html#ad3a7b31e69a39234a09651c9399fc4da">__Iface</a> &gt;, Typeid::Merge_list&lt; typename L4Re::Dataspace::__Iface_list, Typeid::Merge_list&lt; typename L4Re::Inhibitor::__Iface_list, typename L4Re::Event::__Iface_list &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structL4_1_1Kobject__3t.html#a6612e6bbe0c9e1739ffe50e6a06a1948">__Iface_list</a></td></tr>
<tr class="memdesc:a6612e6bbe0c9e1739ffe50e6a06a1948 inherit pro_types_structL4_1_1Kobject__3t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of all RPC interfaces provided directly or through inheritance. <br /></td></tr>
<tr class="inherit_header pro_types_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_types_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Types inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Dataspace, L4::Kobject, L4RE_PROTO_DATASPACE, L4::Type_info::Demand_t&lt; 1 &gt; &gt;</a></td></tr>
<tr class="memitem:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t" id="r_af7df35ba5bf68ef5993e605a6b62328a"><td class="memItemLeft" align="right" valign="top">
typedef Dataspace&#160;</td><td class="memItemRight" valign="bottom"><b>Class</b></td></tr>
<tr class="memdesc:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The target interface type (inheriting from <a class="el" href="classL4_1_1Kobject__t.html" title="Helper class to create an L4Re interface class that is derived from a single base class.">Kobject_t</a>). <br /></td></tr>
<tr class="memitem:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t" id="r_a0d83157994565e9c01f10006bdda2efa"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Iface&lt; PROTO, Dataspace &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface</b></td></tr>
<tr class="memdesc:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface description for the derived class. <br /></td></tr>
<tr class="memitem:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t" id="r_afc2feec2f4a15e85286aabfa15c53e06"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Merge_list&lt; Typeid::Iface_list&lt; <a class="el" href="classL4_1_1Kobject__t.html#a0d83157994565e9c01f10006bdda2efa">__Iface</a> &gt;, typename L4::Kobject::__Iface_list &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface_list</b></td></tr>
<tr class="memdesc:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of all RPC interfaces provided directly or through inheritance. <br /></td></tr>
<tr class="inherit_header pro_types_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_types_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Types inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Inhibitor, L4::Kobject, L4RE_PROTO_INHIBITOR &gt;</a></td></tr>
<tr class="memitem:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t" id="r_af7df35ba5bf68ef5993e605a6b62328a"><td class="memItemLeft" align="right" valign="top">
typedef Inhibitor&#160;</td><td class="memItemRight" valign="bottom"><b>Class</b></td></tr>
<tr class="memdesc:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The target interface type (inheriting from <a class="el" href="classL4_1_1Kobject__t.html" title="Helper class to create an L4Re interface class that is derived from a single base class.">Kobject_t</a>). <br /></td></tr>
<tr class="memitem:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t" id="r_a0d83157994565e9c01f10006bdda2efa"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Iface&lt; PROTO, Inhibitor &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface</b></td></tr>
<tr class="memdesc:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface description for the derived class. <br /></td></tr>
<tr class="memitem:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t" id="r_afc2feec2f4a15e85286aabfa15c53e06"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Merge_list&lt; Typeid::Iface_list&lt; <a class="el" href="classL4_1_1Kobject__t.html#a0d83157994565e9c01f10006bdda2efa">__Iface</a> &gt;, typename L4::Kobject::__Iface_list &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface_list</b></td></tr>
<tr class="memdesc:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of all RPC interfaces provided directly or through inheritance. <br /></td></tr>
<tr class="inherit_header pro_types_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_types_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Types inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Event, L4::Icu, L4RE_PROTO_EVENT &gt;</a></td></tr>
<tr class="memitem:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t" id="r_af7df35ba5bf68ef5993e605a6b62328a"><td class="memItemLeft" align="right" valign="top">
typedef Event&#160;</td><td class="memItemRight" valign="bottom"><b>Class</b></td></tr>
<tr class="memdesc:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The target interface type (inheriting from <a class="el" href="classL4_1_1Kobject__t.html" title="Helper class to create an L4Re interface class that is derived from a single base class.">Kobject_t</a>). <br /></td></tr>
<tr class="memitem:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t" id="r_a0d83157994565e9c01f10006bdda2efa"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Iface&lt; PROTO, Event &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface</b></td></tr>
<tr class="memdesc:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface description for the derived class. <br /></td></tr>
<tr class="memitem:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t" id="r_afc2feec2f4a15e85286aabfa15c53e06"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Merge_list&lt; Typeid::Iface_list&lt; <a class="el" href="classL4_1_1Kobject__t.html#a0d83157994565e9c01f10006bdda2efa">__Iface</a> &gt;, typename L4::Icu::__Iface_list &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface_list</b></td></tr>
<tr class="memdesc:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of all RPC interfaces provided directly or through inheritance. <br /></td></tr>
<tr class="inherit_header pro_types_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_types_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Types inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Icu, Irq_eoi, L4_PROTO_IRQ, Type_info::Demand_t&lt; 1 &gt; &gt;</a></td></tr>
<tr class="memitem:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t" id="r_af7df35ba5bf68ef5993e605a6b62328a"><td class="memItemLeft" align="right" valign="top">
typedef <a class="el" href="classL4_1_1Icu.html">Icu</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Class</b></td></tr>
<tr class="memdesc:af7df35ba5bf68ef5993e605a6b62328a inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The target interface type (inheriting from <a class="el" href="classL4_1_1Kobject__t.html" title="Helper class to create an L4Re interface class that is derived from a single base class.">Kobject_t</a>). <br /></td></tr>
<tr class="memitem:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t" id="r_a0d83157994565e9c01f10006bdda2efa"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Iface&lt; PROTO, <a class="el" href="classL4_1_1Icu.html">Icu</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface</b></td></tr>
<tr class="memdesc:a0d83157994565e9c01f10006bdda2efa inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The interface description for the derived class. <br /></td></tr>
<tr class="memitem:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t" id="r_afc2feec2f4a15e85286aabfa15c53e06"><td class="memItemLeft" align="right" valign="top">
typedef Typeid::Merge_list&lt; Typeid::Iface_list&lt; <a class="el" href="classL4_1_1Kobject__t.html#a0d83157994565e9c01f10006bdda2efa">__Iface</a> &gt;, typename Irq_eoi::__Iface_list &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__Iface_list</b></td></tr>
<tr class="memdesc:afc2feec2f4a15e85286aabfa15c53e06 inherit pro_types_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of all RPC interfaces provided directly or through inheritance. <br /></td></tr>
<tr class="inherit_header pro_methods_structL4_1_1Kobject__3t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_structL4_1_1Kobject__3t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Member Functions inherited from <a class="el" href="structL4_1_1Kobject__3t.html">L4::Kobject_3t&lt; Vbus, L4Re::Dataspace, L4Re::Inhibitor, L4Re::Event &gt;</a></td></tr>
<tr class="memitem:af141ddcdb35cd25c1984ac438c71a45b inherit pro_methods_structL4_1_1Kobject__3t" id="r_af141ddcdb35cd25c1984ac438c71a45b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="structL4_1_1Kobject__3t.html#a749170ca3fd9a60b40245aea3a488e47">Class</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structL4_1_1Kobject__3t.html#af141ddcdb35cd25c1984ac438c71a45b">c</a> () const noexcept</td></tr>
<tr class="memdesc:af141ddcdb35cd25c1984ac438c71a45b inherit pro_methods_structL4_1_1Kobject__3t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the capability to ourselves. <br /></td></tr>
<tr class="inherit_header pro_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Dataspace, L4::Kobject, L4RE_PROTO_DATASPACE, L4::Type_info::Demand_t&lt; 1 &gt; &gt;</a></td></tr>
<tr class="memitem:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t" id="r_a3d80fec7e057d575ec4b393437f05f8a"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Kobject__t.html#af7df35ba5bf68ef5993e605a6b62328a">Class</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>c</b> () const noexcept</td></tr>
<tr class="memdesc:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the capability to ourselves. <br /></td></tr>
<tr class="inherit_header pro_methods_classL4_1_1Kobject"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classL4_1_1Kobject')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject.html">L4::Kobject</a></td></tr>
<tr class="memitem:a4f2117ae76762f4084e6a1adb915863c inherit pro_methods_classL4_1_1Kobject" id="r_a4f2117ae76762f4084e6a1adb915863c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classL4_1_1Kobject.html#a4f2117ae76762f4084e6a1adb915863c">cap</a> () const noexcept</td></tr>
<tr class="memdesc:a4f2117ae76762f4084e6a1adb915863c inherit pro_methods_classL4_1_1Kobject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return capability selector. <br /></td></tr>
<tr class="inherit_header pro_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Inhibitor, L4::Kobject, L4RE_PROTO_INHIBITOR &gt;</a></td></tr>
<tr class="memitem:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t" id="r_a3d80fec7e057d575ec4b393437f05f8a"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Kobject__t.html#af7df35ba5bf68ef5993e605a6b62328a">Class</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>c</b> () const noexcept</td></tr>
<tr class="memdesc:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the capability to ourselves. <br /></td></tr>
<tr class="inherit_header pro_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Event, L4::Icu, L4RE_PROTO_EVENT &gt;</a></td></tr>
<tr class="memitem:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t" id="r_a3d80fec7e057d575ec4b393437f05f8a"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Kobject__t.html#af7df35ba5bf68ef5993e605a6b62328a">Class</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>c</b> () const noexcept</td></tr>
<tr class="memdesc:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the capability to ourselves. <br /></td></tr>
<tr class="inherit_header pro_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Icu, Irq_eoi, L4_PROTO_IRQ, Type_info::Demand_t&lt; 1 &gt; &gt;</a></td></tr>
<tr class="memitem:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t" id="r_a3d80fec7e057d575ec4b393437f05f8a"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Kobject__t.html#af7df35ba5bf68ef5993e605a6b62328a">Class</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>c</b> () const noexcept</td></tr>
<tr class="memdesc:a3d80fec7e057d575ec4b393437f05f8a inherit pro_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the capability to ourselves. <br /></td></tr>
<tr class="inherit_header pro_static_methods_structL4_1_1Kobject__3t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_methods_structL4_1_1Kobject__3t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Static Protected Member Functions inherited from <a class="el" href="structL4_1_1Kobject__3t.html">L4::Kobject_3t&lt; Vbus, L4Re::Dataspace, L4Re::Inhibitor, L4Re::Event &gt;</a></td></tr>
<tr class="memitem:ad0f90fa6ebadd43015a320c4ace2edf0 inherit pro_static_methods_structL4_1_1Kobject__3t" id="r_ad0f90fa6ebadd43015a320c4ace2edf0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structL4_1_1Kobject__3t.html#ad0f90fa6ebadd43015a320c4ace2edf0">__check_protocols__</a> () noexcept</td></tr>
<tr class="memdesc:ad0f90fa6ebadd43015a320c4ace2edf0 inherit pro_static_methods_structL4_1_1Kobject__3t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper to check for protocol conflicts. <br /></td></tr>
<tr class="inherit_header pro_static_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Static Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Dataspace, L4::Kobject, L4RE_PROTO_DATASPACE, L4::Type_info::Demand_t&lt; 1 &gt; &gt;</a></td></tr>
<tr class="memitem:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t" id="r_a7433b8eed587278821dd496864f75363"><td class="memItemLeft" align="right" valign="top">
static void&#160;</td><td class="memItemRight" valign="bottom"><b>__check_protocols__</b> () noexcept</td></tr>
<tr class="memdesc:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper to check for protocol conflicts. <br /></td></tr>
<tr class="inherit_header pro_static_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Static Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Inhibitor, L4::Kobject, L4RE_PROTO_INHIBITOR &gt;</a></td></tr>
<tr class="memitem:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t" id="r_a7433b8eed587278821dd496864f75363"><td class="memItemLeft" align="right" valign="top">
static void&#160;</td><td class="memItemRight" valign="bottom"><b>__check_protocols__</b> () noexcept</td></tr>
<tr class="memdesc:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper to check for protocol conflicts. <br /></td></tr>
<tr class="inherit_header pro_static_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Static Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Event, L4::Icu, L4RE_PROTO_EVENT &gt;</a></td></tr>
<tr class="memitem:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t" id="r_a7433b8eed587278821dd496864f75363"><td class="memItemLeft" align="right" valign="top">
static void&#160;</td><td class="memItemRight" valign="bottom"><b>__check_protocols__</b> () noexcept</td></tr>
<tr class="memdesc:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper to check for protocol conflicts. <br /></td></tr>
<tr class="inherit_header pro_static_methods_classL4_1_1Kobject__t"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_methods_classL4_1_1Kobject__t')"><span class="dynarrow"><span class="arrowhead closed"></span></span>Static Protected Member Functions inherited from <a class="el" href="classL4_1_1Kobject__t.html">L4::Kobject_t&lt; Icu, Irq_eoi, L4_PROTO_IRQ, Type_info::Demand_t&lt; 1 &gt; &gt;</a></td></tr>
<tr class="memitem:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t" id="r_a7433b8eed587278821dd496864f75363"><td class="memItemLeft" align="right" valign="top">
static void&#160;</td><td class="memItemRight" valign="bottom"><b>__check_protocols__</b> () noexcept</td></tr>
<tr class="memdesc:a7433b8eed587278821dd496864f75363 inherit pro_static_methods_classL4_1_1Kobject__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper to check for protocol conflicts. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The virtual bus (<a class="el" href="classL4vbus_1_1Vbus.html" title="The virtual bus (Vbus) interface.">Vbus</a>) interface. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__api__l4re__vbus.html">L4Re Vbus API </a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="vbus_source.html#l00298">298</a> of file <a class="el" href="vbus_source.html">vbus</a>.</p>
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="a7e78ffe39d692ceeed7e81f6ab1ffc43" name="a7e78ffe39d692ceeed7e81f6ab1ffc43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e78ffe39d692ceeed7e81f6ab1ffc43">&#9670;&#160;</a></span>assign_dma_domain() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int L4vbus::Vbus::assign_dma_domain </td>
<td>(</td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>domain_id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>flags</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4_1_1Task.html">L4::Task</a> &gt;</td> <td class="paramname"><span class="paramname"><em>dma_space</em></span>&#160;) const</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>Bind or unbind a kernel <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> to a DMA domain. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">domain_id</td><td>DMA domain ID (resource address of DMA domain found on the vBUS). If the value is ~0U the DMA space of the whole vBUS is used. </td></tr>
<tr><td class="paramname">flags</td><td>A combination of <a class="el" href="group__l4vbus__module.html#gaaa3fba66d2a82d325d8882e52586b33b" title="Flags for l4vbus_assign_dma_domain().">L4vbus_dma_domain_assign_flags</a>. </td></tr>
<tr><td class="paramname">dma_space</td><td>The DMA space capability to bind or unbind, this must be a kernel <a class="el" href="group__l4__kernel__object__dmar__space.html">DMA space</a> (<a class="el" href="classL4_1_1Task.html" title="C++ interface of the Task kernel object, see Task for the C interface.">L4::Task</a> created with L4_PROTO_DMA_SPACE)</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">0</td><td>Operation completed successfully. </td></tr>
<tr><td class="paramname">-L4_ENOENT</td><td>The vbus does not support a global DMA domain or no DMA domain could be found. </td></tr>
<tr><td class="paramname">-L4_EINVAL</td><td>Invalid argument used. </td></tr>
<tr><td class="paramname">-L4_EBUSY</td><td>DMA domain is already active, this means another DMA space is already assigned. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="vbus_source.html#l00382">382</a> of file <a class="el" href="vbus_source.html">vbus</a>.</p>
<p class="reference">References <a class="el" href="capability_8h_source.html#l00049">L4::Cap_base::cap()</a>, <a class="el" href="kobject_source.html#l00069">L4::Kobject::cap()</a>, <a class="el" href="dataspace__impl_8h_source.html#l00111">L4Re::Dataspace::flags()</a>, <a class="el" href="group__l4vbus__module.html#ga230bfade9c21a168c3863cbe4f39e01f">l4vbus_assign_dma_domain()</a>, <a class="el" href="vbus_8h_source.html#l00183">L4VBUS_DMAD_KERNEL_DMA_SPACE</a>, and <a class="el" href="vbus_8h_source.html#l00181">L4VBUS_DMAD_L4RE_DMA_SPACE</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="classL4vbus_1_1Vbus_a7e78ffe39d692ceeed7e81f6ab1ffc43_cgraph.svg" width="884" height="184"><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="a15085069054edbb9b221154e25db52b2" name="a15085069054edbb9b221154e25db52b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15085069054edbb9b221154e25db52b2">&#9670;&#160;</a></span>assign_dma_domain() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int L4vbus::Vbus::assign_dma_domain </td>
<td>(</td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>domain_id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>flags</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classL4_1_1Cap.html">L4::Cap</a>&lt; <a class="el" href="classL4Re_1_1Dma__space.html">L4Re::Dma_space</a> &gt;</td> <td class="paramname"><span class="paramname"><em>dma_space</em></span>&#160;) const</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>Bind or unbind an <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">L4Re::Dma_space</a> to a DMA domain. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">domain_id</td><td>DMA domain ID (resource address of DMA domain found on the vBUS). If the value is ~0U the DMA space of the whole vBUS is used. </td></tr>
<tr><td class="paramname">flags</td><td>A combination of <a class="el" href="group__l4vbus__module.html#gaaa3fba66d2a82d325d8882e52586b33b" title="Flags for l4vbus_assign_dma_domain().">L4vbus_dma_domain_assign_flags</a>. </td></tr>
<tr><td class="paramname">dma_space</td><td>The DMA space capability to bind or unbind, this must be an <a class="el" href="classL4Re_1_1Dma__space.html" title="Managed DMA Address Space.">L4Re::Dma_space</a></td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">0</td><td>Operation completed successfully. </td></tr>
<tr><td class="paramname">-L4_ENOENT</td><td>The vbus does not support a global DMA domain or no DMA domain could be found. </td></tr>
<tr><td class="paramname">-L4_EINVAL</td><td>Invalid argument used. </td></tr>
<tr><td class="paramname">-L4_EBUSY</td><td>DMA domain is already active, this means another DMA space is already assigned. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="vbus_source.html#l00357">357</a> of file <a class="el" href="vbus_source.html">vbus</a>.</p>
<p class="reference">References <a class="el" href="capability_8h_source.html#l00049">L4::Cap_base::cap()</a>, <a class="el" href="kobject_source.html#l00069">L4::Kobject::cap()</a>, <a class="el" href="dataspace__impl_8h_source.html#l00111">L4Re::Dataspace::flags()</a>, <a class="el" href="group__l4vbus__module.html#ga230bfade9c21a168c3863cbe4f39e01f">l4vbus_assign_dma_domain()</a>, <a class="el" href="vbus_8h_source.html#l00183">L4VBUS_DMAD_KERNEL_DMA_SPACE</a>, and <a class="el" href="vbus_8h_source.html#l00181">L4VBUS_DMAD_L4RE_DMA_SPACE</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="classL4vbus_1_1Vbus_a15085069054edbb9b221154e25db52b2_cgraph.svg" width="884" height="184"><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="aa7a0641bf41be1fee81d4d6a871d5ef9" name="aa7a0641bf41be1fee81d4d6a871d5ef9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7a0641bf41be1fee81d4d6a871d5ef9">&#9670;&#160;</a></span>release_ioport()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int L4vbus::Vbus::release_ioport </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structl4vbus__resource__t.html">l4vbus_resource_t</a> *</td> <td class="paramname"><span class="paramname"><em>res</em></span></td><td>)</td>
<td> const</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>Release the given IO port resource from the bus. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>The IO port resource to be released from the bus.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>&gt;=0 on success, &lt;0 on error. </dd></dl>
<p class="definition">Definition at line <a class="el" href="vbus_source.html#l00323">323</a> of file <a class="el" href="vbus_source.html">vbus</a>.</p>
<p class="reference">References <a class="el" href="kobject_source.html#l00069">L4::Kobject::cap()</a>, and <a class="el" href="group__l4vbus__module.html#gaf6d8f34fe76d15c0e3e614c275be84dd">l4vbus_release_ioport()</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="classL4vbus_1_1Vbus_aa7a0641bf41be1fee81d4d6a871d5ef9_cgraph.svg" width="388" 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="a56f38d95fbcf91235e28b0d0ada87ad4" name="a56f38d95fbcf91235e28b0d0ada87ad4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56f38d95fbcf91235e28b0d0ada87ad4">&#9670;&#160;</a></span>request_ioport()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int L4vbus::Vbus::request_ioport </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structl4vbus__resource__t.html">l4vbus_resource_t</a> *</td> <td class="paramname"><span class="paramname"><em>res</em></span></td><td>)</td>
<td> const</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>Request the given IO port resource from the bus. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>The IO port resource to be requested from the bus.</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">0</td><td>Success. </td></tr>
<tr><td class="paramname">-L4_EINVAL</td><td>Resource is not an IO port resource. </td></tr>
<tr><td class="paramname">-L4_ENOENT</td><td>No matching IO port resource found. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="vbus_source.html#l00311">311</a> of file <a class="el" href="vbus_source.html">vbus</a>.</p>
<p class="reference">References <a class="el" href="kobject_source.html#l00069">L4::Kobject::cap()</a>, and <a class="el" href="group__l4vbus__module.html#ga7cafdd96c957a08f9e84b197ecfb956f">l4vbus_request_ioport()</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="classL4vbus_1_1Vbus_a56f38d95fbcf91235e28b0d0ada87ad4_cgraph.svg" width="391" 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="a553403642b3321b2c96e01497b0c6f8c" name="a553403642b3321b2c96e01497b0c6f8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a553403642b3321b2c96e01497b0c6f8c">&#9670;&#160;</a></span>root()</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="classL4vbus_1_1Device.html">Device</a> L4vbus::Vbus::root </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the root device of the device tree of this bus. </p>
<p>The root device is usually the starting point for iterating the bus, see <a class="el" href="classL4vbus_1_1Device.html#ab8a12f148e84113f52856f29f086af50" title="Find next child following child.">Device::next_device</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classL4vbus_1_1Vbus.html" title="The virtual bus (Vbus) interface.">Vbus</a> device representing the root of the device tree. </dd></dl>
<p class="definition">Definition at line <a class="el" href="vbus_source.html#l00336">336</a> of file <a class="el" href="vbus_source.html">vbus</a>.</p>
<p class="reference">References <a class="el" href="kobject_source.html#l00069">L4::Kobject::cap()</a>, and <a class="el" href="vbus_8h_source.html#l00022">L4VBUS_ROOT_BUS</a>.</p>
<div id="dynsection-6" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call 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="classL4vbus_1_1Vbus_a553403642b3321b2c96e01497b0c6f8c_cgraph.svg" width="326" 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>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>l4/vbus/<a class="el" href="vbus_source.html">vbus</a></li>
</ul>
</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="namespaceL4vbus.html">L4vbus</a></li><li class="navelem"><a href="classL4vbus_1_1Vbus.html">Vbus</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>