blob: e8ac36d2b950331db41573efb27ed15d17c25c5b [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `optee_teec` crate."><meta name="keywords" content="rust, rustlang, rust-lang, optee_teec"><title>optee_teec - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../optee_teec/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><h2 class="location">Crate optee_teec</h2><div class="block version"><div class="narrow-helper"></div><p>Version 0.2.0</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all optee_teec's items</p></a><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><div id="sidebar-vars" data-name="optee_teec" data-ty="mod" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="#">optee_teec</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/optee_teec/lib.rs.html#18-33" title="goto source code">[src]</a></span></h1><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="struct" href="struct.Context.html" title="optee_teec::Context struct">Context</a></div><div class="item-right docblock-short"><p>An abstraction of the logical connection between a client application and a
TEE.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Error.html" title="optee_teec::Error struct">Error</a></div><div class="item-right docblock-short"><p>The error type for TEE operations of <a href="struct.Context.html"><code>Context</code></a> and <a href="struct.Session.html"><code>Session</code></a>.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Operation.html" title="optee_teec::Operation struct">Operation</a></div><div class="item-right docblock-short"><p>This type defines the payload of either an open session operation or an
invoke command operation. It is also used for cancellation of operations,
which may be desirable even if no payload is passed.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.ParamNone.html" title="optee_teec::ParamNone struct">ParamNone</a></div><div class="item-right docblock-short"><p>Represents none parameter which carries no information.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.ParamTmpRef.html" title="optee_teec::ParamTmpRef struct">ParamTmpRef</a></div><div class="item-right docblock-short"><p>This type defines a temporary memory reference. It is used as a
<code>Operation</code> parameter when the corresponding parameter type is one of
<code>MemrefTempInput</code>, <code>MemrefTempOutput</code>, or <code>MemrefTempInout</code>.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.ParamTypes.html" title="optee_teec::ParamTypes struct">ParamTypes</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.ParamValue.html" title="optee_teec::ParamValue struct">ParamValue</a></div><div class="item-right docblock-short"><p>This type defines a parameter that is not referencing shared memory, but
carries instead small raw data passed by value. It is used as a <code>Operation</code>
parameter when the corresponding parameter type is one of <code>ValueInput</code>,
<code>ValueOutput</code>, or <code>ValueInout</code>.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.PluginMethod.html" title="optee_teec::PluginMethod struct">PluginMethod</a></div><div class="item-right docblock-short"></div><div class="item-left module-item"><a class="struct" href="struct.PluginParameters.html" title="optee_teec::PluginParameters struct">PluginParameters</a></div><div class="item-right docblock-short"><p>struct PluginParameters {
@cmd: u32, plugin cmd, defined in proto/
@sub_cmd: u32, plugin subcmd, defined in proto/
@inout: &amp;’a mut <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html" title="u8">u8</a>, input/output buffer shared with TA and plugin
@outlen, length of output sent to TA
}</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Session.html" title="optee_teec::Session struct">Session</a></div><div class="item-right docblock-short"><p>Represents a connection between a client application and a trusted application.</p>
</div><div class="item-left module-item"><a class="struct" href="struct.Uuid.html" title="optee_teec::Uuid struct">Uuid</a></div><div class="item-right docblock-short"><p>A Universally Unique Resource Identifier (UUID) type as defined in RFC4122.
The value is used to identify a trusted application.</p>
</div></div><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="enum" href="enum.ConnectionMethods.html" title="optee_teec::ConnectionMethods enum">ConnectionMethods</a></div><div class="item-right docblock-short"><p>Session login methods.</p>
</div><div class="item-left module-item"><a class="enum" href="enum.ErrorKind.html" title="optee_teec::ErrorKind enum">ErrorKind</a></div><div class="item-right docblock-short"><p>A list specifying general categories of TEE client error and its
corresponding code in OP-TEE client library.</p>
</div><div class="item-left module-item"><a class="enum" href="enum.ParamType.html" title="optee_teec::ParamType enum">ParamType</a></div><div class="item-right docblock-short"><p>These are used to indicate the type of Parameter encoded inside the
operation structure.</p>
</div></div><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="trait" href="trait.Param.html" title="optee_teec::Param trait">Param</a></div><div class="item-right docblock-short"></div></div><h2 id="types" class="section-header"><a href="#types">Type Definitions</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="type" href="type.Result.html" title="optee_teec::Result type">Result</a></div><div class="item-right docblock-short"><p>A specialized <a href="https://doc.rust-lang.org/std/result/enum.Result.html"><code>Result</code></a>
type for TEE operations.</p>
</div></div><h2 id="attributes" class="section-header"><a href="#attributes">Attribute Macros</a></h2>
<div class="item-table"><div class="item-left module-item"><a class="attr" href="attr.plugin_init.html" title="optee_teec::plugin_init attr">plugin_init</a></div><div class="item-right docblock-short"><p>Attribute to declare the init function of a plugin</p>
</div><div class="item-left module-item"><a class="attr" href="attr.plugin_invoke.html" title="optee_teec::plugin_invoke attr">plugin_invoke</a></div><div class="item-right docblock-short"><p>Attribute to declare the invoke function of a plugin</p>
</div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="optee_teec" data-search-index-js="../search-index.js" data-search-js="../search.js"></div>
<script src="../main.js"></script>
</body></html>