sdk-ameba-v4.0c_180328/doc/api_doc/group__coap.html
2019-04-02 16:34:25 +08:00

2302 lines
131 KiB
HTML
Executable file

<!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.11"/>
<title>SDK3.5: COAP</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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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">SDK3.5
</div>
<div id="projectbrief">This document shows Ameba SDK 3.5 APIs</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</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="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#enumval-members">Enumerator</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">COAP<div class="ingroups"><a class="el" href="group__sdk.html">Ameba SDK</a> &raquo; <a class="el" href="group__network.html">Network</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>mbed CoAP APIs and Ameba wrappers
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsn__coap__options__list__.html">sn_coap_options_list_</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for CoAP Options. <a href="structsn__coap__options__list__.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsn__coap__hdr__.html">sn_coap_hdr_</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main CoAP message struct. <a href="structsn__coap__hdr__.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structregistration__info__.html">registration_info_</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used for creating manually registration message with sn_coap_register() <a href="structregistration__info__.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsn__nsdl__addr__.html">sn_nsdl_addr_</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address structure of Packet data. <a href="structsn__nsdl__addr__.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaf9efd1fa3a3c58bcddcd8e5f5a09b032"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf9efd1fa3a3c58bcddcd8e5f5a09b032"></a>
typedef enum <a class="el" href="group__coap.html#gac948c83575959f22cd87b02c247ae9f5">coap_version_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaf9efd1fa3a3c58bcddcd8e5f5a09b032">coap_version_e</a></td></tr>
<tr class="memdesc:gaf9efd1fa3a3c58bcddcd8e5f5a09b032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Version. <br /></td></tr>
<tr class="separator:gaf9efd1fa3a3c58bcddcd8e5f5a09b032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ddd2da009bf86ad83f64019081ac34c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ddd2da009bf86ad83f64019081ac34c"></a>
typedef enum <a class="el" href="group__coap.html#gae1614153357c1121ce822a00b2c2293d">sn_coap_msg_type_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga6ddd2da009bf86ad83f64019081ac34c">sn_coap_msg_type_e</a></td></tr>
<tr class="memdesc:ga6ddd2da009bf86ad83f64019081ac34c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Message type, used in CoAP Header. <br /></td></tr>
<tr class="separator:ga6ddd2da009bf86ad83f64019081ac34c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2c8c7417036ee77465e5177962d0455"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac2c8c7417036ee77465e5177962d0455"></a>
typedef enum <a class="el" href="group__coap.html#gafbdc8dd70f66bbece00badf805d1434d">sn_coap_msg_code_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gac2c8c7417036ee77465e5177962d0455">sn_coap_msg_code_e</a></td></tr>
<tr class="memdesc:gac2c8c7417036ee77465e5177962d0455"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Message code, used in CoAP Header. <br /></td></tr>
<tr class="separator:gac2c8c7417036ee77465e5177962d0455"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39c901eafd2f2a8be47daf18aeb14e24"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga39c901eafd2f2a8be47daf18aeb14e24"></a>
typedef enum <a class="el" href="group__coap.html#ga7e1857c6ffb73e3ef14968ad0d95a2a5">sn_coap_option_numbers_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga39c901eafd2f2a8be47daf18aeb14e24">sn_coap_option_numbers_e</a></td></tr>
<tr class="memdesc:ga39c901eafd2f2a8be47daf18aeb14e24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Option number, used in CoAP Header. <br /></td></tr>
<tr class="separator:ga39c901eafd2f2a8be47daf18aeb14e24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab63aed79b7d1cc8db38c45a255bf37f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab63aed79b7d1cc8db38c45a255bf37f2"></a>
typedef enum <a class="el" href="group__coap.html#ga59684aa6c35b020f309d037d4b2e30a1">sn_coap_content_format_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gab63aed79b7d1cc8db38c45a255bf37f2">sn_coap_content_format_e</a></td></tr>
<tr class="memdesc:gab63aed79b7d1cc8db38c45a255bf37f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Content Format codes. <br /></td></tr>
<tr class="separator:gab63aed79b7d1cc8db38c45a255bf37f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaddfd3452795ee13c4603613d93092f96"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__coap.html#ga4812fa835aae48adb994af470461260d">sn_coap_observe_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaddfd3452795ee13c4603613d93092f96">sn_coap_observe_e</a></td></tr>
<tr class="memdesc:gaddfd3452795ee13c4603613d93092f96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Observe option values. <a href="#gaddfd3452795ee13c4603613d93092f96">More...</a><br /></td></tr>
<tr class="separator:gaddfd3452795ee13c4603613d93092f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5785cc0fe52acd232ed0e07fe561f997"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5785cc0fe52acd232ed0e07fe561f997"></a>
typedef enum <a class="el" href="group__coap.html#ga694d02e174302d5eb033a144d8bec7b6">sn_coap_status_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga5785cc0fe52acd232ed0e07fe561f997">sn_coap_status_e</a></td></tr>
<tr class="memdesc:ga5785cc0fe52acd232ed0e07fe561f997"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP status, used in CoAP Header. <br /></td></tr>
<tr class="separator:ga5785cc0fe52acd232ed0e07fe561f997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53d117b7c5da476f085e72ff4dfa1e39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga53d117b7c5da476f085e72ff4dfa1e39"></a>
typedef struct <a class="el" href="structsn__coap__options__list__.html">sn_coap_options_list_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga53d117b7c5da476f085e72ff4dfa1e39">sn_coap_options_list_s</a></td></tr>
<tr class="memdesc:ga53d117b7c5da476f085e72ff4dfa1e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for CoAP Options. <br /></td></tr>
<tr class="separator:ga53d117b7c5da476f085e72ff4dfa1e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a52e89139fbb21b93186618be191a04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3a52e89139fbb21b93186618be191a04"></a>
typedef struct <a class="el" href="structsn__coap__hdr__.html">sn_coap_hdr_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a></td></tr>
<tr class="memdesc:ga3a52e89139fbb21b93186618be191a04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main CoAP message struct. <br /></td></tr>
<tr class="separator:ga3a52e89139fbb21b93186618be191a04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dc4870bb660d8db3b82af03b9c0ecd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7dc4870bb660d8db3b82af03b9c0ecd8"></a>
typedef enum <a class="el" href="group__coap.html#ga0969492dc63242b2aa3946d0a79f756b">sn_nsdl_capab_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga7dc4870bb660d8db3b82af03b9c0ecd8">sn_nsdl_capab_e</a></td></tr>
<tr class="memdesc:ga7dc4870bb660d8db3b82af03b9c0ecd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used protocol. <br /></td></tr>
<tr class="separator:ga7dc4870bb660d8db3b82af03b9c0ecd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ec704f029f841977a9765988000e0e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2ec704f029f841977a9765988000e0e0"></a>
typedef struct <a class="el" href="structregistration__info__.html">registration_info_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga2ec704f029f841977a9765988000e0e0">registration_info_t</a></td></tr>
<tr class="memdesc:ga2ec704f029f841977a9765988000e0e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used for creating manually registration message with sn_coap_register() <br /></td></tr>
<tr class="separator:ga2ec704f029f841977a9765988000e0e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd0cd7bf47eba289f9a04873c0d60a16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafd0cd7bf47eba289f9a04873c0d60a16"></a>
typedef enum <a class="el" href="group__coap.html#gaa79e2f954a9a6b14f564e1f428f618fe">sn_nsdl_addr_type_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gafd0cd7bf47eba289f9a04873c0d60a16">sn_nsdl_addr_type_e</a></td></tr>
<tr class="memdesc:gafd0cd7bf47eba289f9a04873c0d60a16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address type of given address. <br /></td></tr>
<tr class="separator:gafd0cd7bf47eba289f9a04873c0d60a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40901598735b221da45e0e701e3b10f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga40901598735b221da45e0e701e3b10f4"></a>
typedef struct <a class="el" href="structsn__nsdl__addr__.html">sn_nsdl_addr_</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a></td></tr>
<tr class="memdesc:ga40901598735b221da45e0e701e3b10f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address structure of Packet data. <br /></td></tr>
<tr class="separator:ga40901598735b221da45e0e701e3b10f4"><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:gac948c83575959f22cd87b02c247ae9f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac948c83575959f22cd87b02c247ae9f5"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gac948c83575959f22cd87b02c247ae9f5">coap_version_</a> { <b>COAP_VERSION_1</b> = 0x40,
<b>COAP_VERSION_UNKNOWN</b> = 0xFF
}<tr class="memdesc:gac948c83575959f22cd87b02c247ae9f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Version. <br /></td></tr>
</td></tr>
<tr class="separator:gac948c83575959f22cd87b02c247ae9f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1614153357c1121ce822a00b2c2293d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gae1614153357c1121ce822a00b2c2293d">sn_coap_msg_type_</a> { <a class="el" href="group__coap.html#ggae1614153357c1121ce822a00b2c2293daeac11476d9e8c20e4b464b07e3f5488d">COAP_MSG_TYPE_CONFIRMABLE</a> = 0x00,
<a class="el" href="group__coap.html#ggae1614153357c1121ce822a00b2c2293da7dc226ba80ea7fa95d6ff7c7e4b43b39">COAP_MSG_TYPE_NON_CONFIRMABLE</a> = 0x10,
<a class="el" href="group__coap.html#ggae1614153357c1121ce822a00b2c2293dacb9e26e6eeb031a1fa745bd54173bc0f">COAP_MSG_TYPE_ACKNOWLEDGEMENT</a> = 0x20,
<a class="el" href="group__coap.html#ggae1614153357c1121ce822a00b2c2293dae1019d0ea20993a74849ccd608c830ea">COAP_MSG_TYPE_RESET</a> = 0x30
}<tr class="memdesc:gae1614153357c1121ce822a00b2c2293d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Message type, used in CoAP Header. <a href="group__coap.html#gae1614153357c1121ce822a00b2c2293d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gae1614153357c1121ce822a00b2c2293d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbdc8dd70f66bbece00badf805d1434d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafbdc8dd70f66bbece00badf805d1434d"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gafbdc8dd70f66bbece00badf805d1434d">sn_coap_msg_code_</a> { <br />
&#160;&#160;<b>COAP_MSG_CODE_EMPTY</b> = 0,
<b>COAP_MSG_CODE_REQUEST_GET</b> = 1,
<b>COAP_MSG_CODE_REQUEST_POST</b> = 2,
<b>COAP_MSG_CODE_REQUEST_PUT</b> = 3,
<br />
&#160;&#160;<b>COAP_MSG_CODE_REQUEST_DELETE</b> = 4,
<b>COAP_MSG_CODE_RESPONSE_CREATED</b> = 65,
<b>COAP_MSG_CODE_RESPONSE_DELETED</b> = 66,
<b>COAP_MSG_CODE_RESPONSE_VALID</b> = 67,
<br />
&#160;&#160;<b>COAP_MSG_CODE_RESPONSE_CHANGED</b> = 68,
<b>COAP_MSG_CODE_RESPONSE_CONTENT</b> = 69,
<b>COAP_MSG_CODE_RESPONSE_CONTINUE</b> = 95,
<b>COAP_MSG_CODE_RESPONSE_BAD_REQUEST</b> = 128,
<br />
&#160;&#160;<b>COAP_MSG_CODE_RESPONSE_UNAUTHORIZED</b> = 129,
<b>COAP_MSG_CODE_RESPONSE_BAD_OPTION</b> = 130,
<b>COAP_MSG_CODE_RESPONSE_FORBIDDEN</b> = 131,
<b>COAP_MSG_CODE_RESPONSE_NOT_FOUND</b> = 132,
<br />
&#160;&#160;<b>COAP_MSG_CODE_RESPONSE_METHOD_NOT_ALLOWED</b> = 133,
<b>COAP_MSG_CODE_RESPONSE_NOT_ACCEPTABLE</b> = 134,
<b>COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_INCOMPLETE</b> = 136,
<b>COAP_MSG_CODE_RESPONSE_PRECONDITION_FAILED</b> = 140,
<br />
&#160;&#160;<b>COAP_MSG_CODE_RESPONSE_REQUEST_ENTITY_TOO_LARGE</b> = 141,
<b>COAP_MSG_CODE_RESPONSE_UNSUPPORTED_CONTENT_FORMAT</b> = 143,
<b>COAP_MSG_CODE_RESPONSE_INTERNAL_SERVER_ERROR</b> = 160,
<b>COAP_MSG_CODE_RESPONSE_NOT_IMPLEMENTED</b> = 161,
<br />
&#160;&#160;<b>COAP_MSG_CODE_RESPONSE_BAD_GATEWAY</b> = 162,
<b>COAP_MSG_CODE_RESPONSE_SERVICE_UNAVAILABLE</b> = 163,
<b>COAP_MSG_CODE_RESPONSE_GATEWAY_TIMEOUT</b> = 164,
<b>COAP_MSG_CODE_RESPONSE_PROXYING_NOT_SUPPORTED</b> = 165
<br />
}<tr class="memdesc:gafbdc8dd70f66bbece00badf805d1434d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Message code, used in CoAP Header. <br /></td></tr>
</td></tr>
<tr class="separator:gafbdc8dd70f66bbece00badf805d1434d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e1857c6ffb73e3ef14968ad0d95a2a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7e1857c6ffb73e3ef14968ad0d95a2a5"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga7e1857c6ffb73e3ef14968ad0d95a2a5">sn_coap_option_numbers_</a> { <br />
&#160;&#160;<b>COAP_OPTION_IF_MATCH</b> = 1,
<b>COAP_OPTION_URI_HOST</b> = 3,
<b>COAP_OPTION_ETAG</b> = 4,
<b>COAP_OPTION_IF_NONE_MATCH</b> = 5,
<br />
&#160;&#160;<b>COAP_OPTION_OBSERVE</b> = 6,
<b>COAP_OPTION_URI_PORT</b> = 7,
<b>COAP_OPTION_LOCATION_PATH</b> = 8,
<b>COAP_OPTION_URI_PATH</b> = 11,
<br />
&#160;&#160;<b>COAP_OPTION_CONTENT_FORMAT</b> = 12,
<b>COAP_OPTION_MAX_AGE</b> = 14,
<b>COAP_OPTION_URI_QUERY</b> = 15,
<b>COAP_OPTION_ACCEPT</b> = 17,
<br />
&#160;&#160;<b>COAP_OPTION_LOCATION_QUERY</b> = 20,
<b>COAP_OPTION_BLOCK2</b> = 23,
<b>COAP_OPTION_BLOCK1</b> = 27,
<b>COAP_OPTION_SIZE2</b> = 28,
<br />
&#160;&#160;<b>COAP_OPTION_PROXY_URI</b> = 35,
<b>COAP_OPTION_PROXY_SCHEME</b> = 39,
<b>COAP_OPTION_SIZE1</b> = 60
<br />
}<tr class="memdesc:ga7e1857c6ffb73e3ef14968ad0d95a2a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Option number, used in CoAP Header. <br /></td></tr>
</td></tr>
<tr class="separator:ga7e1857c6ffb73e3ef14968ad0d95a2a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59684aa6c35b020f309d037d4b2e30a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga59684aa6c35b020f309d037d4b2e30a1"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga59684aa6c35b020f309d037d4b2e30a1">sn_coap_content_format_</a> { <br />
&#160;&#160;<b>COAP_CT_NONE</b> = -1,
<b>COAP_CT_TEXT_PLAIN</b> = 0,
<b>COAP_CT_LINK_FORMAT</b> = 40,
<b>COAP_CT_XML</b> = 41,
<br />
&#160;&#160;<b>COAP_CT_OCTET_STREAM</b> = 42,
<b>COAP_CT_EXI</b> = 47,
<b>COAP_CT_JSON</b> = 50,
<b>COAP_CT__MAX</b> = 0xffff
<br />
}<tr class="memdesc:ga59684aa6c35b020f309d037d4b2e30a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Content Format codes. <br /></td></tr>
</td></tr>
<tr class="separator:ga59684aa6c35b020f309d037d4b2e30a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4812fa835aae48adb994af470461260d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga4812fa835aae48adb994af470461260d">sn_coap_observe_</a> { <b>COAP_OBSERVE_NONE</b> = -1,
<b>COAP_OBSERVE_REGISTER</b> = 0,
<b>COAP_OBSERVE_DEREGISTER</b> = 1,
<b>COAP_OBSERVE__MAX</b> = 0xffffff
}<tr class="memdesc:ga4812fa835aae48adb994af470461260d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP Observe option values. <a href="group__coap.html#ga4812fa835aae48adb994af470461260d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga4812fa835aae48adb994af470461260d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga694d02e174302d5eb033a144d8bec7b6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga694d02e174302d5eb033a144d8bec7b6">sn_coap_status_</a> { <br />
&#160;&#160;<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6a42c821f9a3d08e879af1e52482adc4b1">COAP_STATUS_OK</a> = 0,
<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6a4765560ab4ce2350cb38c661bfd7124a">COAP_STATUS_PARSER_ERROR_IN_HEADER</a> = 1,
<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6ab8ffe45bd6654f3e8b1d179fabad741a">COAP_STATUS_PARSER_DUPLICATED_MSG</a> = 2,
<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6a97a28c97810a9cc70701d203478df22b">COAP_STATUS_PARSER_BLOCKWISE_MSG_RECEIVING</a> = 3,
<br />
&#160;&#160;<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6a5172d027323897d435285ed2ac79a8d8">COAP_STATUS_PARSER_BLOCKWISE_ACK</a> = 4,
<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6a8fdd59079ac4d82ba36a31293f548581">COAP_STATUS_PARSER_BLOCKWISE_MSG_REJECTED</a> = 5,
<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6a3bfe3d484269b3f95ea270458ab918cb">COAP_STATUS_PARSER_BLOCKWISE_MSG_RECEIVED</a> = 6,
<a class="el" href="group__coap.html#gga694d02e174302d5eb033a144d8bec7b6a8ca88652e2970108cfde34c5870bfbd3">COAP_STATUS_BUILDER_MESSAGE_SENDING_FAILED</a> = 7
<br />
}<tr class="memdesc:ga694d02e174302d5eb033a144d8bec7b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for CoAP status, used in CoAP Header. <a href="group__coap.html#ga694d02e174302d5eb033a144d8bec7b6">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga694d02e174302d5eb033a144d8bec7b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0969492dc63242b2aa3946d0a79f756b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga0969492dc63242b2aa3946d0a79f756b">sn_nsdl_capab_</a> { <a class="el" href="group__coap.html#gga0969492dc63242b2aa3946d0a79f756ba5fda451925f1db03222285d3fdcd364f">SN_NSDL_PROTOCOL_HTTP</a> = 0x01,
<a class="el" href="group__coap.html#gga0969492dc63242b2aa3946d0a79f756bad3393066833411ae0ad92f085814c72d">SN_NSDL_PROTOCOL_HTTPS</a> = 0x02,
<a class="el" href="group__coap.html#gga0969492dc63242b2aa3946d0a79f756ba50104d8371f55ab2e51acb8f2974e4a6">SN_NSDL_PROTOCOL_COAP</a> = 0x04
}<tr class="memdesc:ga0969492dc63242b2aa3946d0a79f756b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used protocol. <a href="group__coap.html#ga0969492dc63242b2aa3946d0a79f756b">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga0969492dc63242b2aa3946d0a79f756b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa79e2f954a9a6b14f564e1f428f618fe"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaa79e2f954a9a6b14f564e1f428f618fe">sn_nsdl_addr_type_</a> { <a class="el" href="group__coap.html#ggaa79e2f954a9a6b14f564e1f428f618feaf11a6d113c6e9572019bce1da78dc48d">SN_NSDL_ADDRESS_TYPE_IPV6</a> = 0x01,
<a class="el" href="group__coap.html#ggaa79e2f954a9a6b14f564e1f428f618feaf2fd536d9027140a1338225d4d6a113f">SN_NSDL_ADDRESS_TYPE_IPV4</a> = 0x02,
<a class="el" href="group__coap.html#ggaa79e2f954a9a6b14f564e1f428f618feac66a97d86630742f8a0f8aae4de6e3fa">SN_NSDL_ADDRESS_TYPE_HOSTNAME</a> = 0x03,
<b>SN_NSDL_ADDRESS_TYPE_NONE</b> = 0xFF
}<tr class="memdesc:gaa79e2f954a9a6b14f564e1f428f618fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address type of given address. <a href="group__coap.html#gaa79e2f954a9a6b14f564e1f428f618fe">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaa79e2f954a9a6b14f564e1f428f618fe"><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:ga9cb853d921970bfcfac643f373f107de"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga9cb853d921970bfcfac643f373f107de">randLIB_get_16bit</a> (void)</td></tr>
<tr class="memdesc:ga9cb853d921970bfcfac643f373f107de"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is called in <b><a class="el" href="group__coap.html#ga9113e5503267462b7bab78ca378972d7" title="Initializes CoAP Protocol part. When using libNsdl, sn_nsdl_init() calls this function. ">sn_coap_protocol_init()</a></b> for ramdom message ID. <a href="#ga9cb853d921970bfcfac643f373f107de">More...</a><br /></td></tr>
<tr class="separator:ga9cb853d921970bfcfac643f373f107de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02a4a4dbe404714d44c466d81d1e0ab4"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga02a4a4dbe404714d44c466d81d1e0ab4">coap_malloc</a> (uint16_t size)</td></tr>
<tr class="memdesc:ga02a4a4dbe404714d44c466d81d1e0ab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ameba <b>malloc()</b> function wrapper. <a href="#ga02a4a4dbe404714d44c466d81d1e0ab4">More...</a><br /></td></tr>
<tr class="separator:ga02a4a4dbe404714d44c466d81d1e0ab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19cab359bb9b844e028781c45b7fa725"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga19cab359bb9b844e028781c45b7fa725">coap_free</a> (void *addr)</td></tr>
<tr class="memdesc:ga19cab359bb9b844e028781c45b7fa725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ameba <b>free()</b> function wrapper. <a href="#ga19cab359bb9b844e028781c45b7fa725">More...</a><br /></td></tr>
<tr class="separator:ga19cab359bb9b844e028781c45b7fa725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24affe819b3a530499443a7f05f11ff5"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga24affe819b3a530499443a7f05f11ff5">coap_calloc</a> (uint32_t size)</td></tr>
<tr class="memdesc:ga24affe819b3a530499443a7f05f11ff5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ameba <b>calloc()</b> function wrapper, the effective result is the allocation of a zero-initialized memory block of <em>size</em> bytes. <a href="#ga24affe819b3a530499443a7f05f11ff5">More...</a><br /></td></tr>
<tr class="separator:ga24affe819b3a530499443a7f05f11ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79900b796f82ebd74ffe4f92eda4550a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga79900b796f82ebd74ffe4f92eda4550a">coap_sock_open</a> (void)</td></tr>
<tr class="memdesc:ga79900b796f82ebd74ffe4f92eda4550a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ameba <b>socket()</b> function wrapper, creates a <b>Datagrams type</b> i.e. <em>SOCK_DGRAM</em> socket. <a href="#ga79900b796f82ebd74ffe4f92eda4550a">More...</a><br /></td></tr>
<tr class="separator:ga79900b796f82ebd74ffe4f92eda4550a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9582617798935fcbb96d0602c097663"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaa9582617798935fcbb96d0602c097663">coap_sock_close</a> (int socket_fd)</td></tr>
<tr class="memdesc:gaa9582617798935fcbb96d0602c097663"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ameba <b>close()</b> function wrapper, closes a socket file descriptor. <a href="#gaa9582617798935fcbb96d0602c097663">More...</a><br /></td></tr>
<tr class="separator:gaa9582617798935fcbb96d0602c097663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c0a779f2fef21cdd70dbe3b977becf6"><td class="memItemLeft" align="right" valign="top">struct coap_s *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga4c0a779f2fef21cdd70dbe3b977becf6">coap_protocol_init</a> (uint8_t(*coap_tx_callback)(uint8_t *, uint16_t, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *), int8_t(*coap_rx_callback)(<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *))</td></tr>
<tr class="memdesc:ga4c0a779f2fef21cdd70dbe3b977becf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ameba <b><a class="el" href="group__coap.html#ga9113e5503267462b7bab78ca378972d7" title="Initializes CoAP Protocol part. When using libNsdl, sn_nsdl_init() calls this function. ">sn_coap_protocol_init()</a></b> function wrapper, initializes CoAP Protocol part. <a href="#ga4c0a779f2fef21cdd70dbe3b977becf6">More...</a><br /></td></tr>
<tr class="separator:ga4c0a779f2fef21cdd70dbe3b977becf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5adde71e3dd006172b1b141c1303126"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gad5adde71e3dd006172b1b141c1303126">coap_send</a> (char *to_address, uint16_t port, int socket, <a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *coap_msg_hdr)</td></tr>
<tr class="memdesc:gad5adde71e3dd006172b1b141c1303126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send the constructed CoAP message to designated host address on the specific port number. <a href="#gad5adde71e3dd006172b1b141c1303126">More...</a><br /></td></tr>
<tr class="separator:gad5adde71e3dd006172b1b141c1303126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae35121750e76719d7092963560d17737"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gae35121750e76719d7092963560d17737">coap_recv</a> (int socket, struct sockaddr_in *from_address, void *buf, uint32_t buf_size)</td></tr>
<tr class="memdesc:gae35121750e76719d7092963560d17737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive the constructed CoAP message from host. <a href="#gae35121750e76719d7092963560d17737">More...</a><br /></td></tr>
<tr class="separator:gae35121750e76719d7092963560d17737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3f6f53b07f09e79ea3527e181b0e470"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gab3f6f53b07f09e79ea3527e181b0e470">coap_print_hdr</a> (<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *parsed_hdr)</td></tr>
<tr class="memdesc:gab3f6f53b07f09e79ea3527e181b0e470"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print CoAP message header (for debug use) <a href="#gab3f6f53b07f09e79ea3527e181b0e470">More...</a><br /></td></tr>
<tr class="separator:gab3f6f53b07f09e79ea3527e181b0e470"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80104792c9673afa8412879e0cb2d9cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga80104792c9673afa8412879e0cb2d9cc">sn_coap_parser</a> (struct coap_s *handle, uint16_t packet_data_len, uint8_t *packet_data_ptr, <a class="el" href="group__coap.html#gaf9efd1fa3a3c58bcddcd8e5f5a09b032">coap_version_e</a> *coap_version_ptr)</td></tr>
<tr class="memdesc:ga80104792c9673afa8412879e0cb2d9cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses CoAP message from given Packet data. <a href="#ga80104792c9673afa8412879e0cb2d9cc">More...</a><br /></td></tr>
<tr class="separator:ga80104792c9673afa8412879e0cb2d9cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga69067137006ea18c05114816e4ab8723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga69067137006ea18c05114816e4ab8723">sn_coap_parser_release_allocated_coap_msg_mem</a> (struct coap_s *handle, <a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *freed_coap_msg_ptr)</td></tr>
<tr class="memdesc:ga69067137006ea18c05114816e4ab8723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases memory of given CoAP message. <a href="#ga69067137006ea18c05114816e4ab8723">More...</a><br /></td></tr>
<tr class="separator:ga69067137006ea18c05114816e4ab8723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1154e1630130b2b4cfffd3a10259d2a8"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga1154e1630130b2b4cfffd3a10259d2a8">sn_coap_builder</a> (uint8_t *dst_packet_data_ptr, <a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *src_coap_msg_ptr)</td></tr>
<tr class="memdesc:ga1154e1630130b2b4cfffd3a10259d2a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds an outgoing message buffer from a CoAP header structure. <a href="#ga1154e1630130b2b4cfffd3a10259d2a8">More...</a><br /></td></tr>
<tr class="separator:ga1154e1630130b2b4cfffd3a10259d2a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaac235555ebad7eb13949aa18d5e783f"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaaac235555ebad7eb13949aa18d5e783f">sn_coap_builder_calc_needed_packet_data_size</a> (<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *src_coap_msg_ptr)</td></tr>
<tr class="memdesc:gaaac235555ebad7eb13949aa18d5e783f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates needed Packet data memory size for given CoAP message. <a href="#gaaac235555ebad7eb13949aa18d5e783f">More...</a><br /></td></tr>
<tr class="separator:gaaac235555ebad7eb13949aa18d5e783f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga174db4c5a65f5a12f28855a2d62fe41d"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga174db4c5a65f5a12f28855a2d62fe41d">sn_coap_builder_2</a> (uint8_t *dst_packet_data_ptr, <a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *src_coap_msg_ptr, uint16_t blockwise_payload_size)</td></tr>
<tr class="memdesc:ga174db4c5a65f5a12f28855a2d62fe41d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds an outgoing message buffer from a CoAP header structure. <a href="#ga174db4c5a65f5a12f28855a2d62fe41d">More...</a><br /></td></tr>
<tr class="separator:ga174db4c5a65f5a12f28855a2d62fe41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5d0769a114c570b1a4d8c97e9173415"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gad5d0769a114c570b1a4d8c97e9173415">sn_coap_builder_calc_needed_packet_data_size_2</a> (<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *src_coap_msg_ptr, uint16_t blockwise_payload_size)</td></tr>
<tr class="memdesc:gad5d0769a114c570b1a4d8c97e9173415"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates needed Packet data memory size for given CoAP message. <a href="#gad5d0769a114c570b1a4d8c97e9173415">More...</a><br /></td></tr>
<tr class="separator:gad5d0769a114c570b1a4d8c97e9173415"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60064d3b286da3b3aba41848934ad8f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga60064d3b286da3b3aba41848934ad8f6">sn_coap_build_response</a> (struct coap_s *handle, <a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *coap_packet_ptr, uint8_t msg_code)</td></tr>
<tr class="memdesc:ga60064d3b286da3b3aba41848934ad8f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares generic response packet from a request packet. This function allocates memory for the resulting sn_coap_hdr_s. <a href="#ga60064d3b286da3b3aba41848934ad8f6">More...</a><br /></td></tr>
<tr class="separator:ga60064d3b286da3b3aba41848934ad8f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9ac3f8363bb8fb97f812c715b41ba88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gab9ac3f8363bb8fb97f812c715b41ba88">sn_coap_parser_init_message</a> (<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *coap_msg_ptr)</td></tr>
<tr class="memdesc:gab9ac3f8363bb8fb97f812c715b41ba88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise a message structure to empty. <a href="#gab9ac3f8363bb8fb97f812c715b41ba88">More...</a><br /></td></tr>
<tr class="separator:gab9ac3f8363bb8fb97f812c715b41ba88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga390079da13bcb662d7cc70c77b0070ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga390079da13bcb662d7cc70c77b0070ec">sn_coap_parser_alloc_message</a> (struct coap_s *handle)</td></tr>
<tr class="memdesc:ga390079da13bcb662d7cc70c77b0070ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate an empty message structure. <a href="#ga390079da13bcb662d7cc70c77b0070ec">More...</a><br /></td></tr>
<tr class="separator:ga390079da13bcb662d7cc70c77b0070ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga864cefe478283076dd8c09a452c0894f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga53d117b7c5da476f085e72ff4dfa1e39">sn_coap_options_list_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga864cefe478283076dd8c09a452c0894f">sn_coap_parser_alloc_options</a> (struct coap_s *handle, <a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *coap_msg_ptr)</td></tr>
<tr class="memdesc:ga864cefe478283076dd8c09a452c0894f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates and initializes options list structure. <a href="#ga864cefe478283076dd8c09a452c0894f">More...</a><br /></td></tr>
<tr class="separator:ga864cefe478283076dd8c09a452c0894f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9113e5503267462b7bab78ca378972d7"><td class="memItemLeft" align="right" valign="top">struct coap_s *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga9113e5503267462b7bab78ca378972d7">sn_coap_protocol_init</a> (void *(*used_malloc_func_ptr)(uint16_t), void(*used_free_func_ptr)(void *), uint8_t(*used_tx_callback_ptr)(uint8_t *, uint16_t, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *), int8_t(*used_rx_callback_ptr)(<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *))</td></tr>
<tr class="memdesc:ga9113e5503267462b7bab78ca378972d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes CoAP Protocol part. When using libNsdl, sn_nsdl_init() calls this function. <a href="#ga9113e5503267462b7bab78ca378972d7">More...</a><br /></td></tr>
<tr class="separator:ga9113e5503267462b7bab78ca378972d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a8f99056af7c1a8a8880708c46b72d8"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga9a8f99056af7c1a8a8880708c46b72d8">sn_coap_protocol_destroy</a> (struct coap_s *handle)</td></tr>
<tr class="memdesc:ga9a8f99056af7c1a8a8880708c46b72d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all memory from CoAP protocol part. <a href="#ga9a8f99056af7c1a8a8880708c46b72d8">More...</a><br /></td></tr>
<tr class="separator:ga9a8f99056af7c1a8a8880708c46b72d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga142f9cb4f67a4ae94138b262969a9a65"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga142f9cb4f67a4ae94138b262969a9a65">sn_coap_protocol_build</a> (struct coap_s *handle, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *dst_addr_ptr, uint8_t *dst_packet_data_ptr, <a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *src_coap_msg_ptr, void *param)</td></tr>
<tr class="memdesc:ga142f9cb4f67a4ae94138b262969a9a65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds Packet data from given CoAP header structure to be sent. <a href="#ga142f9cb4f67a4ae94138b262969a9a65">More...</a><br /></td></tr>
<tr class="separator:ga142f9cb4f67a4ae94138b262969a9a65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadd6e5537265e26823babae9f6e85610"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaadd6e5537265e26823babae9f6e85610">sn_coap_protocol_parse</a> (struct coap_s *handle, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *src_addr_ptr, uint16_t packet_data_len, uint8_t *packet_data_ptr, void *param)</td></tr>
<tr class="memdesc:gaadd6e5537265e26823babae9f6e85610"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses received CoAP message from given Packet data. <a href="#gaadd6e5537265e26823babae9f6e85610">More...</a><br /></td></tr>
<tr class="separator:gaadd6e5537265e26823babae9f6e85610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0b59b7758588e49380bfcc79a39b6d4"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaf0b59b7758588e49380bfcc79a39b6d4">sn_coap_protocol_exec</a> (struct coap_s *handle, uint32_t current_time)</td></tr>
<tr class="memdesc:gaf0b59b7758588e49380bfcc79a39b6d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends CoAP messages from re-sending queue, if there is any. Cleans also old messages from the duplication list and from block receiving list. <a href="#gaf0b59b7758588e49380bfcc79a39b6d4">More...</a><br /></td></tr>
<tr class="separator:gaf0b59b7758588e49380bfcc79a39b6d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf3b06868caaeeeb89533d432d4c05d8"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaaf3b06868caaeeeb89533d432d4c05d8">sn_coap_protocol_set_block_size</a> (struct coap_s *handle, uint16_t block_size)</td></tr>
<tr class="memdesc:gaaf3b06868caaeeeb89533d432d4c05d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">If block transfer is enabled, this function changes the block size. <a href="#gaaf3b06868caaeeeb89533d432d4c05d8">More...</a><br /></td></tr>
<tr class="separator:gaaf3b06868caaeeeb89533d432d4c05d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93a7f28d1089d6f10b2133c7ba89b81a"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga93a7f28d1089d6f10b2133c7ba89b81a">sn_coap_protocol_set_duplicate_buffer_size</a> (struct coap_s *handle, uint8_t message_count)</td></tr>
<tr class="memdesc:ga93a7f28d1089d6f10b2133c7ba89b81a"><td class="mdescLeft">&#160;</td><td class="mdescRight">If dublicate message detection is enabled, this function changes buffer size. <a href="#ga93a7f28d1089d6f10b2133c7ba89b81a">More...</a><br /></td></tr>
<tr class="separator:ga93a7f28d1089d6f10b2133c7ba89b81a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef16336455064c5baa92f3f3d9738a35"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaef16336455064c5baa92f3f3d9738a35">sn_coap_protocol_set_retransmission_parameters</a> (struct coap_s *handle, uint8_t resending_count, uint8_t resending_interval)</td></tr>
<tr class="memdesc:gaef16336455064c5baa92f3f3d9738a35"><td class="mdescLeft">&#160;</td><td class="mdescRight">If re-transmissions are enabled, this function changes resending count and interval. <a href="#gaef16336455064c5baa92f3f3d9738a35">More...</a><br /></td></tr>
<tr class="separator:gaef16336455064c5baa92f3f3d9738a35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga460f5825ac70f0856376a70b95a22a7e"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga460f5825ac70f0856376a70b95a22a7e">sn_coap_protocol_set_retransmission_buffer</a> (struct coap_s *handle, uint8_t buffer_size_messages, uint16_t buffer_size_bytes)</td></tr>
<tr class="memdesc:ga460f5825ac70f0856376a70b95a22a7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">If re-transmissions are enabled, this function changes message retransmission queue size. Set size to '0' to disable feature. If both are set to '0', then re-sendings are disabled. <a href="#ga460f5825ac70f0856376a70b95a22a7e">More...</a><br /></td></tr>
<tr class="separator:ga460f5825ac70f0856376a70b95a22a7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f77f3103eb61915110405c46f00ec9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga1f77f3103eb61915110405c46f00ec9c">sn_coap_protocol_clear_retransmission_buffer</a> (struct coap_s *handle)</td></tr>
<tr class="memdesc:ga1f77f3103eb61915110405c46f00ec9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">If re-transmissions are enabled, this function removes all messages from the retransmission queue. <a href="#ga1f77f3103eb61915110405c46f00ec9c">More...</a><br /></td></tr>
<tr class="separator:ga1f77f3103eb61915110405c46f00ec9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa15b043f4e50fb189279eed6c636d99f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaa15b043f4e50fb189279eed6c636d99f">sn_coap_protocol_block_remove</a> (struct coap_s *handle, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *source_address, uint16_t payload_length, void *payload)</td></tr>
<tr class="memdesc:gaa15b043f4e50fb189279eed6c636d99f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove saved block data. Can be used to remove the data from RAM to enable storing it to other place. <a href="#gaa15b043f4e50fb189279eed6c636d99f">More...</a><br /></td></tr>
<tr class="separator:gaa15b043f4e50fb189279eed6c636d99f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga886ae23b591e7a1099e921714b3e5f2e"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga886ae23b591e7a1099e921714b3e5f2e">sn_coap_protocol_delete_retransmission</a> (struct coap_s *handle, uint16_t msg_id)</td></tr>
<tr class="memdesc:ga886ae23b591e7a1099e921714b3e5f2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">If re-transmissions are enabled, this function removes message from retransmission buffer. <a href="#ga886ae23b591e7a1099e921714b3e5f2e">More...</a><br /></td></tr>
<tr class="separator:ga886ae23b591e7a1099e921714b3e5f2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga93424b64d91125f085b269cf41969b8c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga93424b64d91125f085b269cf41969b8c">etag_len</a></td></tr>
<tr class="separator:ga93424b64d91125f085b269cf41969b8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab66cb68988da88e9251c3ce876198cbe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab66cb68988da88e9251c3ce876198cbe"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>use_size1</b>:1</td></tr>
<tr class="separator:gab66cb68988da88e9251c3ce876198cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga653ed69341ea7b1eafe0e32076fe96fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga653ed69341ea7b1eafe0e32076fe96fc"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>use_size2</b>:1</td></tr>
<tr class="separator:ga653ed69341ea7b1eafe0e32076fe96fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbbc510c18f83de423f570a2c6af4036"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gafbbc510c18f83de423f570a2c6af4036">proxy_uri_len</a></td></tr>
<tr class="separator:gafbbc510c18f83de423f570a2c6af4036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3a8ca701d0407fa7e0fadba5446d49f"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gae3a8ca701d0407fa7e0fadba5446d49f">uri_host_len</a></td></tr>
<tr class="separator:gae3a8ca701d0407fa7e0fadba5446d49f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9c4b5ef82fb26e402feb4035ffbc5fe"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaf9c4b5ef82fb26e402feb4035ffbc5fe">location_path_len</a></td></tr>
<tr class="separator:gaf9c4b5ef82fb26e402feb4035ffbc5fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3be8a249550d7fd110a9c12102e5217a"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga3be8a249550d7fd110a9c12102e5217a">location_query_len</a></td></tr>
<tr class="separator:ga3be8a249550d7fd110a9c12102e5217a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ec2a675af616e153d1a634eeeb0b9da"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga1ec2a675af616e153d1a634eeeb0b9da">uri_query_len</a></td></tr>
<tr class="separator:ga1ec2a675af616e153d1a634eeeb0b9da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82ed8fb79cc74e619a5f772b4a6ffb70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#gab63aed79b7d1cc8db38c45a255bf37f2">sn_coap_content_format_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga82ed8fb79cc74e619a5f772b4a6ffb70">accept</a></td></tr>
<tr class="separator:ga82ed8fb79cc74e619a5f772b4a6ffb70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga133ffb4f4820f23f21609e636c5b05d8"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga133ffb4f4820f23f21609e636c5b05d8">max_age</a></td></tr>
<tr class="separator:ga133ffb4f4820f23f21609e636c5b05d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19eb70d95ea49b0491f94c24f3163357"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga19eb70d95ea49b0491f94c24f3163357">size1</a></td></tr>
<tr class="separator:ga19eb70d95ea49b0491f94c24f3163357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga140a6c30a1d7c5e570cddd2f3c2e40df"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga140a6c30a1d7c5e570cddd2f3c2e40df">size2</a></td></tr>
<tr class="separator:ga140a6c30a1d7c5e570cddd2f3c2e40df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7636ae4a3611ac56882f5a24cd47a1d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gab7636ae4a3611ac56882f5a24cd47a1d">uri_port</a></td></tr>
<tr class="separator:gab7636ae4a3611ac56882f5a24cd47a1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1c1582dc485318529f4f6370bb6e3be"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gac1c1582dc485318529f4f6370bb6e3be">observe</a></td></tr>
<tr class="separator:gac1c1582dc485318529f4f6370bb6e3be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5da0558e1bcefc8c7dda93aa48235f4a"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga5da0558e1bcefc8c7dda93aa48235f4a">block1</a></td></tr>
<tr class="separator:ga5da0558e1bcefc8c7dda93aa48235f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba2a0847724032eaf4f6308a19834997"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaba2a0847724032eaf4f6308a19834997">block2</a></td></tr>
<tr class="separator:gaba2a0847724032eaf4f6308a19834997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a0109ddeb7ba71212b7d72c08e19335"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga3a0109ddeb7ba71212b7d72c08e19335">proxy_uri_ptr</a></td></tr>
<tr class="separator:ga3a0109ddeb7ba71212b7d72c08e19335"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47d10865fb05183201e6d1a3acad5a1b"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga47d10865fb05183201e6d1a3acad5a1b">etag_ptr</a></td></tr>
<tr class="separator:ga47d10865fb05183201e6d1a3acad5a1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95c21c30367e5bf3b726142a2c543cf1"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga95c21c30367e5bf3b726142a2c543cf1">uri_host_ptr</a></td></tr>
<tr class="separator:ga95c21c30367e5bf3b726142a2c543cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf418940008b266f7e36451db10e19f62"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaf418940008b266f7e36451db10e19f62">location_path_ptr</a></td></tr>
<tr class="separator:gaf418940008b266f7e36451db10e19f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaacce21259951d64257edbbaac4c75cc0"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaacce21259951d64257edbbaac4c75cc0">location_query_ptr</a></td></tr>
<tr class="separator:gaacce21259951d64257edbbaac4c75cc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9e7377fc0741032228a19a65ce8fa52"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaa9e7377fc0741032228a19a65ce8fa52">uri_query_ptr</a></td></tr>
<tr class="separator:gaa9e7377fc0741032228a19a65ce8fa52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa7c87ced54c328adba1b7eee99050e76"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaa7c87ced54c328adba1b7eee99050e76">token_len</a></td></tr>
<tr class="separator:gaa7c87ced54c328adba1b7eee99050e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f497fe811f178c8f6d3a7424538be18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga5785cc0fe52acd232ed0e07fe561f997">sn_coap_status_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga2f497fe811f178c8f6d3a7424538be18">coap_status</a></td></tr>
<tr class="separator:ga2f497fe811f178c8f6d3a7424538be18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0358952aa4e5850b36172dcaf7a70d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#gac2c8c7417036ee77465e5177962d0455">sn_coap_msg_code_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gab0358952aa4e5850b36172dcaf7a70d4">msg_code</a></td></tr>
<tr class="separator:gab0358952aa4e5850b36172dcaf7a70d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f827cd835e5cf02f2dfc3ff92596adf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga6ddd2da009bf86ad83f64019081ac34c">sn_coap_msg_type_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga5f827cd835e5cf02f2dfc3ff92596adf">msg_type</a></td></tr>
<tr class="separator:ga5f827cd835e5cf02f2dfc3ff92596adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0899e4446bcd3cec2cbe89658584babc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#gab63aed79b7d1cc8db38c45a255bf37f2">sn_coap_content_format_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga0899e4446bcd3cec2cbe89658584babc">content_format</a></td></tr>
<tr class="separator:ga0899e4446bcd3cec2cbe89658584babc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga689014fc11d4f26d264ddae2eaebc9d8"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga689014fc11d4f26d264ddae2eaebc9d8">msg_id</a></td></tr>
<tr class="separator:ga689014fc11d4f26d264ddae2eaebc9d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga406164cae7d27f250c980ca69534a24d"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga406164cae7d27f250c980ca69534a24d">uri_path_len</a></td></tr>
<tr class="separator:ga406164cae7d27f250c980ca69534a24d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga275f869dbba91f4716540a49b6c22532"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga275f869dbba91f4716540a49b6c22532">payload_len</a></td></tr>
<tr class="separator:ga275f869dbba91f4716540a49b6c22532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2dcae4c871f9efa53583f0e844dfb4a4"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga2dcae4c871f9efa53583f0e844dfb4a4">token_ptr</a></td></tr>
<tr class="separator:ga2dcae4c871f9efa53583f0e844dfb4a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e73f16b310f14777bd5a889e809a987"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga8e73f16b310f14777bd5a889e809a987">uri_path_ptr</a></td></tr>
<tr class="separator:ga8e73f16b310f14777bd5a889e809a987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff9fb174aa8fcc298ae9983db1e8cd3c"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gaff9fb174aa8fcc298ae9983db1e8cd3c">payload_ptr</a></td></tr>
<tr class="separator:gaff9fb174aa8fcc298ae9983db1e8cd3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab718d0916b7fea3d829e31cf6b92f824"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coap.html#ga53d117b7c5da476f085e72ff4dfa1e39">sn_coap_options_list_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gab718d0916b7fea3d829e31cf6b92f824">options_list_ptr</a></td></tr>
<tr class="separator:gab718d0916b7fea3d829e31cf6b92f824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b50e2cfe8c44ca7a73a5b451d059c90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0b50e2cfe8c44ca7a73a5b451d059c90"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>endpoint_len</b></td></tr>
<tr class="separator:ga0b50e2cfe8c44ca7a73a5b451d059c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bd755d1dc63e2bc7e793c511883b133"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8bd755d1dc63e2bc7e793c511883b133"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>endpoint_type_len</b></td></tr>
<tr class="separator:ga8bd755d1dc63e2bc7e793c511883b133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9f7df8ad3b8dc3ceb7b51f07b4c2343"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad9f7df8ad3b8dc3ceb7b51f07b4c2343"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>links_len</b></td></tr>
<tr class="separator:gad9f7df8ad3b8dc3ceb7b51f07b4c2343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae414e0d8bfb1eb57dab39fcbbf58b2df"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#gae414e0d8bfb1eb57dab39fcbbf58b2df">endpoint_ptr</a></td></tr>
<tr class="separator:gae414e0d8bfb1eb57dab39fcbbf58b2df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga596e59bb1cf2eeef4f97c1498d2d188f"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga596e59bb1cf2eeef4f97c1498d2d188f">endpoint_type_ptr</a></td></tr>
<tr class="separator:ga596e59bb1cf2eeef4f97c1498d2d188f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ed9627e8494d71a1f5822ea71fad339"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coap.html#ga9ed9627e8494d71a1f5822ea71fad339">links_ptr</a></td></tr>
<tr class="separator:ga9ed9627e8494d71a1f5822ea71fad339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f4775c092f592d53a9faa7979cefd03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f4775c092f592d53a9faa7979cefd03"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>addr_len</b></td></tr>
<tr class="separator:ga7f4775c092f592d53a9faa7979cefd03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac41280ef22b1370f5ed4b5e80dfb46f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac41280ef22b1370f5ed4b5e80dfb46f4"></a>
<a class="el" href="group__coap.html#gafd0cd7bf47eba289f9a04873c0d60a16">sn_nsdl_addr_type_e</a>&#160;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
<tr class="separator:gac41280ef22b1370f5ed4b5e80dfb46f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e0798404bf2cf5dabb84c5ba9a4f236"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8e0798404bf2cf5dabb84c5ba9a4f236"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>port</b></td></tr>
<tr class="separator:ga8e0798404bf2cf5dabb84c5ba9a4f236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8cb3026fa13785f2cb3478b1791196e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8cb3026fa13785f2cb3478b1791196e7"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>addr_ptr</b></td></tr>
<tr class="separator:ga8cb3026fa13785f2cb3478b1791196e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>mbed CoAP APIs and Ameba wrappers </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gaddfd3452795ee13c4603613d93092f96"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group__coap.html#ga4812fa835aae48adb994af470461260d">sn_coap_observe_</a> <a class="el" href="group__coap.html#gaddfd3452795ee13c4603613d93092f96">sn_coap_observe_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration for CoAP Observe option values. </p>
<p>draft-ietf-core-observe-16 </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gae1614153357c1121ce822a00b2c2293d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__coap.html#gae1614153357c1121ce822a00b2c2293d">sn_coap_msg_type_</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration for CoAP Message type, used in CoAP Header. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggae1614153357c1121ce822a00b2c2293daeac11476d9e8c20e4b464b07e3f5488d"></a>COAP_MSG_TYPE_CONFIRMABLE&#160;</td><td class="fielddoc">
<p>Reliable Request messages </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggae1614153357c1121ce822a00b2c2293da7dc226ba80ea7fa95d6ff7c7e4b43b39"></a>COAP_MSG_TYPE_NON_CONFIRMABLE&#160;</td><td class="fielddoc">
<p>Non-reliable Request and Response messages </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggae1614153357c1121ce822a00b2c2293dacb9e26e6eeb031a1fa745bd54173bc0f"></a>COAP_MSG_TYPE_ACKNOWLEDGEMENT&#160;</td><td class="fielddoc">
<p>Response to a Confirmable Request </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggae1614153357c1121ce822a00b2c2293dae1019d0ea20993a74849ccd608c830ea"></a>COAP_MSG_TYPE_RESET&#160;</td><td class="fielddoc">
<p>Answer a Bad Request </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga4812fa835aae48adb994af470461260d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__coap.html#ga4812fa835aae48adb994af470461260d">sn_coap_observe_</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration for CoAP Observe option values. </p>
<p>draft-ietf-core-observe-16 </p>
</div>
</div>
<a class="anchor" id="ga694d02e174302d5eb033a144d8bec7b6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__coap.html#ga694d02e174302d5eb033a144d8bec7b6">sn_coap_status_</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration for CoAP status, used in CoAP Header. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6a42c821f9a3d08e879af1e52482adc4b1"></a>COAP_STATUS_OK&#160;</td><td class="fielddoc">
<p>Default value is OK </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6a4765560ab4ce2350cb38c661bfd7124a"></a>COAP_STATUS_PARSER_ERROR_IN_HEADER&#160;</td><td class="fielddoc">
<p>CoAP will send Reset message to invalid message sender </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6ab8ffe45bd6654f3e8b1d179fabad741a"></a>COAP_STATUS_PARSER_DUPLICATED_MSG&#160;</td><td class="fielddoc">
<p>CoAP will send Acknowledgement message to duplicated message sender </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6a97a28c97810a9cc70701d203478df22b"></a>COAP_STATUS_PARSER_BLOCKWISE_MSG_RECEIVING&#160;</td><td class="fielddoc">
<p>User will get whole message after all message blocks received. User must release messages with this status. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6a5172d027323897d435285ed2ac79a8d8"></a>COAP_STATUS_PARSER_BLOCKWISE_ACK&#160;</td><td class="fielddoc">
<p>Acknowledgement for sent Blockwise message received </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6a8fdd59079ac4d82ba36a31293f548581"></a>COAP_STATUS_PARSER_BLOCKWISE_MSG_REJECTED&#160;</td><td class="fielddoc">
<p>Blockwise message received but not supported by compiling switch </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6a3bfe3d484269b3f95ea270458ab918cb"></a>COAP_STATUS_PARSER_BLOCKWISE_MSG_RECEIVED&#160;</td><td class="fielddoc">
<p>Blockwise message fully received and returned to app. User must take care of releasing whole payload of the blockwise messages </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga694d02e174302d5eb033a144d8bec7b6a8ca88652e2970108cfde34c5870bfbd3"></a>COAP_STATUS_BUILDER_MESSAGE_SENDING_FAILED&#160;</td><td class="fielddoc">
<p>When re-transmissions have been done and ACK not received, CoAP library calls RX callback with this status </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa79e2f954a9a6b14f564e1f428f618fe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__coap.html#gaa79e2f954a9a6b14f564e1f428f618fe">sn_nsdl_addr_type_</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Address type of given address. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaa79e2f954a9a6b14f564e1f428f618feaf11a6d113c6e9572019bce1da78dc48d"></a>SN_NSDL_ADDRESS_TYPE_IPV6&#160;</td><td class="fielddoc">
<p>Supported </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa79e2f954a9a6b14f564e1f428f618feaf2fd536d9027140a1338225d4d6a113f"></a>SN_NSDL_ADDRESS_TYPE_IPV4&#160;</td><td class="fielddoc">
<p>Supported </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaa79e2f954a9a6b14f564e1f428f618feac66a97d86630742f8a0f8aae4de6e3fa"></a>SN_NSDL_ADDRESS_TYPE_HOSTNAME&#160;</td><td class="fielddoc">
<p>Unsupported </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga0969492dc63242b2aa3946d0a79f756b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__coap.html#ga0969492dc63242b2aa3946d0a79f756b">sn_nsdl_capab_</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Used protocol. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga0969492dc63242b2aa3946d0a79f756ba5fda451925f1db03222285d3fdcd364f"></a>SN_NSDL_PROTOCOL_HTTP&#160;</td><td class="fielddoc">
<p>Unsupported </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga0969492dc63242b2aa3946d0a79f756bad3393066833411ae0ad92f085814c72d"></a>SN_NSDL_PROTOCOL_HTTPS&#160;</td><td class="fielddoc">
<p>Unsupported </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga0969492dc63242b2aa3946d0a79f756ba50104d8371f55ab2e51acb8f2974e4a6"></a>SN_NSDL_PROTOCOL_COAP&#160;</td><td class="fielddoc">
<p>Supported </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga24affe819b3a530499443a7f05f11ff5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* coap_calloc </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ameba <b>calloc()</b> function wrapper, the effective result is the allocation of a zero-initialized memory block of <em>size</em> bytes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>memory size to be allocated </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL = if memory allocation failed </dd>
<dd>
void* pointer to the allocated memory = if memory allocation success </dd></dl>
</div>
</div>
<a class="anchor" id="ga19cab359bb9b844e028781c45b7fa725"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void coap_free </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>addr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ameba <b>free()</b> function wrapper. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*addr</td><td>memory address to be freed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga02a4a4dbe404714d44c466d81d1e0ab4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* coap_malloc </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ameba <b>malloc()</b> function wrapper. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>memory size to be allocated </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL = if memory allocation failed </dd>
<dd>
void* pointer to allocated memory = if allocation success </dd></dl>
</div>
</div>
<a class="anchor" id="gab3f6f53b07f09e79ea3527e181b0e470"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void coap_print_hdr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>parsed_hdr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print CoAP message header (for debug use) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*parsed_hdr</td><td>: pointer to constructed CoAP message header </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga4c0a779f2fef21cdd70dbe3b977becf6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct coap_s* coap_protocol_init </td>
<td>(</td>
<td class="paramtype">uint8_t(*)(uint8_t *, uint16_t, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *)&#160;</td>
<td class="paramname"><em>coap_tx_callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int8_t(*)(<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *)&#160;</td>
<td class="paramname"><em>coap_rx_callback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ameba <b><a class="el" href="group__coap.html#ga9113e5503267462b7bab78ca378972d7" title="Initializes CoAP Protocol part. When using libNsdl, sn_nsdl_init() calls this function. ">sn_coap_protocol_init()</a></b> function wrapper, initializes CoAP Protocol part. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*coap_tx_callback</td><td>: function callback pointer to tx function for sending coap messages </td></tr>
<tr><td class="paramname">*coap_rx_callback</td><td>: function callback pointer to rx function, used to return CoAP header struct with status COAP_STATUS_BUILDER_MESSAGE_SENDING_FAILED when re-sendings exceeded. If set to NULL, no error message is returned. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to CoAP handle = if success </dd>
<dd>
NULL = if failed </dd></dl>
</div>
</div>
<a class="anchor" id="gae35121750e76719d7092963560d17737"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int coap_recv </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct sockaddr_in *&#160;</td>
<td class="paramname"><em>from_address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>buf_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive the constructed CoAP message from host. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">socket</td><td>: socket file descriptor used to receive the message </td></tr>
<tr><td class="paramname">*from_address</td><td>: an internet address pointer, which the sender address is to be stored into </td></tr>
<tr><td class="paramname">*buf</td><td>: memory buffer that used to store the received message </td></tr>
<tr><td class="paramname">buf_size</td><td>: specifies the length in bytes of the buffer pointed to by the <em>buf</em> argument. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The length of the message in bytes : if successful completion </dd>
<dd>
0 = If no messages are available to be received </dd>
<dd>
-1 = receive message failed </dd></dl>
</div>
</div>
<a class="anchor" id="gad5adde71e3dd006172b1b141c1303126"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int coap_send </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>to_address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>socket</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>coap_msg_hdr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send the constructed CoAP message to designated host address on the specific port number. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*to_address</td><td>: the host / domain / ip address that the message is targeted to </td></tr>
<tr><td class="paramname">port</td><td>: port number that the host is used to receive the message </td></tr>
<tr><td class="paramname">socket</td><td>: socket file descriptor used to send the message </td></tr>
<tr><td class="paramname">*coap_msg_hdr</td><td>: constructed CoAP message pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes sent = if fuccess </dd>
<dd>
-1 = if failed </dd></dl>
</div>
</div>
<a class="anchor" id="gaa9582617798935fcbb96d0602c097663"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int coap_sock_close </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>socket_fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ameba <b>close()</b> function wrapper, closes a socket file descriptor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sock_fd</td><td>the socket file descriptor is going to be closed. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 = if close operation failed </dd>
<dd>
0 = if close operation success </dd></dl>
</div>
</div>
<a class="anchor" id="ga79900b796f82ebd74ffe4f92eda4550a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int coap_sock_open </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ameba <b>socket()</b> function wrapper, creates a <b>Datagrams type</b> i.e. <em>SOCK_DGRAM</em> socket. </p>
<dl class="section return"><dt>Returns</dt><dd>Non-negative Integer (socket file descriptor) = if successfully completion </dd>
<dd>
-1 = if failed to create socket </dd></dl>
</div>
</div>
<a class="anchor" id="ga9cb853d921970bfcfac643f373f107de"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t randLIB_get_16bit </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is called in <b><a class="el" href="group__coap.html#ga9113e5503267462b7bab78ca378972d7" title="Initializes CoAP Protocol part. When using libNsdl, sn_nsdl_init() calls this function. ">sn_coap_protocol_init()</a></b> for ramdom message ID. </p>
<dl class="section return"><dt>Returns</dt><dd>A random 16bit unsigned value </dd></dl>
</div>
</div>
<a class="anchor" id="ga60064d3b286da3b3aba41848934ad8f6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> * sn_coap_build_response </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>coap_packet_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>msg_code</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Prepares generic response packet from a request packet. This function allocates memory for the resulting sn_coap_hdr_s. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">*coap_packet_ptr</td><td>The request packet pointer </td></tr>
<tr><td class="paramname">msg_code</td><td>response messages code</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>*coap_packet_ptr The allocated and pre-filled response packet pointer NULL Error in parsing the request </dd></dl>
</div>
</div>
<a class="anchor" id="ga1154e1630130b2b4cfffd3a10259d2a8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t sn_coap_builder </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>dst_packet_data_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>src_coap_msg_ptr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds an outgoing message buffer from a CoAP header structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*dst_packet_data_ptr</td><td>is pointer to allocated destination to built CoAP packet</td></tr>
<tr><td class="paramname">*src_coap_msg_ptr</td><td>is pointer to source structure for building Packet data</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is byte count of built Packet data. In failure cases:<br />
-1 = Failure in given CoAP header structure<br />
-2 = Failure in given pointer (= NULL) </dd></dl>
</div>
</div>
<a class="anchor" id="ga174db4c5a65f5a12f28855a2d62fe41d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t sn_coap_builder_2 </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>dst_packet_data_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>src_coap_msg_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>blockwise_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds an outgoing message buffer from a CoAP header structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*dst_packet_data_ptr</td><td>is pointer to allocated destination to built CoAP packet</td></tr>
<tr><td class="paramname">*src_coap_msg_ptr</td><td>is pointer to source structure for building Packet data</td></tr>
<tr><td class="paramname">blockwise_payload_size</td><td>Blockwise message maximum payload size</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is byte count of built Packet data. In failure cases:<br />
-1 = Failure in given CoAP header structure<br />
-2 = Failure in given pointer (= NULL) </dd></dl>
</div>
</div>
<a class="anchor" id="gaaac235555ebad7eb13949aa18d5e783f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t sn_coap_builder_calc_needed_packet_data_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>src_coap_msg_ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates needed Packet data memory size for given CoAP message. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*src_coap_msg_ptr</td><td>is pointer to data which needed Packet data length is calculated</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is count of needed memory as bytes for build Packet data Null if failed </dd></dl>
</div>
</div>
<a class="anchor" id="gad5d0769a114c570b1a4d8c97e9173415"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t sn_coap_builder_calc_needed_packet_data_size_2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>src_coap_msg_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>blockwise_payload_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates needed Packet data memory size for given CoAP message. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*src_coap_msg_ptr</td><td>is pointer to data which needed Packet data length is calculated </td></tr>
<tr><td class="paramname">blockwise_payload_size</td><td>Blockwise message maximum payload size</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is count of needed memory as bytes for build Packet data Null if failed </dd></dl>
</div>
</div>
<a class="anchor" id="ga80104792c9673afa8412879e0cb2d9cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> * sn_coap_parser </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>packet_data_len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>packet_data_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#gaf9efd1fa3a3c58bcddcd8e5f5a09b032">coap_version_e</a> *&#160;</td>
<td class="paramname"><em>coap_version_ptr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parses CoAP message from given Packet data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle</td></tr>
<tr><td class="paramname">packet_data_len</td><td>is length of given Packet data to be parsed to CoAP message</td></tr>
<tr><td class="paramname">*packet_data_ptr</td><td>is source for Packet data to be parsed to CoAP message</td></tr>
<tr><td class="paramname">*coap_version_ptr</td><td>is destination for parsed CoAP specification version</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is pointer to parsed CoAP message.<br />
In following failure cases NULL is returned:<br />
-Failure in given pointer (= NULL)<br />
-Failure in memory allocation (malloc() returns NULL) </dd></dl>
</div>
</div>
<a class="anchor" id="ga390079da13bcb662d7cc70c77b0070ec"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a>* sn_coap_parser_alloc_message </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate an empty message structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is pointer to an empty CoAP message.<br />
In following failure cases NULL is returned:<br />
-Failure in given pointer (= NULL)<br />
-Failure in memory allocation (malloc() returns NULL) </dd></dl>
</div>
</div>
<a class="anchor" id="ga864cefe478283076dd8c09a452c0894f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga53d117b7c5da476f085e72ff4dfa1e39">sn_coap_options_list_s</a>* sn_coap_parser_alloc_options </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>coap_msg_ptr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocates and initializes options list structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">*coap_msg_ptr</td><td>is pointer to CoAP message that will contain the options</td></tr>
</table>
</dd>
</dl>
<p>If the message already has a pointer to an option structure, that pointer is returned, rather than a new structure being allocated.</p>
<dl class="section return"><dt>Returns</dt><dd>Return value is pointer to the CoAP options structure.<br />
In following failure cases NULL is returned:<br />
-Failure in given pointer (= NULL)<br />
-Failure in memory allocation (malloc() returns NULL) </dd></dl>
</div>
</div>
<a class="anchor" id="gab9ac3f8363bb8fb97f812c715b41ba88"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a>* sn_coap_parser_init_message </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>coap_msg_ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialise a message structure to empty. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*coap_msg_ptr</td><td>is pointer to CoAP message to initialise</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is pointer passed in </dd></dl>
</div>
</div>
<a class="anchor" id="ga69067137006ea18c05114816e4ab8723"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sn_coap_parser_release_allocated_coap_msg_mem </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>freed_coap_msg_ptr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases memory of given CoAP message. </p>
<dl class="section note"><dt>Note</dt><dd>Does not release Payload part</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle</td></tr>
<tr><td class="paramname">*freed_coap_msg_ptr</td><td>is pointer to released CoAP message </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa15b043f4e50fb189279eed6c636d99f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">sn_coap_protocol_block_remove </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *&#160;</td>
<td class="paramname"><em>source_address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>payload_length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>payload</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove saved block data. Can be used to remove the data from RAM to enable storing it to other place. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">source_address</td><td>Addres from where the block has been received. </td></tr>
<tr><td class="paramname">payload_length</td><td>Length of the coap payload of the block. </td></tr>
<tr><td class="paramname">payload</td><td>Coap payload of the block. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga142f9cb4f67a4ae94138b262969a9a65"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t sn_coap_protocol_build </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *&#160;</td>
<td class="paramname"><em>dst_addr_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>dst_packet_data_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *&#160;</td>
<td class="paramname"><em>src_coap_msg_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds Packet data from given CoAP header structure to be sent. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*dst_addr_ptr</td><td>is pointer to destination address where CoAP message will be sent (CoAP builder needs that information for message resending purposes)</td></tr>
<tr><td class="paramname">*dst_packet_data_ptr</td><td>is pointer to destination of built Packet data</td></tr>
<tr><td class="paramname">*src_coap_msg_ptr</td><td>is pointer to source of built Packet data</td></tr>
<tr><td class="paramname">param</td><td>void pointer that will be passed to tx/rx function callback when those are called.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If message is blockwised, all payload is not sent at the same time</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is byte count of built Packet data.<br />
In failure cases:<br />
-1 = Failure in CoAP header structure<br />
-2 = Failure in given pointer (= NULL)<br />
-3 = Failure in Reset message<br />
-4 = Failure in Resending message store<br />
If there is not enough memory (or User given limit exceeded) for storing resending messages, situation is ignored. </dd></dl>
</div>
</div>
<a class="anchor" id="ga1f77f3103eb61915110405c46f00ec9c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sn_coap_protocol_clear_retransmission_buffer </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If re-transmissions are enabled, this function removes all messages from the retransmission queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga886ae23b591e7a1099e921714b3e5f2e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sn_coap_protocol_delete_retransmission </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>msg_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If re-transmissions are enabled, this function removes message from retransmission buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">msg_id</td><td>message ID to be removed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 = success<br />
-1 = invalid parameter<br />
-2 = message was not found </dd></dl>
</div>
</div>
<a class="anchor" id="ga9a8f99056af7c1a8a8880708c46b72d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t sn_coap_protocol_destroy </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Frees all memory from CoAP protocol part. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is always 0 </dd></dl>
</div>
</div>
<a class="anchor" id="gaf0b59b7758588e49380bfcc79a39b6d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t sn_coap_protocol_exec </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>current_time</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends CoAP messages from re-sending queue, if there is any. Cleans also old messages from the duplication list and from block receiving list. </p>
<p>This function can be called e.g. once in a second but also more frequently.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle</td></tr>
<tr><td class="paramname">current_time</td><td>is System time in seconds. This time is used for message re-sending timing and to identify old saved data.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 = success<br />
-1 = failed </dd></dl>
</div>
</div>
<a class="anchor" id="ga9113e5503267462b7bab78ca378972d7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct coap_s * sn_coap_protocol_init </td>
<td>(</td>
<td class="paramtype">void *(*)(uint16_t)&#160;</td>
<td class="paramname"><em>used_malloc_func_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void(*)(void *)&#160;</td>
<td class="paramname"><em>used_free_func_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t(*)(uint8_t *, uint16_t, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *)&#160;</td>
<td class="paramname"><em>used_tx_callback_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int8_t(*)(<a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> *, <a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *, void *)&#160;</td>
<td class="paramname"><em>used_rx_callback_ptr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes CoAP Protocol part. When using libNsdl, sn_nsdl_init() calls this function. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*used_malloc_func_ptr</td><td>is function pointer for used memory allocation function.</td></tr>
<tr><td class="paramname">*used_free_func_ptr</td><td>is function pointer for used memory free function.</td></tr>
<tr><td class="paramname">*used_tx_callback_ptr</td><td>function callback pointer to tx function for sending coap messages</td></tr>
<tr><td class="paramname">*used_rx_callback_ptr</td><td>used to return CoAP header struct with status COAP_STATUS_BUILDER_MESSAGE_SENDING_FAILED when re-sendings exceeded. If set to NULL, no error message is returned.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to handle when success<br />
Null if failed </dd></dl>
</div>
</div>
<a class="anchor" id="gaadd6e5537265e26823babae9f6e85610"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga3a52e89139fbb21b93186618be191a04">sn_coap_hdr_s</a> * sn_coap_protocol_parse </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__coap.html#ga40901598735b221da45e0e701e3b10f4">sn_nsdl_addr_s</a> *&#160;</td>
<td class="paramname"><em>src_addr_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>packet_data_len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>packet_data_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parses received CoAP message from given Packet data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*src_addr_ptr</td><td>is pointer to source address of received CoAP message (CoAP parser needs that information for Message acknowledgement)</td></tr>
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle</td></tr>
<tr><td class="paramname">packet_data_len</td><td>is length of given Packet data to be parsed to CoAP message</td></tr>
<tr><td class="paramname">*packet_data_ptr</td><td>is pointer to source of Packet data to be parsed to CoAP message</td></tr>
<tr><td class="paramname">*param</td><td>void pointer that will be passed to tx/rx function callback when those are called.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return value is pointer to parsed CoAP message structure. This structure includes also coap_status field.<br />
In following failure cases NULL is returned:<br />
-Given NULL pointer<br />
-Failure in parsed header of non-confirmable message<br />
-Out of memory (malloc() returns NULL) </dd></dl>
</div>
</div>
<a class="anchor" id="gaaf3b06868caaeeeb89533d432d4c05d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t sn_coap_protocol_set_block_size </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>block_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If block transfer is enabled, this function changes the block size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">maximum</td><td>size of CoAP payload. Valid sizes are 16, 32, 64, 128, 256, 512 and 1024 bytes </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 = success<br />
-1 = failure </dd></dl>
</div>
</div>
<a class="anchor" id="ga93a7f28d1089d6f10b2133c7ba89b81a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t sn_coap_protocol_set_duplicate_buffer_size </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>message_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If dublicate message detection is enabled, this function changes buffer size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">message_count</td><td>max number of messages saved for duplicate control </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 = success<br />
-1 = failure </dd></dl>
</div>
</div>
<a class="anchor" id="ga460f5825ac70f0856376a70b95a22a7e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t sn_coap_protocol_set_retransmission_buffer </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>buffer_size_messages</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>buffer_size_bytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If re-transmissions are enabled, this function changes message retransmission queue size. Set size to '0' to disable feature. If both are set to '0', then re-sendings are disabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">buffer_size_messages</td><td>queue size - maximum number of messages to be saved to queue </td></tr>
<tr><td class="paramname">buffer_size_bytes</td><td>queue size - maximum size of messages saved to queue </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 = success<br />
-1 = failure </dd></dl>
</div>
</div>
<a class="anchor" id="gaef16336455064c5baa92f3f3d9738a35"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t sn_coap_protocol_set_retransmission_parameters </td>
<td>(</td>
<td class="paramtype">struct coap_s *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>resending_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>resending_intervall</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If re-transmissions are enabled, this function changes resending count and interval. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">*handle</td><td>Pointer to CoAP library handle </td></tr>
<tr><td class="paramname">resending_count</td><td>max number of resendings for message </td></tr>
<tr><td class="paramname">resending_intervall</td><td>message resending intervall in seconds </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 = success<br />
-1 = failure </dd></dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga82ed8fb79cc74e619a5f772b4a6ffb70"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#gab63aed79b7d1cc8db38c45a255bf37f2">sn_coap_content_format_e</a> accept</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 0-65535. COAP_CT_NONE if not used </p>
</div>
</div>
<a class="anchor" id="ga5da0558e1bcefc8c7dda93aa48235f4a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t block1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 0-0xffffff. -1 if not used. Not for user </p>
</div>
</div>
<a class="anchor" id="gaba2a0847724032eaf4f6308a19834997"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t block2</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 0-0xffffff. -1 if not used. Not for user </p>
</div>
</div>
<a class="anchor" id="ga2f497fe811f178c8f6d3a7424538be18"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga5785cc0fe52acd232ed0e07fe561f997">sn_coap_status_e</a> coap_status</td>
</tr>
</table>
</div><div class="memdoc">
<p>Used for telling to User special cases when parsing message </p>
</div>
</div>
<a class="anchor" id="ga0899e4446bcd3cec2cbe89658584babc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#gab63aed79b7d1cc8db38c45a255bf37f2">sn_coap_content_format_e</a> content_format</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set to COAP_CT_NONE if not used </p>
</div>
</div>
<a class="anchor" id="gae414e0d8bfb1eb57dab39fcbbf58b2df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* endpoint_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Endpoint name </p>
</div>
</div>
<a class="anchor" id="ga596e59bb1cf2eeef4f97c1498d2d188f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* endpoint_type_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Endpoint type </p>
</div>
</div>
<a class="anchor" id="ga93424b64d91125f085b269cf41969b8c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t etag_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>1-8 bytes. Repeatable </p>
</div>
</div>
<a class="anchor" id="ga47d10865fb05183201e6d1a3acad5a1b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* etag_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="ga9ed9627e8494d71a1f5822ea71fad339"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* links_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Resource registration string </p>
</div>
</div>
<a class="anchor" id="gaf9c4b5ef82fb26e402feb4035ffbc5fe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t location_path_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>0-255 bytes. Repeatable </p>
</div>
</div>
<a class="anchor" id="gaf418940008b266f7e36451db10e19f62"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* location_path_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="ga3be8a249550d7fd110a9c12102e5217a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t location_query_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>0-255 bytes. Repeatable </p>
</div>
</div>
<a class="anchor" id="gaacce21259951d64257edbbaac4c75cc0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* location_query_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="ga133ffb4f4820f23f21609e636c5b05d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t max_age</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value in seconds (default is 60) </p>
</div>
</div>
<a class="anchor" id="gab0358952aa4e5850b36172dcaf7a70d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#gac2c8c7417036ee77465e5177962d0455">sn_coap_msg_code_e</a> msg_code</td>
</tr>
</table>
</div><div class="memdoc">
<p>Empty: 0; Requests: 1-31; Responses: 64-191 </p>
</div>
</div>
<a class="anchor" id="ga689014fc11d4f26d264ddae2eaebc9d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t msg_id</td>
</tr>
</table>
</div><div class="memdoc">
<p>Message ID. Parser sets parsed message ID, builder sets message ID of built coap message </p>
</div>
</div>
<a class="anchor" id="ga5f827cd835e5cf02f2dfc3ff92596adf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga6ddd2da009bf86ad83f64019081ac34c">sn_coap_msg_type_e</a> msg_type</td>
</tr>
</table>
</div><div class="memdoc">
<p>Confirmable, Non-Confirmable, Acknowledgement or Reset </p>
</div>
</div>
<a class="anchor" id="gac1c1582dc485318529f4f6370bb6e3be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t observe</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 0-0xffffff. -1 if not used </p>
</div>
</div>
<a class="anchor" id="gab718d0916b7fea3d829e31cf6b92f824"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__coap.html#ga53d117b7c5da476f085e72ff4dfa1e39">sn_coap_options_list_s</a>* options_list_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="ga275f869dbba91f4716540a49b6c22532"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t payload_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to zero if not used </p>
</div>
</div>
<a class="anchor" id="gaff9fb174aa8fcc298ae9983db1e8cd3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* payload_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="gafbbc510c18f83de423f570a2c6af4036"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t proxy_uri_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>1-1034 bytes. </p>
</div>
</div>
<a class="anchor" id="ga3a0109ddeb7ba71212b7d72c08e19335"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* proxy_uri_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="ga19eb70d95ea49b0491f94c24f3163357"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t size1</td>
</tr>
</table>
</div><div class="memdoc">
<p>0-4 bytes. </p>
</div>
</div>
<a class="anchor" id="ga140a6c30a1d7c5e570cddd2f3c2e40df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t size2</td>
</tr>
</table>
</div><div class="memdoc">
<p>0-4 bytes. </p>
</div>
</div>
<a class="anchor" id="gaa7c87ced54c328adba1b7eee99050e76"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t token_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>1-8 bytes. </p>
</div>
</div>
<a class="anchor" id="ga2dcae4c871f9efa53583f0e844dfb4a4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* token_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="gae3a8ca701d0407fa7e0fadba5446d49f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t uri_host_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>1-255 bytes. </p>
</div>
</div>
<a class="anchor" id="ga95c21c30367e5bf3b726142a2c543cf1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* uri_host_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</div>
</div>
<a class="anchor" id="ga406164cae7d27f250c980ca69534a24d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t uri_path_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>0-255 bytes. Repeatable. </p>
</div>
</div>
<a class="anchor" id="ga8e73f16b310f14777bd5a889e809a987"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* uri_path_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used. E.g: temp1/temp2 </p>
</div>
</div>
<a class="anchor" id="gab7636ae4a3611ac56882f5a24cd47a1d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t uri_port</td>
</tr>
</table>
</div><div class="memdoc">
<p>Value 0-65535. -1 if not used </p>
</div>
</div>
<a class="anchor" id="ga1ec2a675af616e153d1a634eeeb0b9da"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t uri_query_len</td>
</tr>
</table>
</div><div class="memdoc">
<p>1-255 bytes. Repeatable </p>
</div>
</div>
<a class="anchor" id="gaa9e7377fc0741032228a19a65ce8fa52"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* uri_query_ptr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Must be set to NULL if not used </p>
</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.11
</small></address>
</body>
</html>