1065 lines
75 KiB
HTML
1065 lines
75 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: Virtual Console</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="l4re-awesome.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="L4Re_rgb_logo_quer_hg_h55.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">L4Re Operating System Framework
|
|
</div>
|
|
<div id="projectbrief">Interface and Usage Documentation</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.15.0 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
</script>
|
|
<script type="text/javascript">
|
|
$(function() { codefold.init(); });
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(function(){initNavTree('group__l4__vcon__api.html','',''); });
|
|
</script>
|
|
<div id="container">
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">Virtual Console <div class="ingroups"><a class="el" href="group__l4__api.html">Base API</a> » <a class="el" href="group__l4__kernel__object__api.html">Kernel Objects</a></div></div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>C Virtual console interface for simple character based input and output, see <a class="el" href="classL4_1_1Vcon.html" title="C++ L4 Vcon interface, see Virtual Console for the C interface.">L4::Vcon</a> for the C++ interface.
|
|
<a href="#details">More...</a></p>
|
|
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Virtual Console:</div>
|
|
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api.svg" width="296" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
|
</div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Data Structures</h2></td></tr>
|
|
<tr class="memitem:l4_5Fvcon_5Fattr_5Ft" id="r_l4_5Fvcon_5Fattr_5Ft"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Vcon attribute structure. <a href="structl4__vcon__attr__t.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:gae5e58b3909b6ac8f6a5f92556eb5ee97" id="r_gae5e58b3909b6ac8f6a5f92556eb5ee97"><td class="memItemLeft" align="right" valign="top">typedef struct l4_vcon_attr_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#gae5e58b3909b6ac8f6a5f92556eb5ee97">l4_vcon_attr_t</a></td></tr>
|
|
<tr class="memdesc:gae5e58b3909b6ac8f6a5f92556eb5ee97"><td class="mdescLeft"> </td><td class="mdescRight">Vcon attribute structure. <br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-enum-members" class="groupheader"><a id="enum-members" name="enum-members"></a>
|
|
Enumerations</h2></td></tr>
|
|
<tr class="memitem:gabd2b33d43db88423dfb7d40ebce134a2" id="r_gabd2b33d43db88423dfb7d40ebce134a2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#gabd2b33d43db88423dfb7d40ebce134a2">L4_vcon_size_consts</a> { <a class="el" href="#ggabd2b33d43db88423dfb7d40ebce134a2ac70a0f703b45becb557ee2212e47a9fc">L4_VCON_WRITE_SIZE</a> = (L4_UTCB_GENERIC_DATA_SIZE - 2) * sizeof(l4_umword_t)
|
|
, <a class="el" href="#ggabd2b33d43db88423dfb7d40ebce134a2a85b6eb2687db0571494a931b926692ae">L4_VCON_READ_SIZE</a> = (L4_UTCB_GENERIC_DATA_SIZE - 1) * sizeof(l4_umword_t)
|
|
}</td></tr>
|
|
<tr class="memdesc:gabd2b33d43db88423dfb7d40ebce134a2"><td class="mdescLeft"> </td><td class="mdescRight">Size constants. <a href="#gabd2b33d43db88423dfb7d40ebce134a2">More...</a><br /></td></tr>
|
|
<tr class="memitem:gaa3725be256c6fea35cc773d1da4ae72e" id="r_gaa3725be256c6fea35cc773d1da4ae72e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa3725be256c6fea35cc773d1da4ae72e">L4_vcon_i_flags</a> { <a class="el" href="#ggaa3725be256c6fea35cc773d1da4ae72ea0028df1daa629d91fb0f417413caa80c">L4_VCON_INLCR</a> = 000100
|
|
, <a class="el" href="#ggaa3725be256c6fea35cc773d1da4ae72ea49f620fe648683046516f6d38c304ef5">L4_VCON_IGNCR</a> = 000200
|
|
, <a class="el" href="#ggaa3725be256c6fea35cc773d1da4ae72ea6655fe3c1ecc26f38210a64294191d66">L4_VCON_ICRNL</a> = 000400
|
|
}</td></tr>
|
|
<tr class="memdesc:gaa3725be256c6fea35cc773d1da4ae72e"><td class="mdescLeft"> </td><td class="mdescRight">Input flags. <a href="#gaa3725be256c6fea35cc773d1da4ae72e">More...</a><br /></td></tr>
|
|
<tr class="memitem:ga59d11f90ba1f771349ccb133251ca2e0" id="r_ga59d11f90ba1f771349ccb133251ca2e0"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga59d11f90ba1f771349ccb133251ca2e0">L4_vcon_o_flags</a> { <a class="el" href="#gga59d11f90ba1f771349ccb133251ca2e0a26ec0b8a0b6821d3b57a03c42e61867e">L4_VCON_ONLCR</a> = 000004
|
|
, <a class="el" href="#gga59d11f90ba1f771349ccb133251ca2e0a8cc10cbc117111dfe446d48ef3fb30b2">L4_VCON_OCRNL</a> = 000010
|
|
, <a class="el" href="#gga59d11f90ba1f771349ccb133251ca2e0addf393c15fbd5b3339d21c326ff6025c">L4_VCON_ONLRET</a> = 000040
|
|
}</td></tr>
|
|
<tr class="memdesc:ga59d11f90ba1f771349ccb133251ca2e0"><td class="mdescLeft"> </td><td class="mdescRight">Output flags. <a href="#ga59d11f90ba1f771349ccb133251ca2e0">More...</a><br /></td></tr>
|
|
<tr class="memitem:ga9646cf2c79a680ab56472c17ee41e064" id="r_ga9646cf2c79a680ab56472c17ee41e064"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9646cf2c79a680ab56472c17ee41e064">L4_vcon_l_flags</a> { <a class="el" href="#gga9646cf2c79a680ab56472c17ee41e064a9e017f215cbba6d95607bb4f266e8f46">L4_VCON_ICANON</a> = 000002
|
|
, <a class="el" href="#gga9646cf2c79a680ab56472c17ee41e064a1b0afd455a9714a4ccb1fbc8b2da5396">L4_VCON_ECHO</a> = 000010
|
|
}</td></tr>
|
|
<tr class="memdesc:ga9646cf2c79a680ab56472c17ee41e064"><td class="mdescLeft"> </td><td class="mdescRight">Local flags. <a href="#ga9646cf2c79a680ab56472c17ee41e064">More...</a><br /></td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:gabbc45ad5d795d46d1edbf8118957ecb2" id="r_gabbc45ad5d795d46d1edbf8118957ecb2"><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="#gabbc45ad5d795d46d1edbf8118957ecb2">l4_vcon_send</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, char const *buf, unsigned size) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gabbc45ad5d795d46d1edbf8118957ecb2"><td class="mdescLeft"> </td><td class="mdescRight">Send data to virtual console. <br /></td></tr>
|
|
<tr class="memitem:ga05df63a45bb7ade1e0e19caaa6e35f5f" id="r_ga05df63a45bb7ade1e0e19caaa6e35f5f"><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="#ga05df63a45bb7ade1e0e19caaa6e35f5f">l4_vcon_send_u</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, char const *buf, unsigned size, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga05df63a45bb7ade1e0e19caaa6e35f5f"><td class="mdescLeft"> </td><td class="mdescRight">Send data to <span class="tt">this</span> virtual console. <br /></td></tr>
|
|
<tr class="memitem:ga9f083a69c2c51329da6778a3af0331bc" id="r_ga9f083a69c2c51329da6778a3af0331bc"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9f083a69c2c51329da6778a3af0331bc">l4_vcon_write</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, char const *buf, unsigned size) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga9f083a69c2c51329da6778a3af0331bc"><td class="mdescLeft"> </td><td class="mdescRight">Write data to virtual console. <br /></td></tr>
|
|
<tr class="memitem:ga899728ba23baf18f59f62142534e039c" id="r_ga899728ba23baf18f59f62142534e039c"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga899728ba23baf18f59f62142534e039c">l4_vcon_write_u</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, char const *buf, unsigned size, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga899728ba23baf18f59f62142534e039c"><td class="mdescLeft"> </td><td class="mdescRight">Write data to <span class="tt">this</span> virtual console. <br /></td></tr>
|
|
<tr class="memitem:ga6c775101d4cb0763e352ae9bb395a7a1" id="r_ga6c775101d4cb0763e352ae9bb395a7a1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6c775101d4cb0763e352ae9bb395a7a1">l4_vcon_read</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, char *buf, unsigned size) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga6c775101d4cb0763e352ae9bb395a7a1"><td class="mdescLeft"> </td><td class="mdescRight">Read data from virtual console. <br /></td></tr>
|
|
<tr class="memitem:gaac94d1d8c7650a94642d5d9254f418bc" id="r_gaac94d1d8c7650a94642d5d9254f418bc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#gaac94d1d8c7650a94642d5d9254f418bc">l4_vcon_read_u</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, char *buf, unsigned size, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gaac94d1d8c7650a94642d5d9254f418bc"><td class="mdescLeft"> </td><td class="mdescRight">Read data from <span class="tt">this</span> virtual console. <br /></td></tr>
|
|
<tr class="memitem:gae405372b396baf5b85f5157f9d7a11b6" id="r_gae405372b396baf5b85f5157f9d7a11b6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#gae405372b396baf5b85f5157f9d7a11b6">l4_vcon_read_with_flags</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, char *buf, unsigned size) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gae405372b396baf5b85f5157f9d7a11b6"><td class="mdescLeft"> </td><td class="mdescRight">Read data from virtual console, extended version including flags. <br /></td></tr>
|
|
<tr class="memitem:gad6423b427845fd9cff6d6b39b17f44d3" id="r_gad6423b427845fd9cff6d6b39b17f44d3"><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="#gad6423b427845fd9cff6d6b39b17f44d3">l4_vcon_set_attr</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, <a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> const *attr) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gad6423b427845fd9cff6d6b39b17f44d3"><td class="mdescLeft"> </td><td class="mdescRight">Set attributes of a Vcon. <br /></td></tr>
|
|
<tr class="memitem:ga17f827c7d5f96b36a7c552af8d61a0e5" id="r_ga17f827c7d5f96b36a7c552af8d61a0e5"><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="#ga17f827c7d5f96b36a7c552af8d61a0e5">l4_vcon_set_attr_u</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, <a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> const *attr, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga17f827c7d5f96b36a7c552af8d61a0e5"><td class="mdescLeft"> </td><td class="mdescRight">Set the attributes of <span class="tt">this</span> virtual console. <br /></td></tr>
|
|
<tr class="memitem:gadc134de4289402f313cae68717e0a5d4" id="r_gadc134de4289402f313cae68717e0a5d4"><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="#gadc134de4289402f313cae68717e0a5d4">l4_vcon_get_attr</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, <a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> *attr) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gadc134de4289402f313cae68717e0a5d4"><td class="mdescLeft"> </td><td class="mdescRight">Get attributes of a Vcon. <br /></td></tr>
|
|
<tr class="memitem:gae9c105658ebcbc5d1a86e0672f0a5465" id="r_gae9c105658ebcbc5d1a86e0672f0a5465"><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="#gae9c105658ebcbc5d1a86e0672f0a5465">l4_vcon_get_attr_u</a> (<a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a> vcon, <a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> *attr, <a class="el" href="group__l4__utcb__api.html#ga89be8a86d11c1d532b636cc2df1330fb">l4_utcb_t</a> *utcb) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:gae9c105658ebcbc5d1a86e0672f0a5465"><td class="mdescLeft"> </td><td class="mdescRight">Get attributes of <span class="tt">this</span> virtual console. <br /></td></tr>
|
|
<tr class="memitem:ga0fc43818c6771ec9344d793d2017746a" id="r_ga0fc43818c6771ec9344d793d2017746a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0fc43818c6771ec9344d793d2017746a">l4_vcon_set_attr_raw</a> (<a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> *attr) <a class="el" href="group__l4sys__defines.html#ga362dfa378e662dd04f710a23fc7ea931">L4_NOTHROW</a></td></tr>
|
|
<tr class="memdesc:ga0fc43818c6771ec9344d793d2017746a"><td class="mdescLeft"> </td><td class="mdescRight">Set terminal attributes to disable all special processing. <br /></td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
|
<p>C Virtual console interface for simple character based input and output, see <a class="el" href="classL4_1_1Vcon.html" title="C++ L4 Vcon interface, see Virtual Console for the C interface.">L4::Vcon</a> for the C++ interface. </p>
|
|
<p>The interrupt for read events is provided by the virtual key interrupt which, in contrast to hardware IRQs, implements a limited functionality:</p><ul>
|
|
<li>Only IRQ line 0 is supported, no MSI vectors.</li>
|
|
<li>The IRQ is edge-triggered and the IRQ mode cannot be changed.</li>
|
|
<li>As the IRQ is edge-triggered, it does not have to be explicitly unmasked.</li>
|
|
</ul>
|
|
<p>A server implementing the virtual console protocol has a queue for input events. When the first input event is added to the empty queue, the virtual key interrupt is triggered. Further events are added to the queue without generating further interrupts. The queue is emptied when a client reads all queued input events.</p>
|
|
<dl class="section user"><dt>Include File</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="vcon_8h.html">l4/sys/vcon.h</a>></span> </div>
|
|
<div class="ttc" id="avcon_8h_html"><div class="ttname"><a href="vcon_8h.html">vcon.h</a></div><div class="ttdoc">Virtual console interface.</div></div>
|
|
</div><!-- fragment --></dd></dl>
|
|
<p>See <a class="el" href="classL4_1_1Vcon.html" title="C++ L4 Vcon interface, see Virtual Console for the C interface.">L4::Vcon</a> for the C++ interface. </p>
|
|
<a name="doc-typedef-members" id="doc-typedef-members"></a><h2 id="header-doc-typedef-members" class="groupheader">Typedef Documentation</h2>
|
|
<a id="gae5e58b3909b6ac8f6a5f92556eb5ee97" name="gae5e58b3909b6ac8f6a5f92556eb5ee97"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae5e58b3909b6ac8f6a5f92556eb5ee97">◆ </a></span>l4_vcon_attr_t</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef struct l4_vcon_attr_t l4_vcon_attr_t</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Vcon attribute structure. </p>
|
|
<p>The flags members can be a combination of their respective enums.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#gaa3725be256c6fea35cc773d1da4ae72e" title="Input flags.">L4_vcon_i_flags</a> </dd>
|
|
<dd>
|
|
<a class="el" href="#ga59d11f90ba1f771349ccb133251ca2e0" title="Output flags.">L4_vcon_o_flags</a> </dd>
|
|
<dd>
|
|
<a class="el" href="#ga9646cf2c79a680ab56472c17ee41e064" title="Local flags.">L4_vcon_l_flags</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="doc-enum-members" id="doc-enum-members"></a><h2 id="header-doc-enum-members" class="groupheader">Enumeration Type Documentation</h2>
|
|
<a id="gaa3725be256c6fea35cc773d1da4ae72e" name="gaa3725be256c6fea35cc773d1da4ae72e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaa3725be256c6fea35cc773d1da4ae72e">◆ </a></span>L4_vcon_i_flags</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#gaa3725be256c6fea35cc773d1da4ae72e">L4_vcon_i_flags</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Input flags. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaa3725be256c6fea35cc773d1da4ae72ea0028df1daa629d91fb0f417413caa80c" name="ggaa3725be256c6fea35cc773d1da4ae72ea0028df1daa629d91fb0f417413caa80c"></a>L4_VCON_INLCR </td><td class="fielddoc"><p>Translate NL to CR. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ggaa3725be256c6fea35cc773d1da4ae72ea49f620fe648683046516f6d38c304ef5" name="ggaa3725be256c6fea35cc773d1da4ae72ea49f620fe648683046516f6d38c304ef5"></a>L4_VCON_IGNCR </td><td class="fielddoc"><p>Ignore CR. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ggaa3725be256c6fea35cc773d1da4ae72ea6655fe3c1ecc26f38210a64294191d66" name="ggaa3725be256c6fea35cc773d1da4ae72ea6655fe3c1ecc26f38210a64294191d66"></a>L4_VCON_ICRNL </td><td class="fielddoc"><p>Translate CR to NL if L4_VCON_IGNCR is not set. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00208">208</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga9646cf2c79a680ab56472c17ee41e064" name="ga9646cf2c79a680ab56472c17ee41e064"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga9646cf2c79a680ab56472c17ee41e064">◆ </a></span>L4_vcon_l_flags</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#ga9646cf2c79a680ab56472c17ee41e064">L4_vcon_l_flags</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Local flags. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga9646cf2c79a680ab56472c17ee41e064a9e017f215cbba6d95607bb4f266e8f46" name="gga9646cf2c79a680ab56472c17ee41e064a9e017f215cbba6d95607bb4f266e8f46"></a>L4_VCON_ICANON </td><td class="fielddoc"><p>Canonical mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="gga9646cf2c79a680ab56472c17ee41e064a1b0afd455a9714a4ccb1fbc8b2da5396" name="gga9646cf2c79a680ab56472c17ee41e064a1b0afd455a9714a4ccb1fbc8b2da5396"></a>L4_VCON_ECHO </td><td class="fielddoc"><p>Echo input. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00230">230</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga59d11f90ba1f771349ccb133251ca2e0" name="ga59d11f90ba1f771349ccb133251ca2e0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga59d11f90ba1f771349ccb133251ca2e0">◆ </a></span>L4_vcon_o_flags</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#ga59d11f90ba1f771349ccb133251ca2e0">L4_vcon_o_flags</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Output flags. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga59d11f90ba1f771349ccb133251ca2e0a26ec0b8a0b6821d3b57a03c42e61867e" name="gga59d11f90ba1f771349ccb133251ca2e0a26ec0b8a0b6821d3b57a03c42e61867e"></a>L4_VCON_ONLCR </td><td class="fielddoc"><p>Translate NL to CR-NL. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="gga59d11f90ba1f771349ccb133251ca2e0a8cc10cbc117111dfe446d48ef3fb30b2" name="gga59d11f90ba1f771349ccb133251ca2e0a8cc10cbc117111dfe446d48ef3fb30b2"></a>L4_VCON_OCRNL </td><td class="fielddoc"><p>Translate CR to NL. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="gga59d11f90ba1f771349ccb133251ca2e0addf393c15fbd5b3339d21c326ff6025c" name="gga59d11f90ba1f771349ccb133251ca2e0addf393c15fbd5b3339d21c326ff6025c"></a>L4_VCON_ONLRET </td><td class="fielddoc"><p>Do not output CR. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00219">219</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gabd2b33d43db88423dfb7d40ebce134a2" name="gabd2b33d43db88423dfb7d40ebce134a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gabd2b33d43db88423dfb7d40ebce134a2">◆ </a></span>L4_vcon_size_consts</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="#gabd2b33d43db88423dfb7d40ebce134a2">L4_vcon_size_consts</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Size constants. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggabd2b33d43db88423dfb7d40ebce134a2ac70a0f703b45becb557ee2212e47a9fc" name="ggabd2b33d43db88423dfb7d40ebce134a2ac70a0f703b45becb557ee2212e47a9fc"></a>L4_VCON_WRITE_SIZE </td><td class="fielddoc"><p>Maximum size that can be written with one l4_vcon_write call. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="ggabd2b33d43db88423dfb7d40ebce134a2a85b6eb2687db0571494a931b926692ae" name="ggabd2b33d43db88423dfb7d40ebce134a2a85b6eb2687db0571494a931b926692ae"></a>L4_VCON_READ_SIZE </td><td class="fielddoc"><p>Maximum size that can be read with one l4_vcon_read* call. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00095">95</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</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="gadc134de4289402f313cae68717e0a5d4" name="gadc134de4289402f313cae68717e0a5d4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gadc134de4289402f313cae68717e0a5d4">◆ </a></span>l4_vcon_get_attr()</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> l4_vcon_get_attr </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> *</td> <td class="paramname"><span class="paramname"><em>attr</em></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>Get attributes of a Vcon. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir"></td><td class="paramname">vcon</td><td>Vcon object. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">attr</td><td>Attribute structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Syscall return tag </dd></dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="examples_2sys_2isr_2main_8c-example.html#a9">examples/sys/isr/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00435">435</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>, and <a class="el" href="vcon_8h_source.html#l00417">l4_vcon_get_attr_u()</a>.</p>
|
|
<div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Here is the call graph for this function:</div>
|
|
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_gadc134de4289402f313cae68717e0a5d4_cgraph.svg" width="582" height="110"><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="gae9c105658ebcbc5d1a86e0672f0a5465" name="gae9c105658ebcbc5d1a86e0672f0a5465"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae9c105658ebcbc5d1a86e0672f0a5465">◆ </a></span>l4_vcon_get_attr_u()</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> l4_vcon_get_attr_u </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> *</td> <td class="paramname"><span class="paramname"><em>attr</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>
|
|
</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 attributes of <span class="tt">this</span> virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir"></td><td class="paramname">vcon</td><td>Capability index of the vcon object. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">attr</td><td>Attribute structure. Contains the attributes after a successful call of this function. </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">utcb</td><td>UTCB to be used for this operation, shall be the UTCB of the calling thread. Defaults to <a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644" title="Get the UTCB address.">l4_utcb</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Syscall return tag. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00417">417</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="l4_2sys_2ipc_8h_source.html#l00565">l4_ipc_call()</a>, <a class="el" href="____timeout_8h_source.html#l00076">L4_IPC_NEVER</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00405">l4_msgtag()</a>, <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00055">L4_PROTO_LOG</a>, <a class="el" href="vcon_8h_source.html#l00296">L4_VCON_GET_ATTR_OP</a>, and <a class="el" href="l4_2sys_2utcb_8h_source.html#l00069">l4_msg_regs_t::mr</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="vcon_source.html#l00151">L4::Vcon::get_attr()</a>, and <a class="el" href="vcon_8h_source.html#l00435">l4_vcon_get_attr()</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="group__l4__vcon__api_gae9c105658ebcbc5d1a86e0672f0a5465_cgraph.svg" width="403" 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 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 caller graph for this function:</div>
|
|
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_gae9c105658ebcbc5d1a86e0672f0a5465_icgraph.svg" width="340" 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="ga6c775101d4cb0763e352ae9bb395a7a1" name="ga6c775101d4cb0763e352ae9bb395a7a1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga6c775101d4cb0763e352ae9bb395a7a1">◆ </a></span>l4_vcon_read()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int l4_vcon_read </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>size</em></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>Read data from virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir"></td><td class="paramname">vcon</td><td>Vcon object. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Pointer to data buffer. </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of buffer in bytes.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">-L4_EPERM</td><td>Insufficient permissions; see precondition. </td></tr>
|
|
<tr><td class="paramname">>size</td><td>More bytes to read, <span class="tt">size</span> bytes are in the buffer <span class="tt">buf</span>. </td></tr>
|
|
<tr><td class="paramname"><=size</td><td>Number of bytes read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The capability <span class="tt">vcon</span> must have the permission <a class="el" href="group__l4__fpage__api.html#ggaee60789a48cab2782f5a368237591b39a561054fb4021ff4a22ab1881c7a7de5a" title="Interface specific 'W' right for capability flexpages.">L4_CAP_FPAGE_W</a>.</dd></dl>
|
|
<dl class="section note"><dt>Note</dt><dd>Size must not exceed <a class="el" href="#ggabd2b33d43db88423dfb7d40ebce134a2a85b6eb2687db0571494a931b926692ae" title="Maximum size that can be read with one l4_vcon_read* call.">L4_VCON_READ_SIZE</a>. </dd></dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="examples_2sys_2isr_2main_8c-example.html#a17">examples/sys/isr/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00391">391</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>, and <a class="el" href="vcon_8h_source.html#l00381">l4_vcon_read_u()</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="group__l4__vcon__api_ga6c775101d4cb0763e352ae9bb395a7a1_cgraph.svg" width="290" 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="gaac94d1d8c7650a94642d5d9254f418bc" name="gaac94d1d8c7650a94642d5d9254f418bc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gaac94d1d8c7650a94642d5d9254f418bc">◆ </a></span>l4_vcon_read_u()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int l4_vcon_read_u </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>size</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>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Read data from <span class="tt">this</span> virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir"></td><td class="paramname">vcon</td><td>Capability index of the vcon object. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Pointer to data buffer. </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of the data buffer in bytes. </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">utcb</td><td>UTCB to be used for this operation, shall be the UTCB of the calling thread. Defaults to <a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644" title="Get the UTCB address.">l4_utcb</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">-L4_EPERM</td><td>Insufficient permissions; see precondition. </td></tr>
|
|
<tr><td class="paramname">>size</td><td>More bytes to read, <span class="tt">size</span> bytes are in the buffer <span class="tt">buf</span>. </td></tr>
|
|
<tr><td class="paramname"><=size</td><td>Number of bytes read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The invoked Vcon capability must have the permission <a class="el" href="group__l4__fpage__api.html#ggaee60789a48cab2782f5a368237591b39a561054fb4021ff4a22ab1881c7a7de5a" title="Interface specific 'W' right for capability flexpages.">L4_CAP_FPAGE_W</a>.</dd></dl>
|
|
<dl class="section note"><dt>Note</dt><dd>Size must not exceed <a class="el" href="#ggabd2b33d43db88423dfb7d40ebce134a2a85b6eb2687db0571494a931b926692ae" title="Maximum size that can be read with one l4_vcon_read* call.">L4_VCON_READ_SIZE</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00381">381</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, and <a class="el" href="vcon_8h_source.html#l00172">L4_VCON_READ_SIZE_MASK</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="vcon_8h_source.html#l00391">l4_vcon_read()</a>, and <a class="el" href="vcon_source.html#l00098">L4::Vcon::read()</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 caller graph for this function:</div>
|
|
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_gaac94d1d8c7650a94642d5d9254f418bc_icgraph.svg" width="296" 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="gae405372b396baf5b85f5157f9d7a11b6" name="gae405372b396baf5b85f5157f9d7a11b6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae405372b396baf5b85f5157f9d7a11b6">◆ </a></span>l4_vcon_read_with_flags()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int l4_vcon_read_with_flags </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>size</em></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>Read data from virtual console, extended version including flags. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir"></td><td class="paramname">vcon</td><td>Vcon object. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Pointer to data buffer. </td></tr>
|
|
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of buffer in bytes.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>If this function returns a positive value the caller can check the <a class="el" href="vcon_8h.html#a82aebd5bdf764a394ca64418617c3a1cad1cf637b6b20de77d1fcb880696af78d" title="Break condition flag.">L4_VCON_READ_STAT_BREAK</a> flag bit for a break condition. The bytes read can be obtained by masking the return value with <a class="el" href="vcon_8h.html#a82aebd5bdf764a394ca64418617c3a1cad6ba192244df0ca35e2e68851d182f95" title="Size mask.">L4_VCON_READ_SIZE_MASK</a>.</p>
|
|
<p>If a break condition is signaled, it is always the first event in the transmitted content, i.e. all characters supplied by this read call follow the break condition.</p>
|
|
<p><span class="tt">buf</span> might be a <span class="tt">NULL</span>, in this case the input data will be dropped.</p>
|
|
<dl class="section note"><dt>Note</dt><dd>Size must not exceed <a class="el" href="#ggabd2b33d43db88423dfb7d40ebce134a2a85b6eb2687db0571494a931b926692ae" title="Maximum size that can be read with one l4_vcon_read* call.">L4_VCON_READ_SIZE</a>.</dd></dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">-L4_EPERM</td><td>Insufficient permissions; see precondition. </td></tr>
|
|
<tr><td class="paramname">>size</td><td>More bytes to read, <span class="tt">size</span> bytes are in the buffer <span class="tt">buf</span>. </td></tr>
|
|
<tr><td class="paramname"><=size</td><td>Number of bytes read.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section pre"><dt>Precondition</dt><dd>The capability <span class="tt">vcon</span> must have the permission <a class="el" href="group__l4__fpage__api.html#ggaee60789a48cab2782f5a368237591b39a561054fb4021ff4a22ab1881c7a7de5a" title="Interface specific 'W' right for capability flexpages.">L4_CAP_FPAGE_W</a>. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00375">375</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, and <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>.</p>
|
|
<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="group__l4__vcon__api_gae405372b396baf5b85f5157f9d7a11b6_cgraph.svg" width="310" 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="gabbc45ad5d795d46d1edbf8118957ecb2" name="gabbc45ad5d795d46d1edbf8118957ecb2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gabbc45ad5d795d46d1edbf8118957ecb2">◆ </a></span>l4_vcon_send()</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> l4_vcon_send </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>size</em></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>Send data to virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vcon</td><td>Vcon object. </td></tr>
|
|
<tr><td class="paramname">buf</td><td>Pointer to data buffer. </td></tr>
|
|
<tr><td class="paramname">size</td><td>Size of buffer in bytes.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Syscall return tag</dd></dl>
|
|
<dl class="section note"><dt>Note</dt><dd>Size must not exceed <a class="el" href="#ggabd2b33d43db88423dfb7d40ebce134a2ac70a0f703b45becb557ee2212e47a9fc" title="Maximum size that can be written with one l4_vcon_write call.">L4_VCON_WRITE_SIZE</a>, a proper value of the <span class="tt">size</span> parameter is NOT checked. Also, this function is a send only operation, this means there is no return value except for a failed send operation. Use <a class="el" href="group__l4__ipc__err__api.html#gad40f404217497793e95a10d77a47db39" title="Get the IPC error code for an IPC operation.">l4_ipc_error()</a> to check for send errors, and <b>do not</b> use <a class="el" href="group__l4__ipc__err__api.html#ga05c11e3e10b6c2aa941396ac2018899f" title="Get IPC error code if any or message tag label otherwise for an IPC call.">l4_error()</a>. </dd></dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="examples_2sys_2utcb-ipc_2main_8c-example.html#a2">examples/sys/utcb-ipc/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00315">315</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>, and <a class="el" href="vcon_8h_source.html#l00302">l4_vcon_send_u()</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="group__l4__vcon__api_gabbc45ad5d795d46d1edbf8118957ecb2_cgraph.svg" width="607" 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="ga05df63a45bb7ade1e0e19caaa6e35f5f" name="ga05df63a45bb7ade1e0e19caaa6e35f5f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga05df63a45bb7ade1e0e19caaa6e35f5f">◆ </a></span>l4_vcon_send_u()</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> l4_vcon_send_u </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>size</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>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Send data to <span class="tt">this</span> virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vcon</td><td>Capability index of the Vcon object. </td></tr>
|
|
<tr><td class="paramname">buf</td><td>Pointer to the data buffer. </td></tr>
|
|
<tr><td class="paramname">size</td><td>Size of the data buffer in bytes. </td></tr>
|
|
<tr><td class="paramname">utcb</td><td>UTCB to be used for this operation, shall be the UTCB of the calling thread. Defaults to <a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644" title="Get the UTCB address.">l4_utcb</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Syscall return tag</dd></dl>
|
|
<dl class="section note"><dt>Note</dt><dd>Size must not exceed <a class="el" href="#ggabd2b33d43db88423dfb7d40ebce134a2ac70a0f703b45becb557ee2212e47a9fc" title="Maximum size that can be written with one l4_vcon_write call.">L4_VCON_WRITE_SIZE</a>, a proper value of the <span class="tt">size</span> parameter is NOT checked. Also, this function is a send only operation, this means there is no return value except for a failed send operation. Use <a class="el" href="group__l4__ipc__err__api.html#gad40f404217497793e95a10d77a47db39" title="Get the IPC error code for an IPC operation.">l4_ipc_error()</a> to check for send errors, do not use <a class="el" href="group__l4__ipc__err__api.html#ga05c11e3e10b6c2aa941396ac2018899f" title="Get IPC error code if any or message tag label otherwise for an IPC call.">l4_error()</a>, as <a class="el" href="group__l4__ipc__err__api.html#ga05c11e3e10b6c2aa941396ac2018899f" title="Get IPC error code if any or message tag label otherwise for an IPC call.">l4_error()</a> will always return an error. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00302">302</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="l4_2sys_2consts_8h_source.html#l00496">l4_bytes_to_mwords()</a>, <a class="el" href="____timeout_8h_source.html#l00076">L4_IPC_NEVER</a>, <a class="el" href="l4_2sys_2ipc_8h_source.html#l00586">l4_ipc_send()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00405">l4_msgtag()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00114">L4_MSGTAG_SCHEDULE</a>, <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00055">L4_PROTO_LOG</a>, <a class="el" href="vcon_8h_source.html#l00293">L4_VCON_WRITE_OP</a>, and <a class="el" href="l4_2sys_2utcb_8h_source.html#l00069">l4_msg_regs_t::mr</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="vcon_8h_source.html#l00315">l4_vcon_send()</a>, <a class="el" href="vcon_8h_source.html#l00321">l4_vcon_write_u()</a>, and <a class="el" href="vcon_source.html#l00065">L4::Vcon::send()</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="group__l4__vcon__api_ga05df63a45bb7ade1e0e19caaa6e35f5f_cgraph.svg" width="448" 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 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 caller 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="group__l4__vcon__api_ga05df63a45bb7ade1e0e19caaa6e35f5f_icgraph.svg" width="478" 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="gad6423b427845fd9cff6d6b39b17f44d3" name="gad6423b427845fd9cff6d6b39b17f44d3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gad6423b427845fd9cff6d6b39b17f44d3">◆ </a></span>l4_vcon_set_attr()</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> l4_vcon_set_attr </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> const *</td> <td class="paramname"><span class="paramname"><em>attr</em></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>Set attributes of a Vcon. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vcon</td><td>Vcon object. </td></tr>
|
|
<tr><td class="paramname">attr</td><td>Attribute structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Syscall return tag </dd></dl>
|
|
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="examples_2sys_2isr_2main_8c-example.html#a12">examples/sys/isr/main.c</a>.</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00411">411</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>, and <a class="el" href="vcon_8h_source.html#l00397">l4_vcon_set_attr_u()</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="group__l4__vcon__api_gad6423b427845fd9cff6d6b39b17f44d3_cgraph.svg" width="579" height="110"><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="ga0fc43818c6771ec9344d793d2017746a" name="ga0fc43818c6771ec9344d793d2017746a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga0fc43818c6771ec9344d793d2017746a">◆ </a></span>l4_vcon_set_attr_raw()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void l4_vcon_set_attr_raw </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> *</td> <td class="paramname"><span class="paramname"><em>attr</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set terminal attributes to disable all special processing. </p>
|
|
<p>Removes all flags that would mangle the read or written characters. Also disables echoing and any special processing of characters. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in,out]</td><td class="paramname">attr</td><td>Attribute structure to update. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00441">441</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="vcon_8h_source.html#l00450">l4_vcon_attr_t::set_raw()</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="group__l4__vcon__api_ga0fc43818c6771ec9344d793d2017746a_icgraph.svg" width="392" 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="ga17f827c7d5f96b36a7c552af8d61a0e5" name="ga17f827c7d5f96b36a7c552af8d61a0e5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga17f827c7d5f96b36a7c552af8d61a0e5">◆ </a></span>l4_vcon_set_attr_u()</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> l4_vcon_set_attr_u </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structl4__vcon__attr__t.html">l4_vcon_attr_t</a> const *</td> <td class="paramname"><span class="paramname"><em>attr</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>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set the attributes of <span class="tt">this</span> virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vcon</td><td>Capability index of the vcon object. </td></tr>
|
|
<tr><td class="paramname">attr</td><td>Attribute structure with the attributes for the virtual console. </td></tr>
|
|
<tr><td class="paramname">utcb</td><td>UTCB to be used for this operation, shall be the UTCB of the calling thread. Defaults to <a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644" title="Get the UTCB address.">l4_utcb</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Syscall return tag. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00397">397</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="l4_2sys_2ipc_8h_source.html#l00565">l4_ipc_call()</a>, <a class="el" href="____timeout_8h_source.html#l00076">L4_IPC_NEVER</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00405">l4_msgtag()</a>, <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00055">L4_PROTO_LOG</a>, <a class="el" href="vcon_8h_source.html#l00295">L4_VCON_SET_ATTR_OP</a>, and <a class="el" href="l4_2sys_2utcb_8h_source.html#l00069">l4_msg_regs_t::mr</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="vcon_8h_source.html#l00411">l4_vcon_set_attr()</a>, and <a class="el" href="vcon_source.html#l00138">L4::Vcon::set_attr()</a>.</p>
|
|
<div id="dynsection-12" 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-12-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-12-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_ga17f827c7d5f96b36a7c552af8d61a0e5_cgraph.svg" width="402" 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 id="dynsection-13" 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-13-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-13-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_ga17f827c7d5f96b36a7c552af8d61a0e5_icgraph.svg" width="338" 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="ga9f083a69c2c51329da6778a3af0331bc" name="ga9f083a69c2c51329da6778a3af0331bc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga9f083a69c2c51329da6778a3af0331bc">◆ </a></span>l4_vcon_write()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long l4_vcon_write </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>size</em></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>Write data to virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vcon</td><td>Vcon object. </td></tr>
|
|
<tr><td class="paramname">buf</td><td>Pointer to data buffer. </td></tr>
|
|
<tr><td class="paramname">size</td><td>Size of buffer in bytes.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname"><0</td><td>Error. </td></tr>
|
|
<tr><td class="paramname">>=0</td><td>Number of bytes written to the virtual console </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00336">336</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="l4_2sys_2utcb_8h_source.html#l00346">l4_utcb()</a>, and <a class="el" href="vcon_8h_source.html#l00321">l4_vcon_write_u()</a>.</p>
|
|
<div id="dynsection-14" 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-14-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-14-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_ga9f083a69c2c51329da6778a3af0331bc_cgraph.svg" width="816" height="210"><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="ga899728ba23baf18f59f62142534e039c" name="ga899728ba23baf18f59f62142534e039c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga899728ba23baf18f59f62142534e039c">◆ </a></span>l4_vcon_write_u()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">long l4_vcon_write_u </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__l4__cap__api.html#ga1445e923ce73029130d569d6e69a4dd8">l4_cap_idx_t</a></td> <td class="paramname"><span class="paramname"><em>vcon</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char const *</td> <td class="paramname"><span class="paramname"><em>buf</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned</td> <td class="paramname"><span class="paramname"><em>size</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>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Write data to <span class="tt">this</span> virtual console. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vcon</td><td>Capability index of the vcon object. </td></tr>
|
|
<tr><td class="paramname">buf</td><td>Pointer to the data buffer. </td></tr>
|
|
<tr><td class="paramname">size</td><td>Size of the data buffer in bytes. </td></tr>
|
|
<tr><td class="paramname">utcb</td><td>UTCB to be used for this operation, shall be the UTCB of the calling thread. Defaults to <a class="el" href="group__l4__utcb__api.html#gadc099b4a59e1d99638c72c11a8c8b644" title="Get the UTCB address.">l4_utcb</a>.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname"><0</td><td>Error. </td></tr>
|
|
<tr><td class="paramname">>=0</td><td>Number of bytes written to the virtual console. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="vcon_8h_source.html#l00321">321</a> of file <a class="el" href="vcon_8h_source.html">vcon.h</a>.</p>
|
|
|
|
<p class="reference">References <a class="el" href="l4_2sys_2ipc_8h_source.html#l00646">l4_error()</a>, <a class="el" href="l4_2sys_2types_8h_source.html#l00440">l4_msgtag_has_error()</a>, <a class="el" href="compiler_8h_source.html#l00161">L4_NOTHROW</a>, <a class="el" href="vcon_8h_source.html#l00302">l4_vcon_send_u()</a>, and <a class="el" href="vcon_8h_source.html#l00098">L4_VCON_WRITE_SIZE</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="vcon_8h_source.html#l00336">l4_vcon_write()</a>, and <a class="el" href="vcon_source.html#l00079">L4::Vcon::write()</a>.</p>
|
|
<div id="dynsection-15" 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-15-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-15-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_ga899728ba23baf18f59f62142534e039c_cgraph.svg" width="656" 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 id="dynsection-16" 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-16-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-16-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="group__l4__vcon__api_ga899728ba23baf18f59f62142534e039c_icgraph.svg" width="304" 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>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div id="page-nav" class="page-nav-panel">
|
|
<div id="page-nav-resize-handle"></div>
|
|
<div id="page-nav-tree">
|
|
<div id="page-nav-contents">
|
|
</div><!-- page-nav-contents -->
|
|
</div><!-- page-nav-tree -->
|
|
</div><!-- page-nav -->
|
|
</div><!-- container -->
|
|
<!-- HTML footer for doxygen 1.9.1-->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="footer">Generated on <span class="timestamp"></span> for L4Re Operating System Framework by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|