wut/group__nsysnet__nssl.html
2018-07-26 20:52:03 +10:00

823 lines
58 KiB
HTML

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>wut: Nintendo SSL</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="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" />
</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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">wut
&#160;<span id="projectnumber">1.0.0-alpha</span>
</div>
<div id="projectbrief">Wii U Toolchain</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Nintendo SSL<div class="ingroups"><a class="el" href="group__nsysnet.html">nsysnet</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>The NSSL library is Nintendo's interface for making SSL connections on the Wii U.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gae46155a7e0f590af119edb140d974cb1"><td class="memItemLeft" align="right" valign="top">typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a></td></tr>
<tr class="memdesc:gae46155a7e0f590af119edb140d974cb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a NSSL context created with <a class="el" href="group__nsysnet__nssl.html#gafd4a0686315bd9f7a4c99ece33cb74c8" title="Creates a context to use with the NSSL library. ">NSSLCreateContext()</a>. <a href="#gae46155a7e0f590af119edb140d974cb1">More...</a><br /></td></tr>
<tr class="separator:gae46155a7e0f590af119edb140d974cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79622287731ba9edbbcc5a7a21ad2c54"><td class="memItemLeft" align="right" valign="top">typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a></td></tr>
<tr class="memdesc:ga79622287731ba9edbbcc5a7a21ad2c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">A handle to a NSSL connection created with <a class="el" href="group__nsysnet__nssl.html#ga6980469997f47e7f9712b549f807bfe4" title="Open an SSL connection. ">NSSLCreateConnection()</a>. <a href="#ga79622287731ba9edbbcc5a7a21ad2c54">More...</a><br /></td></tr>
<tr class="separator:ga79622287731ba9edbbcc5a7a21ad2c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c58410400c5b0f179e7285b80d3dc2a"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">NSSLServerCertId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga5c58410400c5b0f179e7285b80d3dc2a">NSSLServerCertId</a></td></tr>
<tr class="memdesc:ga5c58410400c5b0f179e7285b80d3dc2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The IDs of a system CA. <a href="#ga5c58410400c5b0f179e7285b80d3dc2a">More...</a><br /></td></tr>
<tr class="separator:ga5c58410400c5b0f179e7285b80d3dc2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga38586a4d6115d2c6486aafefaf4fc162"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">NSSLServerCertId</a> { <br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a44764410cad55e71de7b54b1ef27396e">NSSL_SERVER_CERT_GROUP_NINTENDO_FIRST</a> = 100,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a5d81ddbd03336ba8510dd83b077f7463">NSSL_SERVER_CERT_NINTENDO_CA</a> = 100,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ad343043d1404607d4c327b4942056789">NSSL_SERVER_CERT_NINTENDO_CA_G2</a> = 101,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ad3a072fd09b355320d8d97de72699a3c">NSSL_SERVER_CERT_NINTENDO_CA_G3</a> = 102,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a7339997df6b98f17d6c30fafce6c2061">NSSL_SERVER_CERT_NINTENDO_CLASS2_CA</a> = 103,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ae205afa4a74bbab928dd12a5715844d6">NSSL_SERVER_CERT_NINTENDO_CLASS2_CA_G2</a> = 104,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a4d57a04ba01e550690c193b5c99aaed3">NSSL_SERVER_CERT_NINTENDO_CLASS2_CA_G3</a> = 105,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162aa1186c2da2524d45d98d6d847e1a5539">NSSL_SERVER_CERT_GROUP_NINTENDO_LAST</a> = 105,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162af44ae53e1c5af690c33c53d39ad6c903">NSSL_SERVER_CERT_GROUP_COMMERCIAL_FIRST</a> = 1001,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a1e5135043ad251e52d0b6424d5a73b74">NSSL_SERVER_CERT_BALTIMORE_CYBERTRUST_ROOT_CA</a> = 1001,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a15b3171c3d3d0940d3bc94c26a0aa84d">NSSL_SERVER_CERT_CYBERTRUST_GLOBAL_ROOT_CA</a> = 1002,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a14b8daa3741773f882b2078c1b58520c">NSSL_SERVER_CERT_VERIZON_GLOBAL_ROOT_CA</a> = 1003,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a8d5efed905cd88779df8487f3d3de020">NSSL_SERVER_CERT_GLOBALSIGN_ROOT_CA</a> = 1004,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a49587e4e81b067877accd1f13718257d">NSSL_SERVER_CERT_GLOBALSIGN_ROOT_CA_R2</a> = 1005,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a9724f85a2c192fce205801cf679be617">NSSL_SERVER_CERT_GLOBALSIGN_ROOT_CA_R3</a> = 1006,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162aad2227697bcc6871644e4bfb2a12fc65">NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3</a> = 1007,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162af5fe94252ed33b0454ad9df63d6a052c">NSSL_SERVER_CERT_VERISIGN_UNIVERSAL_ROOT_CA</a> = 1008,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a50683e4aaf96862aea0da63e3c5b40a9">NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5</a> = 1009,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ac2d8f3a10f1b05117ea6f84fbaa43b43">NSSL_SERVER_CERT_THAWTE_PRIMARY_ROOT_CA_G3</a> = 1010,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a47d6223e74dfe30c26a789b54019f0cf">NSSL_SERVER_CERT_THAWTE_PRIMARY_ROOT_CA</a> = 1011,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a4f04ffb6a7a833f52ea9a036fa3bde88">NSSL_SERVER_CERT_GEOTRUST_GLOBAL_CA</a> = 1012,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a92400af1fe8c957ae6f9b39c4233767b">NSSL_SERVER_CERT_GEOTRUST_GLOBAL_CA2</a> = 1013,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a3612c698c9a0724706f4010df9fdc093">NSSL_SERVER_CERT_GEOTRUST_PRIMARY_CA</a> = 1014,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a133219004655be24f7e662f6491c91f7">NSSL_SERVER_CERT_GEOTRUST_PRIMARY_CA_G3</a> = 1015,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a7edcfd6b53b4bdab93b72b0d9ccbc790">NSSL_SERVER_CERT_ADDTRUST_EXT_CA_ROOT</a> = 1016,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a0d8acb51ca0bc60b57bc7bd784394fc3">NSSL_SERVER_CERT_COMODO_CA</a> = 1017,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a80940a860a0b7116ae9c25e55d6efbbd">NSSL_SERVER_CERT_UTN_DATACORP_SGC_CA</a> = 1018,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a78e923d100a6b4e1ab4754015fe4f29d">NSSL_SERVER_CERT_UTN_USERFIRST_HARDWARE_CA</a> = 1019,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ad78b0fd5a2331f5fc2046a5fdcc4fb39">NSSL_SERVER_CERT_DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA</a> = 1020,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162abb685963d084c1ef99ba6815426fc2a7">NSSL_SERVER_CERT_DIGICERT_ASSURED_ID_ROOT_CA</a> = 1021,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a383aeb6ad7fe5f1633e3fe93bbb9cbb1">NSSL_SERVER_CERT_DIGICERT_GLOBAL_ROOT_CA</a> = 1022,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ac69a211106bf70739eeaaca9eec608d9">NSSL_SERVER_CERT_GTE_CYBERTRUST_GLOBAL_ROOT</a> = 1023,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a4058757b6ae8ce04f948f5e9a4358f52">NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA</a> = 1024,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162afd35d8f7116b24ec10e3ffee357cd8d3">NSSL_SERVER_CERT_THAWTE_PREMIUM_SERVER_CA</a> = 1025,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a4edbd7a5ee44e9404fbc25b8e0c18b4d">NSSL_SERVER_CERT_EQUIFAX_SECURE_CA</a> = 1026,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a3a3fe58ac9d8fa32845e4bc698a43e78">NSSL_SERVER_CERT_ENTRUST_SECURE_SERVER_CA</a> = 1027,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a6cae55a42e56f7c0074fe2127594c85d">NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2</a> = 1028,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ab9bd2c1f0e15c1adcb802edb76986099">NSSL_SERVER_CERT_ENTRUST_CA_2048</a> = 1029,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a028ef05a4c6e03ca14ec89be92fa2d00">NSSL_SERVER_CERT_ENTRUST_ROOT_CA</a> = 1030,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a372b7671acb8354e5e7d42a4b34a7132">NSSL_SERVER_CERT_ENTRUST_ROOT_CA_G2</a> = 1031,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162acd60035512a0eba7d8502d3956ea7ff7">NSSL_SERVER_CERT_DIGICERT_ASSURED_ID_ROOT_CA_G2</a> = 1032,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a5737164a863092db725b1cdc97f733c6">NSSL_SERVER_CERT_DIGICERT_GLOBAL_ROOT_CA_G2</a> = 1033,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a44a9bbe3dc071bfbc069373d1abee15b">NSSL_SERVER_CERT_GROUP_COMMERCIAL_LAST</a> = 1033,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ad0d11f8a301e5a3dbee4a72b32191566">NSSL_SERVER_CERT_GROUP_COMMERCIAL_4096_FIRST</a> = 1900,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162adda67afc42315c94cf30603a89cc25a4">NSSL_SERVER_CERT_COMODO_RSA_CA</a> = 1900,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162ab3745a1b5dbfa1093f46603e761c2caa">NSSL_SERVER_CERT_USERTRUST_RSA_CA</a> = 1901,
<br />
&#160;&#160;<a class="el" href="group__nsysnet__nssl.html#gga38586a4d6115d2c6486aafefaf4fc162a731b672ccd58765c653866fd6e421db8">NSSL_SERVER_CERT_GROUP_COMMERCIAL_4096_LAST</a> = 1901
<br />
}</td></tr>
<tr class="memdesc:ga38586a4d6115d2c6486aafefaf4fc162"><td class="mdescLeft">&#160;</td><td class="mdescRight">The IDs of a system CA. <a href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">More...</a><br /></td></tr>
<tr class="separator:ga38586a4d6115d2c6486aafefaf4fc162"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga271f6d02a5a17553605ee6f4c5d92201"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga271f6d02a5a17553605ee6f4c5d92201">NSSLInit</a> ()</td></tr>
<tr class="memdesc:ga271f6d02a5a17553605ee6f4c5d92201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialises the NSSL library for use. <a href="#ga271f6d02a5a17553605ee6f4c5d92201">More...</a><br /></td></tr>
<tr class="separator:ga271f6d02a5a17553605ee6f4c5d92201"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd6dd47f0a2f3698fd07c3336119fd60"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#gabd6dd47f0a2f3698fd07c3336119fd60">NSSLFinish</a> ()</td></tr>
<tr class="memdesc:gabd6dd47f0a2f3698fd07c3336119fd60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cleans up and finishes use of the NSSL library. <a href="#gabd6dd47f0a2f3698fd07c3336119fd60">More...</a><br /></td></tr>
<tr class="separator:gabd6dd47f0a2f3698fd07c3336119fd60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd4a0686315bd9f7a4c99ece33cb74c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#gafd4a0686315bd9f7a4c99ece33cb74c8">NSSLCreateContext</a> (int32_t unk)</td></tr>
<tr class="memdesc:gafd4a0686315bd9f7a4c99ece33cb74c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a context to use with the NSSL library. <a href="#gafd4a0686315bd9f7a4c99ece33cb74c8">More...</a><br /></td></tr>
<tr class="separator:gafd4a0686315bd9f7a4c99ece33cb74c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2287e2c1ecb34493a1a3fe3359cc5ed1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga2287e2c1ecb34493a1a3fe3359cc5ed1">NSSLDestroyContext</a> (<a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a> context)</td></tr>
<tr class="memdesc:ga2287e2c1ecb34493a1a3fe3359cc5ed1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys a NSSL context. <a href="#ga2287e2c1ecb34493a1a3fe3359cc5ed1">More...</a><br /></td></tr>
<tr class="separator:ga2287e2c1ecb34493a1a3fe3359cc5ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae26bc46ca42f79c3140119374c40cea5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#gae26bc46ca42f79c3140119374c40cea5">NSSLAddServerPKIExternal</a> (<a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a> context, const void *cert, int32_t length, int32_t unk)</td></tr>
<tr class="memdesc:gae26bc46ca42f79c3140119374c40cea5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a custom root CA to the given NSSL context. <a href="#gae26bc46ca42f79c3140119374c40cea5">More...</a><br /></td></tr>
<tr class="separator:gae26bc46ca42f79c3140119374c40cea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29af65684bb6a2a238998b1282e9be1b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga29af65684bb6a2a238998b1282e9be1b">NSSLAddServerPKI</a> (<a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a> context, <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">NSSLServerCertId</a> pki)</td></tr>
<tr class="memdesc:ga29af65684bb6a2a238998b1282e9be1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a system root CA (one of <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162" title="The IDs of a system CA. ">NSSLServerCertId</a>) to the given NSSL context. <a href="#ga29af65684bb6a2a238998b1282e9be1b">More...</a><br /></td></tr>
<tr class="separator:ga29af65684bb6a2a238998b1282e9be1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6980469997f47e7f9712b549f807bfe4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga6980469997f47e7f9712b549f807bfe4">NSSLCreateConnection</a> (<a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a> context, const char *host, int32_t hostLength, int32_t options, int32_t <a class="el" href="group__nsysnet__socket.html#gaf4e0711877c45a41168ac677b0670ccd">socket</a>, int32_t block)</td></tr>
<tr class="memdesc:ga6980469997f47e7f9712b549f807bfe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open an SSL connection. <a href="#ga6980469997f47e7f9712b549f807bfe4">More...</a><br /></td></tr>
<tr class="separator:ga6980469997f47e7f9712b549f807bfe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga086f2b4473940cc47f13085184ecdb88"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga086f2b4473940cc47f13085184ecdb88">NSSLDestroyConnection</a> (<a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a> connection)</td></tr>
<tr class="memdesc:ga086f2b4473940cc47f13085184ecdb88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close and destroy a NSSL connection. <a href="#ga086f2b4473940cc47f13085184ecdb88">More...</a><br /></td></tr>
<tr class="separator:ga086f2b4473940cc47f13085184ecdb88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b734c16fb0ed64d42ae11cc2c583410"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#ga6b734c16fb0ed64d42ae11cc2c583410">NSSLRead</a> (<a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a> connection, const void *buffer, int32_t length, int32_t *outBytesRead)</td></tr>
<tr class="memdesc:ga6b734c16fb0ed64d42ae11cc2c583410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from an open NSSL connection into a given buffer. <a href="#ga6b734c16fb0ed64d42ae11cc2c583410">More...</a><br /></td></tr>
<tr class="separator:ga6b734c16fb0ed64d42ae11cc2c583410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4f9fc85ec4f365aae566cb5205fcd91"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nsysnet__nssl.html#gac4f9fc85ec4f365aae566cb5205fcd91">NSSLWrite</a> (<a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a> connection, const void *buffer, int32_t length, int32_t *outBytesWritten)</td></tr>
<tr class="memdesc:gac4f9fc85ec4f365aae566cb5205fcd91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to an open NSSL connection from a given buffer. <a href="#gac4f9fc85ec4f365aae566cb5205fcd91">More...</a><br /></td></tr>
<tr class="separator:gac4f9fc85ec4f365aae566cb5205fcd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>The NSSL library is Nintendo's interface for making SSL connections on the Wii U. </p>
<p>To use NSSL directly, call <a class="el" href="group__nsysnet__nssl.html#ga271f6d02a5a17553605ee6f4c5d92201" title="Initialises the NSSL library for use. ">NSSLInit()</a> then <a class="el" href="group__nsysnet__nssl.html#gafd4a0686315bd9f7a4c99ece33cb74c8" title="Creates a context to use with the NSSL library. ">NSSLCreateContext()</a> to create a context. This context - after adding root CAs via <a class="el" href="group__nsysnet__nssl.html#ga29af65684bb6a2a238998b1282e9be1b" title="Add a system root CA (one of NSSLServerCertId) to the given NSSL context. ">NSSLAddServerPKI()</a> or <a class="el" href="group__nsysnet__nssl.html#gae26bc46ca42f79c3140119374c40cea5" title="Add a custom root CA to the given NSSL context. ">NSSLAddServerPKIExternal()</a> - can be used to create connections (<a class="el" href="group__nsysnet__nssl.html#ga6980469997f47e7f9712b549f807bfe4" title="Open an SSL connection. ">NSSLCreateConnection()</a>) that can transfer data using <a class="el" href="group__nsysnet__nssl.html#ga6b734c16fb0ed64d42ae11cc2c583410" title="Read data from an open NSSL connection into a given buffer. ">NSSLRead()</a> and <a class="el" href="group__nsysnet__nssl.html#gac4f9fc85ec4f365aae566cb5205fcd91" title="Write data to an open NSSL connection from a given buffer. ">NSSLWrite()</a>.</p>
<p>For HTTPS connections, consider using nlibcurl. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gae46155a7e0f590af119edb140d974cb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae46155a7e0f590af119edb140d974cb1">&#9670;&nbsp;</a></span>NSSLContextHandle</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int32_t <a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>A handle to a NSSL context created with <a class="el" href="group__nsysnet__nssl.html#gafd4a0686315bd9f7a4c99ece33cb74c8" title="Creates a context to use with the NSSL library. ">NSSLCreateContext()</a>. </p>
<p class="definition">Definition at line <a class="el" href="nssl_8h_source.html#l00028">28</a> of file <a class="el" href="nssl_8h_source.html">nssl.h</a>.</p>
</div>
</div>
<a id="ga79622287731ba9edbbcc5a7a21ad2c54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga79622287731ba9edbbcc5a7a21ad2c54">&#9670;&nbsp;</a></span>NSSLConnectionHandle</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int32_t <a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>A handle to a NSSL connection created with <a class="el" href="group__nsysnet__nssl.html#ga6980469997f47e7f9712b549f807bfe4" title="Open an SSL connection. ">NSSLCreateConnection()</a>. </p>
<p class="definition">Definition at line <a class="el" href="nssl_8h_source.html#l00030">30</a> of file <a class="el" href="nssl_8h_source.html">nssl.h</a>.</p>
</div>
</div>
<a id="ga5c58410400c5b0f179e7285b80d3dc2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5c58410400c5b0f179e7285b80d3dc2a">&#9670;&nbsp;</a></span>NSSLServerCertId</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">NSSLServerCertId</a> <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">NSSLServerCertId</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The IDs of a system CA. </p>
<p>These certificates are built-in to the system and can be added to a NSSL context with <a class="el" href="group__nsysnet__nssl.html#ga29af65684bb6a2a238998b1282e9be1b" title="Add a system root CA (one of NSSLServerCertId) to the given NSSL context. ">NSSLAddServerPKI()</a>.</p>
<p>The names and fingerprints given in this documentation are taken from the real certificates inside the Wii U's CDN package. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga38586a4d6115d2c6486aafefaf4fc162"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga38586a4d6115d2c6486aafefaf4fc162">&#9670;&nbsp;</a></span>NSSLServerCertId</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">NSSLServerCertId</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The IDs of a system CA. </p>
<p>These certificates are built-in to the system and can be added to a NSSL context with <a class="el" href="group__nsysnet__nssl.html#ga29af65684bb6a2a238998b1282e9be1b" title="Add a system root CA (one of NSSLServerCertId) to the given NSSL context. ">NSSLAddServerPKI()</a>.</p>
<p>The names and fingerprints given in this documentation are taken from the real certificates inside the Wii U's CDN package. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a44764410cad55e71de7b54b1ef27396e"></a>NSSL_SERVER_CERT_GROUP_NINTENDO_FIRST&#160;</td><td class="fielddoc"><p>Represents the first certificate in the Nintendo CA group. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a5d81ddbd03336ba8510dd83b077f7463"></a>NSSL_SERVER_CERT_NINTENDO_CA&#160;</td><td class="fielddoc"><p>Nintendo CA (SHA1: B5 22 94 55 DD 26 C1 F5 3C 73 06 0E 90 89 B3 91 38 9E 1F 75) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ad343043d1404607d4c327b4942056789"></a>NSSL_SERVER_CERT_NINTENDO_CA_G2&#160;</td><td class="fielddoc"><p>Nintendo CA - G2 (SHA1: C6 0B 2A 5C C9 0F 06 30 CC A3 30 40 DF 6B 33 78 23 9F 3B FA) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ad3a072fd09b355320d8d97de72699a3c"></a>NSSL_SERVER_CERT_NINTENDO_CA_G3&#160;</td><td class="fielddoc"><p>Nintendo CA - G3 (SHA1: 68 A0 77 05 CC C7 A4 08 41 6E 0E D7 AD 65 F2 EC 3F EA 98 62) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a7339997df6b98f17d6c30fafce6c2061"></a>NSSL_SERVER_CERT_NINTENDO_CLASS2_CA&#160;</td><td class="fielddoc"><p>Nintendo Class 2 CA (SHA1: AA 8E F6 6A E0 F8 07 ED B8 41 C8 89 EE 36 66 A2 59 A2 8C CC) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ae205afa4a74bbab928dd12a5715844d6"></a>NSSL_SERVER_CERT_NINTENDO_CLASS2_CA_G2&#160;</td><td class="fielddoc"><p>Nintendo Class 2 CA - G2 (SHA1: 03 9D E5 37 3A C6 5E 1A EE 89 8D 54 E7 56 35 76 EB BE 54 9B) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a4d57a04ba01e550690c193b5c99aaed3"></a>NSSL_SERVER_CERT_NINTENDO_CLASS2_CA_G3&#160;</td><td class="fielddoc"><p>Nintendo Class 2 CA - G3 (SHA1: FA B5 6C 4C C7 CF F5 07 1D 40 B6 B0 07 38 61 D2 90 CA 2A 1A) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162aa1186c2da2524d45d98d6d847e1a5539"></a>NSSL_SERVER_CERT_GROUP_NINTENDO_LAST&#160;</td><td class="fielddoc"><p>Represents the last certificate in the Nintendo CA group. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162af44ae53e1c5af690c33c53d39ad6c903"></a>NSSL_SERVER_CERT_GROUP_COMMERCIAL_FIRST&#160;</td><td class="fielddoc"><p>Represents the first certificate in the commercial CA group. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a1e5135043ad251e52d0b6424d5a73b74"></a>NSSL_SERVER_CERT_BALTIMORE_CYBERTRUST_ROOT_CA&#160;</td><td class="fielddoc"><p>Baltimore CyberTrust Root (SHA1: D4 DE 20 D0 5E 66 FC 53 FE 1A 50 88 2C 78 DB 28 52 CA E4 74) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a15b3171c3d3d0940d3bc94c26a0aa84d"></a>NSSL_SERVER_CERT_CYBERTRUST_GLOBAL_ROOT_CA&#160;</td><td class="fielddoc"><p>Cybertrust Global Root (SHA1: 5F 43 E5 B1 BF F8 78 8C AC 1C C7 CA 4A 9A C6 22 2B CC 34 C6) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a14b8daa3741773f882b2078c1b58520c"></a>NSSL_SERVER_CERT_VERIZON_GLOBAL_ROOT_CA&#160;</td><td class="fielddoc"><p>Verizon Global Root (SHA1: 91 21 98 EE F2 3D CA C4 09 39 31 2F EE 97 DD 56 0B AE 49 B1) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a8d5efed905cd88779df8487f3d3de020"></a>NSSL_SERVER_CERT_GLOBALSIGN_ROOT_CA&#160;</td><td class="fielddoc"><p>GlobalSign Root CA (SHA1: B1 BC 96 8B D4 F4 9D 62 2A A8 9A 81 F2 15 01 52 A4 1D 82 9C) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a49587e4e81b067877accd1f13718257d"></a>NSSL_SERVER_CERT_GLOBALSIGN_ROOT_CA_R2&#160;</td><td class="fielddoc"><p>GlobalSign (SHA1: 75 E0 AB B6 13 85 12 27 1C 04 F8 5F DD DE 38 E4 B7 24 2E FE) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a9724f85a2c192fce205801cf679be617"></a>NSSL_SERVER_CERT_GLOBALSIGN_ROOT_CA_R3&#160;</td><td class="fielddoc"><p>GlobalSign (SHA1: D6 9B 56 11 48 F0 1C 77 C5 45 78 C1 09 26 DF 5B 85 69 76 AD) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162aad2227697bcc6871644e4bfb2a12fc65"></a>NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3&#160;</td><td class="fielddoc"><p>VeriSign Class 3 Public Primary Certification Authority - G3 (SHA1: 13 2D 0D 45 53 4B 69 97 CD B2 D5 C3 39 E2 55 76 60 9B 5C C6) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162af5fe94252ed33b0454ad9df63d6a052c"></a>NSSL_SERVER_CERT_VERISIGN_UNIVERSAL_ROOT_CA&#160;</td><td class="fielddoc"><p>VeriSign Universal Root Certification Authority (SHA1: 36 79 CA 35 66 87 72 30 4D 30 A5 FB 87 3B 0F A7 7B B7 0D 54) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a50683e4aaf96862aea0da63e3c5b40a9"></a>NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5&#160;</td><td class="fielddoc"><p>VeriSign Class 3 Public Primary Certification Authority - G5 (SHA1: 4E B6 D5 78 49 9B 1C CF 5F 58 1E AD 56 BE 3D 9B 67 44 A5 E5) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ac2d8f3a10f1b05117ea6f84fbaa43b43"></a>NSSL_SERVER_CERT_THAWTE_PRIMARY_ROOT_CA_G3&#160;</td><td class="fielddoc"><p>thawte Primary Root CA - G3 (SHA1: F1 8B 53 8D 1B E9 03 B6 A6 F0 56 43 5B 17 15 89 CA F3 6B F2) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a47d6223e74dfe30c26a789b54019f0cf"></a>NSSL_SERVER_CERT_THAWTE_PRIMARY_ROOT_CA&#160;</td><td class="fielddoc"><p>thawte Primary Root CA (SHA1: 91 C6 D6 EE 3E 8A C8 63 84 E5 48 C2 99 29 5C 75 6C 81 7B 81) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a4f04ffb6a7a833f52ea9a036fa3bde88"></a>NSSL_SERVER_CERT_GEOTRUST_GLOBAL_CA&#160;</td><td class="fielddoc"><p>GeoTrust Global CA (SHA1: DE 28 F4 A4 FF E5 B9 2F A3 C5 03 D1 A3 49 A7 F9 96 2A 82 12) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a92400af1fe8c957ae6f9b39c4233767b"></a>NSSL_SERVER_CERT_GEOTRUST_GLOBAL_CA2&#160;</td><td class="fielddoc"><p>GeoTrust Global CA 2 (SHA1: A9 E9 78 08 14 37 58 88 F2 05 19 B0 6D 2B 0D 2B 60 16 90 7D) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a3612c698c9a0724706f4010df9fdc093"></a>NSSL_SERVER_CERT_GEOTRUST_PRIMARY_CA&#160;</td><td class="fielddoc"><p>GeoTrust Primary Certification Authority (SHA1: 32 3C 11 8E 1B F7 B8 B6 52 54 E2 E2 10 0D D6 02 90 37 F0 96) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a133219004655be24f7e662f6491c91f7"></a>NSSL_SERVER_CERT_GEOTRUST_PRIMARY_CA_G3&#160;</td><td class="fielddoc"><p>GeoTrust Primary Certification Authority - G3 (SHA1: 03 9E ED B8 0B E7 A0 3C 69 53 89 3B 20 D2 D9 32 3A 4C 2A FD) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a7edcfd6b53b4bdab93b72b0d9ccbc790"></a>NSSL_SERVER_CERT_ADDTRUST_EXT_CA_ROOT&#160;</td><td class="fielddoc"><p>AddTrust External CA Root (SHA1: 02 FA F3 E2 91 43 54 68 60 78 57 69 4D F5 E4 5B 68 85 18 68) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a0d8acb51ca0bc60b57bc7bd784394fc3"></a>NSSL_SERVER_CERT_COMODO_CA&#160;</td><td class="fielddoc"><p>COMODO Certification Authority (SHA1: EE 86 93 87 FF FD 83 49 AB 5A D1 43 22 58 87 89 A4 57 B0 12) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a80940a860a0b7116ae9c25e55d6efbbd"></a>NSSL_SERVER_CERT_UTN_DATACORP_SGC_CA&#160;</td><td class="fielddoc"><p>UTN - DATACorp SGC (SHA1: 58 11 9F 0E 12 82 87 EA 50 FD D9 87 45 6F 4F 78 DC FA D6 D4) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a78e923d100a6b4e1ab4754015fe4f29d"></a>NSSL_SERVER_CERT_UTN_USERFIRST_HARDWARE_CA&#160;</td><td class="fielddoc"><p>UTN-USERFirst-Hardware (SHA1: 04 83 ED 33 99 AC 36 08 05 87 22 ED BC 5E 46 00 E3 BE F9 D7) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ad78b0fd5a2331f5fc2046a5fdcc4fb39"></a>NSSL_SERVER_CERT_DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA&#160;</td><td class="fielddoc"><p>DigiCert High Assurance EV Root CA (SHA1: 5F B7 EE 06 33 E2 59 DB AD 0C 4C 9A E6 D3 8F 1A 61 C7 DC 25) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162abb685963d084c1ef99ba6815426fc2a7"></a>NSSL_SERVER_CERT_DIGICERT_ASSURED_ID_ROOT_CA&#160;</td><td class="fielddoc"><p>DigiCert Assured ID Root CA (SHA1: 05 63 B8 63 0D 62 D7 5A BB C8 AB 1E 4B DF B5 A8 99 B2 4D 43) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a383aeb6ad7fe5f1633e3fe93bbb9cbb1"></a>NSSL_SERVER_CERT_DIGICERT_GLOBAL_ROOT_CA&#160;</td><td class="fielddoc"><p>DigiCert Global Root CA (SHA1: A8 98 5D 3A 65 E5 E5 C4 B2 D7 D6 6D 40 C6 DD 2F B1 9C 54 36) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ac69a211106bf70739eeaaca9eec608d9"></a>NSSL_SERVER_CERT_GTE_CYBERTRUST_GLOBAL_ROOT&#160;</td><td class="fielddoc"><p>GTE CyberTrust Global Root (SHA1: 97 81 79 50 D8 1C 96 70 CC 34 D8 09 CF 79 44 31 36 7E F4 74) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a4058757b6ae8ce04f948f5e9a4358f52"></a>NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA&#160;</td><td class="fielddoc"><p>[No common name] (SHA1: A1 DB 63 93 91 6F 17 E4 18 55 09 40 04 15 C7 02 40 B0 AE 6B) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162afd35d8f7116b24ec10e3ffee357cd8d3"></a>NSSL_SERVER_CERT_THAWTE_PREMIUM_SERVER_CA&#160;</td><td class="fielddoc"><p>Thawte Premium Server CA (SHA1: 62 7F 8D 78 27 65 63 99 D2 7D 7F 90 44 C9 FE B3 F3 3E FA 9A) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a4edbd7a5ee44e9404fbc25b8e0c18b4d"></a>NSSL_SERVER_CERT_EQUIFAX_SECURE_CA&#160;</td><td class="fielddoc"><p>[No common name] (SHA1: D2 32 09 AD 23 D3 14 23 21 74 E4 0D 7F 9D 62 13 97 86 63 3A) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a3a3fe58ac9d8fa32845e4bc698a43e78"></a>NSSL_SERVER_CERT_ENTRUST_SECURE_SERVER_CA&#160;</td><td class="fielddoc"><p>Entrust.net Secure Server Certification Authority (SHA1: 99 A6 9B E6 1A FE 88 6B 4D 2B 82 00 7C B8 54 FC 31 7E 15 39) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a6cae55a42e56f7c0074fe2127594c85d"></a>NSSL_SERVER_CERT_VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2&#160;</td><td class="fielddoc"><p>[No common name] (SHA1: 85 37 1C A6 E5 50 14 3D CE 28 03 47 1B DE 3A 09 E8 F8 77 0F) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ab9bd2c1f0e15c1adcb802edb76986099"></a>NSSL_SERVER_CERT_ENTRUST_CA_2048&#160;</td><td class="fielddoc"><p>Entrust.net Certification Authority (2048) (SHA1: 50 30 06 09 1D 97 D4 F5 AE 39 F7 CB E7 92 7D 7D 65 2D 34 31) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a028ef05a4c6e03ca14ec89be92fa2d00"></a>NSSL_SERVER_CERT_ENTRUST_ROOT_CA&#160;</td><td class="fielddoc"><p>Entrust Root Certification Authority (SHA1: B3 1E B1 B7 40 E3 6C 84 02 DA DC 37 D4 4D F5 D4 67 49 52 F9) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a372b7671acb8354e5e7d42a4b34a7132"></a>NSSL_SERVER_CERT_ENTRUST_ROOT_CA_G2&#160;</td><td class="fielddoc"><p>Entrust Root Certification Authority - G2 (SHA1: 8C F4 27 FD 79 0C 3A D1 66 06 8D E8 1E 57 EF BB 93 22 72 D4) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162acd60035512a0eba7d8502d3956ea7ff7"></a>NSSL_SERVER_CERT_DIGICERT_ASSURED_ID_ROOT_CA_G2&#160;</td><td class="fielddoc"><p>DigiCert Assured ID Root G2 (SHA1: A1 4B 48 D9 43 EE 0A 0E 40 90 4F 3C E0 A4 C0 91 93 51 5D 3F) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a5737164a863092db725b1cdc97f733c6"></a>NSSL_SERVER_CERT_DIGICERT_GLOBAL_ROOT_CA_G2&#160;</td><td class="fielddoc"><p>DigiCert Global Root G2 (SHA1: DF 3C 24 F9 BF D6 66 76 1B 26 80 73 FE 06 D1 CC 8D 4F 82 A4) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a44a9bbe3dc071bfbc069373d1abee15b"></a>NSSL_SERVER_CERT_GROUP_COMMERCIAL_LAST&#160;</td><td class="fielddoc"><p>Represents the last certificate in the commerical CA group. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ad0d11f8a301e5a3dbee4a72b32191566"></a>NSSL_SERVER_CERT_GROUP_COMMERCIAL_4096_FIRST&#160;</td><td class="fielddoc"><p>Represents the first certificate in the 4096-bit commercial CA group. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162adda67afc42315c94cf30603a89cc25a4"></a>NSSL_SERVER_CERT_COMODO_RSA_CA&#160;</td><td class="fielddoc"><p>COMODO RSA Certification Authority (SHA1: AF E5 D2 44 A8 D1 19 42 30 FF 47 9F E2 F8 97 BB CD 7A 8C B4) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162ab3745a1b5dbfa1093f46603e761c2caa"></a>NSSL_SERVER_CERT_USERTRUST_RSA_CA&#160;</td><td class="fielddoc"><p>USERTrust RSA Certification Authority (SHA1: 2B 8F 1B 57 33 0D BB A2 D0 7A 6C 51 F7 0E E9 0D DA B9 AD 8E) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga38586a4d6115d2c6486aafefaf4fc162a731b672ccd58765c653866fd6e421db8"></a>NSSL_SERVER_CERT_GROUP_COMMERCIAL_4096_LAST&#160;</td><td class="fielddoc"><p>Represents the last certificate in the 4096-bit commercial CA group. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="nssl_8h_source.html#l00043">43</a> of file <a class="el" href="nssl_8h_source.html">nssl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga271f6d02a5a17553605ee6f4c5d92201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga271f6d02a5a17553605ee6f4c5d92201">&#9670;&nbsp;</a></span>NSSLInit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLInit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialises the NSSL library for use. </p>
<p>This must be called before any other NSSL functions.</p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a negative error code on failure.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><ul>
<li><a class="el" href="group__nsysnet__nssl.html#gabd6dd47f0a2f3698fd07c3336119fd60" title="Cleans up and finishes use of the NSSL library. ">NSSLFinish()</a> </li>
</ul>
</dd></dl>
</div>
</div>
<a id="gabd6dd47f0a2f3698fd07c3336119fd60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd6dd47f0a2f3698fd07c3336119fd60">&#9670;&nbsp;</a></span>NSSLFinish()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLFinish </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Cleans up and finishes use of the NSSL library. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 on error. </dd></dl>
</div>
</div>
<a id="gafd4a0686315bd9f7a4c99ece33cb74c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafd4a0686315bd9f7a4c99ece33cb74c8">&#9670;&nbsp;</a></span>NSSLCreateContext()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a> NSSLCreateContext </td>
<td>(</td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>unk</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a context to use with the NSSL library. </p>
<p>A context contains root CAs and connections.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">unk</td><td>Unknown. A value of 0 appears to work.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1" title="A handle to a NSSL context created with NSSLCreateContext(). ">NSSLContextHandle</a> representing the newly created context, or a negative value on error.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><ul>
<li><a class="el" href="group__nsysnet__nssl.html#ga2287e2c1ecb34493a1a3fe3359cc5ed1" title="Destroys a NSSL context. ">NSSLDestroyContext()</a> </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga2287e2c1ecb34493a1a3fe3359cc5ed1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2287e2c1ecb34493a1a3fe3359cc5ed1">&#9670;&nbsp;</a></span>NSSLDestroyContext()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLDestroyContext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a>&#160;</td>
<td class="paramname"><em>context</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroys a NSSL context. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The NSSL context to destroy.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a negative value if an error occured. </dd></dl>
</div>
</div>
<a id="gae26bc46ca42f79c3140119374c40cea5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae26bc46ca42f79c3140119374c40cea5">&#9670;&nbsp;</a></span>NSSLAddServerPKIExternal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLAddServerPKIExternal </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a>&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>cert</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>unk</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a custom root CA to the given NSSL context. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The NSSL context to add a root CA to.</td></tr>
<tr><td class="paramname">cert</td><td>A pointer to a buffer containing the certificate data.</td></tr>
<tr><td class="paramname">length</td><td>The length of the certificate buffer.</td></tr>
<tr><td class="paramname">unk</td><td>Unknown.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a negative value on error.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><ul>
<li><a class="el" href="group__nsysnet__nssl.html#ga29af65684bb6a2a238998b1282e9be1b" title="Add a system root CA (one of NSSLServerCertId) to the given NSSL context. ">NSSLAddServerPKI()</a> </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga29af65684bb6a2a238998b1282e9be1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga29af65684bb6a2a238998b1282e9be1b">&#9670;&nbsp;</a></span>NSSLAddServerPKI()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLAddServerPKI </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a>&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162">NSSLServerCertId</a>&#160;</td>
<td class="paramname"><em>pki</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a system root CA (one of <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162" title="The IDs of a system CA. ">NSSLServerCertId</a>) to the given NSSL context. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The NSSL context to add a root CA to.</td></tr>
<tr><td class="paramname">pki</td><td>The <a class="el" href="group__nsysnet__nssl.html#ga38586a4d6115d2c6486aafefaf4fc162" title="The IDs of a system CA. ">NSSLServerCertId</a> representing the system CA to add.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a negative value on error.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><ul>
<li><a class="el" href="group__nsysnet__nssl.html#gae26bc46ca42f79c3140119374c40cea5" title="Add a custom root CA to the given NSSL context. ">NSSLAddServerPKIExternal()</a> </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga6980469997f47e7f9712b549f807bfe4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6980469997f47e7f9712b549f807bfe4">&#9670;&nbsp;</a></span>NSSLCreateConnection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a> NSSLCreateConnection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#gae46155a7e0f590af119edb140d974cb1">NSSLContextHandle</a>&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>hostLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>block</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Open an SSL connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The context to open the connection under.</td></tr>
<tr><td class="paramname">host</td><td>The domain or IP of the host to connect to.</td></tr>
<tr><td class="paramname">hostLength</td><td>The length of the "host" buffer.</td></tr>
<tr><td class="paramname">options</td><td>Options for the underlying socket.</td></tr>
<tr><td class="paramname">socket</td><td>An existing socket to use for the connection, or NULL.</td></tr>
<tr><td class="paramname">block</td><td>If opening a new underlying socket, whether to open it in blocking mode.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54" title="A handle to a NSSL connection created with NSSLCreateConnection(). ">NSSLConnectionHandle</a> representing the current connection.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><ul>
<li><a class="el" href="group__nsysnet__nssl.html#ga6b734c16fb0ed64d42ae11cc2c583410" title="Read data from an open NSSL connection into a given buffer. ">NSSLRead()</a></li>
<li><a class="el" href="group__nsysnet__nssl.html#gac4f9fc85ec4f365aae566cb5205fcd91" title="Write data to an open NSSL connection from a given buffer. ">NSSLWrite()</a></li>
<li><a class="el" href="group__nsysnet__nssl.html#ga086f2b4473940cc47f13085184ecdb88" title="Close and destroy a NSSL connection. ">NSSLDestroyConnection()</a> </li>
</ul>
</dd></dl>
</div>
</div>
<a id="ga086f2b4473940cc47f13085184ecdb88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga086f2b4473940cc47f13085184ecdb88">&#9670;&nbsp;</a></span>NSSLDestroyConnection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLDestroyConnection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a>&#160;</td>
<td class="paramname"><em>connection</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Close and destroy a NSSL connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connection</td><td>The connection to destroy.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success or a negative error value. </dd></dl>
</div>
</div>
<a id="ga6b734c16fb0ed64d42ae11cc2c583410"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6b734c16fb0ed64d42ae11cc2c583410">&#9670;&nbsp;</a></span>NSSLRead()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLRead </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a>&#160;</td>
<td class="paramname"><em>connection</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t *&#160;</td>
<td class="paramname"><em>outBytesRead</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read data from an open NSSL connection into a given buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connection</td><td>The connection to read data from.</td></tr>
<tr><td class="paramname">buffer</td><td>A buffer to read decrypted data into.</td></tr>
<tr><td class="paramname">length</td><td>The length of the given buffer.</td></tr>
<tr><td class="paramname">outBytesRead</td><td>A pointer to write the actual number of read bytes into. This may be smaller than the input buffer.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a negative value on error.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><ul>
<li><a class="el" href="group__nsysnet__nssl.html#gac4f9fc85ec4f365aae566cb5205fcd91" title="Write data to an open NSSL connection from a given buffer. ">NSSLWrite()</a> </li>
</ul>
</dd></dl>
</div>
</div>
<a id="gac4f9fc85ec4f365aae566cb5205fcd91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac4f9fc85ec4f365aae566cb5205fcd91">&#9670;&nbsp;</a></span>NSSLWrite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t NSSLWrite </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__nsysnet__nssl.html#ga79622287731ba9edbbcc5a7a21ad2c54">NSSLConnectionHandle</a>&#160;</td>
<td class="paramname"><em>connection</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t *&#160;</td>
<td class="paramname"><em>outBytesWritten</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write data to an open NSSL connection from a given buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connection</td><td>The connection to write data to.</td></tr>
<tr><td class="paramname">buffer</td><td>A buffer containing the data to be sent.</td></tr>
<tr><td class="paramname">length</td><td>The length of the given buffer.</td></tr>
<tr><td class="paramname">outBytesWritten</td><td>A pointer to write the actual number of written bytes into. This may be smaller than the input buffer.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a negative value on error.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><ul>
<li><a class="el" href="group__nsysnet__nssl.html#ga6b734c16fb0ed64d42ae11cc2c583410" title="Read data from an open NSSL connection into a given buffer. ">NSSLRead()</a> </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>