<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>TB9.2 Example Applications: examples/Base/IPC/secureserver/secureserver.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="contents">
<h1>examples/Base/IPC/secureserver/secureserver.h File Reference</h1>
<p><a href="secureserver_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_secure_server.html">CSecureServer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_secure_server_session.html">CSecureServerSession</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_secure_server_sub_session.html">CSecureServerSubSession</a></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4ef">TSecureServerPanic</a> { <br/>
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efaeef6b7f2a8413e6863e2136b93228c3a">EBadRequest</a> = 1,
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efa59f7e1b1a0e300077050b023b97ebcfb">EDescriptorNonNumeric</a>,
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efa4dc32eda4a06b69469187275e825d99f">EMainSchedulerError</a>,
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efa9b127171258d0cdb2748e608aaa757cb">EServerCreateServer</a>,
<br/>
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efad2d8074b4ac1ba9f45dbb70e6aec4144">EServerStartServer</a>,
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efa36f3ebda4e94aedb5817599162216e69">ECreateTrapCleanup</a>,
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efaeebad163989c978b8edd91b6893411c0">EBadSubsessionHandle</a>,
<a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efa58c52029fd13028de726c112eedc638a">ESecureServerSecurityPolicy</a>
<br/>
}</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const TUint </td><td class="memItemRight" valign="bottom"><a class="el" href="secureserver_8h.html#abccd7aceb4760cddd96866248e305f29">KDefaultHeapSize</a> = 0x10000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const TInt </td><td class="memItemRight" valign="bottom"><a class="el" href="secureserver_8h.html#a58c74f3d388b4e34764cddd3d0d24c92">KSecureServerRangeCount</a> = 5</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const TInt </td><td class="memItemRight" valign="bottom"><a class="el" href="secureserver_8h.html#a374f11258957fe4902b11706c8d378bf">KSecureServerRanges</a> [<a class="el" href="secureserver_8h.html#a58c74f3d388b4e34764cddd3d0d24c92">KSecureServerRangeCount</a>]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const CPolicyServer::TPolicyElement </td><td class="memItemRight" valign="bottom"><a class="el" href="secureserver_8h.html#a96a8dd34c3e8faf09bc5ef7050b5d0ce">KSecureServerElements</a> []</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const TUint8 </td><td class="memItemRight" valign="bottom"><a class="el" href="secureserver_8h.html#a1c5ad63aafc1be2736f3a8177f4d7fd9">KSecureServerElementsIndex</a> [<a class="el" href="secureserver_8h.html#a58c74f3d388b4e34764cddd3d0d24c92">KSecureServerRangeCount</a>]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const CPolicyServer::TPolicy </td><td class="memItemRight" valign="bottom"><a class="el" href="secureserver_8h.html#a35e41e8fbb27c5be7ed4ce6c6cd28d2a">KSecureServerPolicy</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition in file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4ef"></a><!-- doxytag: member="secureserver.h::TSecureServerPanic" ref="a091a5ad2956fb84c4470a59010a0d4ef" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4ef">TSecureServerPanic</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A set of panic numbers used when the example raises panics in response to programming errors. All panics raised by the example have the category SecureServer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>KTxtServer </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efaeef6b7f2a8413e6863e2136b93228c3a"></a><!-- doxytag: member="EBadRequest" ref="a091a5ad2956fb84c4470a59010a0d4efaeef6b7f2a8413e6863e2136b93228c3a" args="" -->EBadRequest</em> </td><td>
<p>An undefined op code. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efa59f7e1b1a0e300077050b023b97ebcfb"></a><!-- doxytag: member="EDescriptorNonNumeric" ref="a091a5ad2956fb84c4470a59010a0d4efa59f7e1b1a0e300077050b023b97ebcfb" args="" -->EDescriptorNonNumeric</em> </td><td>
<p>A descriptor containing non-numeric characters. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efa4dc32eda4a06b69469187275e825d99f"></a><!-- doxytag: member="EMainSchedulerError" ref="a091a5ad2956fb84c4470a59010a0d4efa4dc32eda4a06b69469187275e825d99f" args="" -->EMainSchedulerError</em> </td><td>
<p>The Active Scheduler can not be instantiated. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efa9b127171258d0cdb2748e608aaa757cb"></a><!-- doxytag: member="EServerCreateServer" ref="a091a5ad2956fb84c4470a59010a0d4efa9b127171258d0cdb2748e608aaa757cb" args="" -->EServerCreateServer</em> </td><td>
<p>The server can not be created. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efad2d8074b4ac1ba9f45dbb70e6aec4144"></a><!-- doxytag: member="EServerStartServer" ref="a091a5ad2956fb84c4470a59010a0d4efad2d8074b4ac1ba9f45dbb70e6aec4144" args="" -->EServerStartServer</em> </td><td>
<p>The server can not be added to the active scheduler to receive requests. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efa36f3ebda4e94aedb5817599162216e69"></a><!-- doxytag: member="ECreateTrapCleanup" ref="a091a5ad2956fb84c4470a59010a0d4efa36f3ebda4e94aedb5817599162216e69" args="" -->ECreateTrapCleanup</em> </td><td>
<p>The cleanup stack can not be created. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efaeebad163989c978b8edd91b6893411c0"></a><!-- doxytag: member="EBadSubsessionHandle" ref="a091a5ad2956fb84c4470a59010a0d4efaeebad163989c978b8edd91b6893411c0" args="" -->EBadSubsessionHandle</em> </td><td>
<p>The object index of the sub session returns an error. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a091a5ad2956fb84c4470a59010a0d4efa58c52029fd13028de726c112eedc638a"></a><!-- doxytag: member="ESecureServerSecurityPolicy" ref="a091a5ad2956fb84c4470a59010a0d4efa58c52029fd13028de726c112eedc638a" args="" -->ESecureServerSecurityPolicy</em> </td><td>
<p>A custom security policy violation. </p>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="secureserver_8h_source.html#l00043">43</a> of file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="abccd7aceb4760cddd96866248e305f29"></a><!-- doxytag: member="secureserver.h::KDefaultHeapSize" ref="abccd7aceb4760cddd96866248e305f29" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const TUint <a class="el" href="secureserver_8h.html#abccd7aceb4760cddd96866248e305f29">KDefaultHeapSize</a> = 0x10000</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The size of the heap to be allocated for the thread that runs the server. The constant is passed to the <a class="el" href="secureclientandserver_8h.html#af110d475e98114c0f2a42b7313af8e67">StartThread()</a> function defined in <a class="el" href="secureclientandserver_8h.html">secureclientandserver.h</a> and implemented in <a class="el" href="secureserver_8cpp.html">secureserver.cpp</a>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>RThread::Create() </dd></dl>
<p>Definition at line <a class="el" href="secureserver_8h_source.html#l00036">36</a> of file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
</div>
</div>
<a class="anchor" id="a58c74f3d388b4e34764cddd3d0d24c92"></a><!-- doxytag: member="secureserver.h::KSecureServerRangeCount" ref="a58c74f3d388b4e34764cddd3d0d24c92" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const TInt <a class="el" href="secureserver_8h.html#a58c74f3d388b4e34764cddd3d0d24c92">KSecureServerRangeCount</a> = 5</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The server specifies 5 ranges of security policy. Each range undergoes a different security check. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>CpolicyServer::TPolicy::iRangeCount </dd></dl>
<p>Definition at line <a class="el" href="secureserver_8h_source.html#l00083">83</a> of file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
</div>
</div>
<a class="anchor" id="a374f11258957fe4902b11706c8d378bf"></a><!-- doxytag: member="secureserver.h::KSecureServerRanges" ref="a374f11258957fe4902b11706c8d378bf" args="[KSecureServerRangeCount]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const TInt <a class="el" href="secureserver_8h.html#a374f11258957fe4902b11706c8d378bf">KSecureServerRanges</a>[<a class="el" href="secureserver_8h.html#a58c74f3d388b4e34764cddd3d0d24c92">KSecureServerRangeCount</a>]</td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment">
{
0,
5,
6,
11,
13
}
</pre></div><p>Ordered ranges of request numbers. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>CpolicyServer::TPolicy::iRanges </dd></dl>
<p>Definition at line <a class="el" href="secureserver_8h_source.html#l00089">89</a> of file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
</div>
</div>
<a class="anchor" id="a96a8dd34c3e8faf09bc5ef7050b5d0ce"></a><!-- doxytag: member="secureserver.h::KSecureServerElements" ref="a96a8dd34c3e8faf09bc5ef7050b5d0ce" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const CPolicyServer::TPolicyElement <a class="el" href="secureserver_8h.html#a96a8dd34c3e8faf09bc5ef7050b5d0ce">KSecureServerElements</a>[]</td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment">
{
_INIT_SECURITY_POLICY_S0(0x70fffff0),
{_INIT_SECURITY_POLICY_C1(ECapabilityReadDeviceData | ECapabilityWriteDeviceData), CPolicyServer::EFailClient}
}
</pre></div><p>An array containing the unique set of policies used in this example. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>CpolicyServer::TPolicy::iElements </dd></dl>
<p>Definition at line <a class="el" href="secureserver_8h_source.html#l00117">117</a> of file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1c5ad63aafc1be2736f3a8177f4d7fd9"></a><!-- doxytag: member="secureserver.h::KSecureServerElementsIndex" ref="a1c5ad63aafc1be2736f3a8177f4d7fd9" args="[KSecureServerRangeCount]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const TUint8 <a class="el" href="secureserver_8h.html#a1c5ad63aafc1be2736f3a8177f4d7fd9">KSecureServerElementsIndex</a>[<a class="el" href="secureserver_8h.html#a58c74f3d388b4e34764cddd3d0d24c92">KSecureServerRangeCount</a>]</td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment">
{
CPolicyServer::EAlwaysPass,
0,
CPolicyServer::ECustomCheck,
1,
CPolicyServer::ENotSupported
}
</pre></div><p>An array of TUint8 values that specify the action to take for each range in KSecureServerRanges array. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>CpolicyServer::TPolicy::iElementsIndex </dd></dl>
<p>Definition at line <a class="el" href="secureserver_8h_source.html#l00133">133</a> of file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
</div>
</div>
<a class="anchor" id="a35e41e8fbb27c5be7ed4ce6c6cd28d2a"></a><!-- doxytag: member="secureserver.h::KSecureServerPolicy" ref="a35e41e8fbb27c5be7ed4ce6c6cd28d2a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const CPolicyServer::TPolicy <a class="el" href="secureserver_8h.html#a35e41e8fbb27c5be7ed4ce6c6cd28d2a">KSecureServerPolicy</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment">
{
CPolicyServer::EAlwaysPass,
<a class="code" href="secureserver_8h.html#a58c74f3d388b4e34764cddd3d0d24c92">KSecureServerRangeCount</a>,
<a class="code" href="secureserver_8h.html#a374f11258957fe4902b11706c8d378bf">KSecureServerRanges</a>,
<a class="code" href="secureserver_8h.html#a1c5ad63aafc1be2736f3a8177f4d7fd9">KSecureServerElementsIndex</a>,
<a class="code" href="secureserver_8h.html#a96a8dd34c3e8faf09bc5ef7050b5d0ce">KSecureServerElements</a>
}
</pre></div><p>The security policy of the server. This is passed to the constructor of the policy server. In this example, this is the constructor of the <a class="el" href="class_c_secure_server.html">CSecureServer</a> class. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_c_secure_server.html">CSecureServer</a> </dd></dl>
<p>Definition at line <a class="el" href="secureserver_8h_source.html#l00167">167</a> of file <a class="el" href="secureserver_8h_source.html">secureserver.h</a>.</p>
</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>