This commit is contained in:
Jelani 2015-09-23 14:41:55 -07:00
Родитель 441679f39b cf5e8b6172
Коммит effdd7117a
257 изменённых файлов: 1591 добавлений и 19891 удалений

Просмотреть файл

@ -774,6 +774,7 @@ INPUT = mainpage.dox \
../../c/common/inc/httpheaders.h \
../../c/common/inc/threadapi.h \
../../c/common/inc/lock.h \
../../c/iothub_client/inc/iothub_message.h \
../../c/iothub_client/inc/iothub_client_ll.h \
../../c/iothub_client/inc/iothub_client.h \
../../c/serializer/inc/serializer.h \

Просмотреть файл

@ -8,12 +8,10 @@ set build-root=%~dp0..\..
cd %build-root%\node
rem -----------------------------------------------------------------------------
rem -- Generate JS docs
rem -- Generate device JS docs
rem -----------------------------------------------------------------------------
set jsdoc=node_modules\.bin\jsdoc.cmd
if not exist %jsdoc% (
echo "jsdoc" was not found. Please make sure you've run "npm install" in %build-root%\node.
exit /b 1
)
set doc-target-dir=%build-root%\node\device\doc\api_reference
if exist %doc-target-dir% rd /s /q %doc-target-dir%
mkdir %doc-target-dir%
jsdoc -c ..\build\docs\jsdoc-device.conf.json -d %doc-target-dir%
%jsdoc% -c ..\build\docs\jsdoc.conf.json -d apidocs

Просмотреть файл

@ -571,7 +571,7 @@ exports.publish = function(taffyData, opts, tutorials) {
var files = find({kind: 'file'}),
packages = find({kind: 'package'});
generate('Microsoft Azure IoT SDK for Node.js',
generate('Microsoft Azure IoT Device SDK for Node.js',
packages.concat(
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}]
).concat(files),

Просмотреть файл

@ -5,15 +5,12 @@
},
"source": {
"include": [
"package.json",
"../build/docs/node-main-page.md",
"src/iothub.js",
"src/common/message.js",
"src/common/properties.js",
"src/common/authorization.js",
"src/device/client.js",
"src/adapters/https.js",
"src/service/registry.js"
"../build/docs/node-main-page-device.md",
"common/common.js",
"common/lib/message.js",
"common/lib/https.js",
"device/device.js",
"device/lib/client.js"
],
"includePattern": ".+\\.js(doc)?$",
"excludePattern": "(^|\\/|\\\\)_"

Просмотреть файл

@ -0,0 +1,9 @@
The Microsoft Azure IoT Device library for Node.js contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.
## Features
Device library
* Sends event data to an IoT Hub, in batches or individually.
* Receives messages from an IoT Hub.
* Uses HTTPS to communicate with IoT Hubs. AMQPS support is coming soon.

Просмотреть файл

@ -1,15 +0,0 @@
The Microsoft Azure IoT device libraries for Node.js contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services. The libraries also include code to manage your IoT Hub service.
## Features
Device libraries
* Sends event data to Azure IoT based services.
* Maps server commands to device functions.
* Buffers data when network connection is down.
* Batches messages to improve communication efficiency.
* Supports pluggable transport protocols. HTTP and AMQP protocols are available now, with more coming soon.
* Supports pluggable serialization methods. JSON is available now, with more coming soon.
Service libraries
* A service client you can use to send cloud-to-device commands from IoT Hub to your devices.
* A registry manager that you can use to manage the contents of the IoT Hub device identity registry.

Просмотреть файл

@ -10,7 +10,7 @@ cd %build-root%\build\docs
rem -----------------------------------------------------------------------------
rem -- Check for environment pre-requisites. This script requires
rem -- that the following programs work:
rem -- doxygen, git, node, javadoc, mvn
rem -- doxygen, git, node, javadoc, mvn, jsdoc
rem -----------------------------------------------------------------------------
call :checkExists git
if not %errorlevel%==0 exit /b %errorlevel%
@ -24,6 +24,8 @@ call :checkExists javadoc
if not %errorlevel%==0 exit /b %errorlevel%
call :checkExists mvn
if not %errorlevel%==0 exit /b %errorlevel%
call :checkExists jsdoc
if not %errorlevel%==0 exit /b %errorlevel%
rem -----------------------------------------------------------------------------
rem -- Generate C API docs

Просмотреть файл

@ -105,7 +105,6 @@ rem ----------------------------------------------------------------------------
pushd %paho-build-root%
if exist "%programfiles(x86)%\MSBuild\14.0\\." (
(
msbuild ".\Windows Build\paho-mqtt3cs\paho-mqtt3cs.vcxproj" /p:Configuration=Debug;PlatformToolset=v140
goto paho_build_done
)

Просмотреть файл

@ -1,215 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/agenttime.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">agenttime.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Function prototypes for time related functions.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;time.h&gt;</code><br />
</div>
<p><a href="agenttime_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:acc6a1b36113a04d34377d9b7901202dd"><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd">get_time</a> (time_t *currentTime)</td></tr>
<tr class="memdesc:acc6a1b36113a04d34377d9b7901202dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current calendar time. <a href="#acc6a1b36113a04d34377d9b7901202dd">More...</a><br /></td></tr>
<tr class="separator:acc6a1b36113a04d34377d9b7901202dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cbed35d6d2183a257e91b5bc4122669"><td class="memItemLeft" align="right" valign="top">struct tm *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669">get_gmtime</a> (time_t *currentTime)</td></tr>
<tr class="memdesc:a8cbed35d6d2183a257e91b5bc4122669"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get UTC in <code>tm</code> struct. <a href="#a8cbed35d6d2183a257e91b5bc4122669">More...</a><br /></td></tr>
<tr class="separator:a8cbed35d6d2183a257e91b5bc4122669"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d6a35518723789d23906b028da65636"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="agenttime_8h.html#a0d6a35518723789d23906b028da65636">get_ctime</a> (time_t *timeToGet)</td></tr>
<tr class="memdesc:a0d6a35518723789d23906b028da65636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a C-string representation of the given time. <a href="#a0d6a35518723789d23906b028da65636">More...</a><br /></td></tr>
<tr class="separator:a0d6a35518723789d23906b028da65636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a321a069486f837a3c3d048d7a5f8d8be"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be">get_difftime</a> (time_t stopTime, time_t startTime)</td></tr>
<tr class="memdesc:a321a069486f837a3c3d048d7a5f8d8be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the difference in seconds between <code>stopTime</code> and <code>startTime</code>. <a href="#a321a069486f837a3c3d048d7a5f8d8be">More...</a><br /></td></tr>
<tr class="separator:a321a069486f837a3c3d048d7a5f8d8be"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Function prototypes for time related functions. </p>
<p>These functions are implemented with C standard functions, and therefore they are platform independent. But then a platform can replace these functions with its own implementation as necessary. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0d6a35518723789d23906b028da65636"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* get_ctime </td>
<td>(</td>
<td class="paramtype">time_t *&#160;</td>
<td class="paramname"><em>timeToGet</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a C-string representation of the given time. </p>
<p>This function provides the same functionality as the standard C <code>ctime()</code> function. </p>
</div>
</div>
<a class="anchor" id="a321a069486f837a3c3d048d7a5f8d8be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double get_difftime </td>
<td>(</td>
<td class="paramtype">time_t&#160;</td>
<td class="paramname"><em>stopTime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">time_t&#160;</td>
<td class="paramname"><em>startTime</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the difference in seconds between <code>stopTime</code> and <code>startTime</code>. </p>
<p>This function provides the same functionality as the standard C <code>difftime()</code> function. </p>
</div>
</div>
<a class="anchor" id="a8cbed35d6d2183a257e91b5bc4122669"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct tm* get_gmtime </td>
<td>(</td>
<td class="paramtype">time_t *&#160;</td>
<td class="paramname"><em>currentTime</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get UTC in <code>tm</code> struct. </p>
<p>This function provides the same functionality as the standard C <code>gmtime()</code> function. </p>
</div>
</div>
<a class="anchor" id="acc6a1b36113a04d34377d9b7901202dd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">time_t get_time </td>
<td>(</td>
<td class="paramtype">time_t *&#160;</td>
<td class="paramname"><em>currentTime</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get current calendar time. </p>
<p>This function provides the same functionality as the standard C <code>time()</code> function. </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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,131 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/agenttime.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">agenttime.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="agenttime_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#ifndef AGENTTIME_H</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#define AGENTTIME_H</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;{</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">extern</span> time_t <a class="code" href="agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd">get_time</a>(time_t* currentTime);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">extern</span> <span class="keyword">struct </span>tm* <a class="code" href="agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669">get_gmtime</a>(time_t* currentTime);</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">char</span>* <a class="code" href="agenttime_8h.html#a0d6a35518723789d23906b028da65636">get_ctime</a>(time_t* timeToGet);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">double</span> <a class="code" href="agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be">get_difftime</a>(time_t stopTime, time_t startTime);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#endif // AGENTTIME_H</span></div>
<div class="ttc" id="agenttime_8h_html_acc6a1b36113a04d34377d9b7901202dd"><div class="ttname"><a href="agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd">get_time</a></div><div class="ttdeci">time_t get_time(time_t *currentTime)</div><div class="ttdoc">Get current calendar time. </div></div>
<div class="ttc" id="agenttime_8h_html_a0d6a35518723789d23906b028da65636"><div class="ttname"><a href="agenttime_8h.html#a0d6a35518723789d23906b028da65636">get_ctime</a></div><div class="ttdeci">char * get_ctime(time_t *timeToGet)</div><div class="ttdoc">Gets a C-string representation of the given time. </div></div>
<div class="ttc" id="agenttime_8h_html_a8cbed35d6d2183a257e91b5bc4122669"><div class="ttname"><a href="agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669">get_gmtime</a></div><div class="ttdeci">struct tm * get_gmtime(time_t *currentTime)</div><div class="ttdoc">Get UTC in tm struct. </div></div>
<div class="ttc" id="agenttime_8h_html_a321a069486f837a3c3d048d7a5f8d8be"><div class="ttname"><a href="agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be">get_difftime</a></div><div class="ttdeci">double get_difftime(time_t stopTime, time_t startTime)</div><div class="ttdoc">Gets the difference in seconds between stopTime and startTime. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,103 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Data Structures</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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="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 id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></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="headertitle">
<div class="title">Data Structures</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html" target="_self">IOTHUB_CLIENT_CONFIG_TAG</a></td><td class="desc">This struct captures IoTHub client configuration </td></tr>
</table>
</div><!-- directory -->
</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.10
</small></address>
</body>
</html>

Двоичные данные
c/doc/api_reference/arrowdown.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 241 B

Двоичные данные
c/doc/api_reference/arrowright.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 227 B

Просмотреть файл

@ -1,216 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/base64.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">base64.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Prototypes for functions related to encoding/decoding a <code>buffer</code> using standard base64 encoding.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;strings.h&quot;</code><br />
<code>#include &quot;buffer_.h&quot;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
</div>
<p><a href="base64_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3fc0095d207b2916b9af7e3b9bf25dbb"><td class="memItemLeft" align="right" valign="top">STRING_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb">Base64_Encode</a> (BUFFER_HANDLE input)</td></tr>
<tr class="memdesc:a3fc0095d207b2916b9af7e3b9bf25dbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base64 encodes a buffer and returns the resulting string. <a href="#a3fc0095d207b2916b9af7e3b9bf25dbb">More...</a><br /></td></tr>
<tr class="separator:a3fc0095d207b2916b9af7e3b9bf25dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e30a20c2abb2bf5e826426c953d12ed"><td class="memItemLeft" align="right" valign="top">STRING_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed">Base64_Encode_Bytes</a> (const unsigned char *source, size_t size)</td></tr>
<tr class="memdesc:a9e30a20c2abb2bf5e826426c953d12ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base64 encodes the buffer pointed to by <code>source</code> and returns the resulting string. <a href="#a9e30a20c2abb2bf5e826426c953d12ed">More...</a><br /></td></tr>
<tr class="separator:a9e30a20c2abb2bf5e826426c953d12ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af53129a184d122641b31220cbd401402"><td class="memItemLeft" align="right" valign="top">BUFFER_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="base64_8h.html#af53129a184d122641b31220cbd401402">Base64_Decoder</a> (const char *source)</td></tr>
<tr class="memdesc:af53129a184d122641b31220cbd401402"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base64 decodes the buffer pointed to by <code>source</code> and returns the resulting buffer. <a href="#af53129a184d122641b31220cbd401402">More...</a><br /></td></tr>
<tr class="separator:af53129a184d122641b31220cbd401402"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Prototypes for functions related to encoding/decoding a <code>buffer</code> using standard base64 encoding. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="af53129a184d122641b31220cbd401402"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BUFFER_HANDLE Base64_Decoder </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Base64 decodes the buffer pointed to by <code>source</code> and returns the resulting buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">source</td><td>A base64 encoded string buffer.</td></tr>
</table>
</dd>
</dl>
<p>This function decodes the string pointed at by <code>source</code> using base64 decoding and returns the resulting buffer. If <code>source</code> is <code>NULL</code> then <code>Base64_Decoder</code> returns NULL. If the string pointed to by <code>source</code> is zero length then the handle returned refers to a zero length buffer. If there is any memory allocation failure during the decode or if the source string has an invalid length for a base 64 encoded string then <code>Base64_Decoder</code> returns <code>NULL</code>.</p>
<dl class="section return"><dt>Returns</dt><dd>A <code>BUFFER_HANDLE</code> pointing to a buffer containing the result of base64 decoding <code>source</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a3fc0095d207b2916b9af7e3b9bf25dbb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">STRING_HANDLE Base64_Encode </td>
<td>(</td>
<td class="paramtype">BUFFER_HANDLE&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Base64 encodes a buffer and returns the resulting string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">input</td><td>The buffer that needs to be base64 encoded.</td></tr>
</table>
</dd>
</dl>
<p>Base64_Encode takes as a parameter a pointer to a BUFFER. If <code>input</code> is <code>NULL</code> then <code>Base64_Encode</code> returns <code>NULL</code>. The size of the BUFFER pointed to by <code>input</code> may be zero. If when allocating memory to produce the encoding a failure occurs, then <code>Base64_Encode</code> returns <code>NULL</code>. Otherwise <code>Base64_Encode</code> returns a pointer to a STRING. That string contains the base 64 encoding of the <code>input</code>. This encoding of <code>input</code> will not contain embedded line feeds.</p>
<dl class="section return"><dt>Returns</dt><dd>A <code>STRING_HANDLE</code> containing the base64 encoding of <code>input</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a9e30a20c2abb2bf5e826426c953d12ed"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">STRING_HANDLE Base64_Encode_Bytes </td>
<td>(</td>
<td class="paramtype">const unsigned char *&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Base64 encodes the buffer pointed to by <code>source</code> and returns the resulting string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">source</td><td>The buffer that needs to be base64 encoded. </td></tr>
<tr><td class="paramname">size</td><td>The size.</td></tr>
</table>
</dd>
</dl>
<p>This function produces a <code>STRING_HANDLE</code> containing the base64 encoding of the buffer pointed to by <code>source</code>, having the size as given by <code>size</code>. If <code>source</code> is <code>NULL</code> then <code>Base64_Encode_Bytes</code> returns <code>NULL</code> If <code>source</code> is not <code>NULL</code> and <code>size</code> is zero, then <code>Base64_Encode_Bytes</code> produces an empty <code>STRING_HANDLE</code>. Otherwise, <code>Base64_Encode_Bytes</code> produces a <code>STRING_HANDLE</code> containing the Base64 representation of the buffer. In case of any errors, <code>Base64_Encode_Bytes</code> returns <code>NULL</code>.].</p>
<dl class="section return"><dt>Returns</dt><dd><code>NULL</code> in case an error occurs or a <code>STRING_HANDLE</code> containing the base64 encoding of <code>input</code>. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,131 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/base64.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">base64.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="base64_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#ifndef BASE64_H</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#define BASE64_H</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;strings.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;buffer_.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">extern</span> STRING_HANDLE <a class="code" href="base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb">Base64_Encode</a>(BUFFER_HANDLE input);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">extern</span> STRING_HANDLE <a class="code" href="base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed">Base64_Encode_Bytes</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* source, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keyword">extern</span> BUFFER_HANDLE <a class="code" href="base64_8h.html#af53129a184d122641b31220cbd401402">Base64_Decoder</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* source);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* BASE64_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="base64_8h_html_a9e30a20c2abb2bf5e826426c953d12ed"><div class="ttname"><a href="base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed">Base64_Encode_Bytes</a></div><div class="ttdeci">STRING_HANDLE Base64_Encode_Bytes(const unsigned char *source, size_t size)</div><div class="ttdoc">Base64 encodes the buffer pointed to by source and returns the resulting string. </div></div>
<div class="ttc" id="base64_8h_html_a3fc0095d207b2916b9af7e3b9bf25dbb"><div class="ttname"><a href="base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb">Base64_Encode</a></div><div class="ttdeci">STRING_HANDLE Base64_Encode(BUFFER_HANDLE input)</div><div class="ttdoc">Base64 encodes a buffer and returns the resulting string. </div></div>
<div class="ttc" id="base64_8h_html_af53129a184d122641b31220cbd401402"><div class="ttname"><a href="base64_8h.html#af53129a184d122641b31220cbd401402">Base64_Decoder</a></div><div class="ttdeci">BUFFER_HANDLE Base64_Decoder(const char *source)</div><div class="ttdoc">Base64 decodes the buffer pointed to by source and returns the resulting buffer. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Двоичные данные
c/doc/api_reference/bc_s.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 624 B

Двоичные данные
c/doc/api_reference/bdwn.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 139 B

Просмотреть файл

@ -1,107 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Data Structure Index</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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="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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></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="headertitle">
<div class="title">Data Structure Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_I">I</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td></td></tr>
<tr><td valign="top"><a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG_TAG</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_I">I</a></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.10
</small></address>
</body>
</html>

Двоичные данные
c/doc/api_reference/closed.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 125 B

Просмотреть файл

@ -1,101 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/serializer Directory Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html">serializer</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">serializer Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
<tr class="memitem:dir_4512fd3943e6edf693cef6803bd9b15b"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_4512fd3943e6edf693cef6803bd9b15b.html">inc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,105 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c Directory Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">c Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
<tr class="memitem:dir_cdcbff5a6a1122bd9bb23b5044523779"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_3fa79a50e591a13d34768ad07721929e"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_12d2b36f129c41023f7f4a6bff2578c5"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html">serializer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,101 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client Directory Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">iothub_client Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
<tr class="memitem:dir_72aec881c4ddd8f448eae7bd490815ae"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,105 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/serializer/inc Directory Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html">serializer</a></li><li class="navelem"><a class="el" href="dir_4512fd3943e6edf693cef6803bd9b15b.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">inc Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:schemalib_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html">schemalib.h</a> <a href="schemalib_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:schemalib_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">The IoT Hub Serializer APIs allows developers to define models for their devices. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:serializer_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="serializer_8h.html">serializer.h</a> <a href="serializer_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:serializer_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">The IoT Hub Serializer APIs allows developers to define models for their devices. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,105 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client/inc Directory Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li><li class="navelem"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">inc Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:iothub__client_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html">iothub_client.h</a> <a href="iothub__client_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:iothub__client_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extends the IoTHubCLient_LL module with additional features. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:iothub__client__ll_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html">iothub_client_ll.h</a> <a href="iothub__client__ll_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:iothub__client__ll_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">APIs that allow a user (usually a device) to communicate with an Azure IoTHub. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,101 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common Directory Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">common Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
Directories</h2></td></tr>
<tr class="memitem:dir_e7e6b493d3d7754f3ea1acccc5db86e9"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,120 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc Directory Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">inc Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:agenttime_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="agenttime_8h.html">agenttime.h</a> <a href="agenttime_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:agenttime_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function prototypes for time related functions. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:base64_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="base64_8h.html">base64.h</a> <a href="base64_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:base64_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototypes for functions related to encoding/decoding a <code>buffer</code> using standard base64 encoding. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:httpapi_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html">httpapi.h</a> <a href="httpapi_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:httpapi_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">This module implements the standard HTTP API used by the C IoT client library. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:httpapiex_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapiex_8h.html">httpapiex.h</a> <a href="httpapiex_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:httpapiex_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a utility module that provides HTTP requests with build-in retry capabilities. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:httpheaders_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html">httpheaders.h</a> <a href="httpheaders_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:httpheaders_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a utility module that handles HTTP message-headers. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:lock_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock_8h.html">lock.h</a> <a href="lock_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:lock_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">A minimalistic platform agnostic lock abstraction for thread synchronization. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:threadapi_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="threadapi_8h.html">threadapi.h</a> <a href="threadapi_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:threadapi_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">This module implements support for creating new threads, terminating threads and sleeping threads. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</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.10
</small></address>
</body>
</html>

Двоичные данные
c/doc/api_reference/doc.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 652 B

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
c/doc/api_reference/doxygen.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 3.4 KiB

Просмотреть файл

@ -1,97 +0,0 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}

Просмотреть файл

@ -1,119 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: File List</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></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="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html" target="_self">c</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html" target="_self">common</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">&#9660;</span><span id="img_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_')">&#160;</span><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html" target="_self">inc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="agenttime_8h_source.html"><span class="icondoc"></span></a><a class="el" href="agenttime_8h.html" target="_self">agenttime.h</a></td><td class="desc">Function prototypes for time related functions </td></tr>
<tr id="row_0_0_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="base64_8h_source.html"><span class="icondoc"></span></a><a class="el" href="base64_8h.html" target="_self">base64.h</a></td><td class="desc">Prototypes for functions related to encoding/decoding a <code>buffer</code> using standard base64 encoding </td></tr>
<tr id="row_0_0_0_2_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="httpapi_8h_source.html"><span class="icondoc"></span></a><a class="el" href="httpapi_8h.html" target="_self">httpapi.h</a></td><td class="desc">This module implements the standard HTTP API used by the C IoT client library </td></tr>
<tr id="row_0_0_0_3_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="httpapiex_8h_source.html"><span class="icondoc"></span></a><a class="el" href="httpapiex_8h.html" target="_self">httpapiex.h</a></td><td class="desc">This is a utility module that provides HTTP requests with build-in retry capabilities </td></tr>
<tr id="row_0_0_0_4_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="httpheaders_8h_source.html"><span class="icondoc"></span></a><a class="el" href="httpheaders_8h.html" target="_self">httpheaders.h</a></td><td class="desc">This is a utility module that handles HTTP message-headers </td></tr>
<tr id="row_0_0_0_5_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="lock_8h_source.html"><span class="icondoc"></span></a><a class="el" href="lock_8h.html" target="_self">lock.h</a></td><td class="desc">A minimalistic platform agnostic lock abstraction for thread synchronization </td></tr>
<tr id="row_0_0_0_6_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="threadapi_8h_source.html"><span class="icondoc"></span></a><a class="el" href="threadapi_8h.html" target="_self">threadapi.h</a></td><td class="desc">This module implements support for creating new threads, terminating threads and sleeping threads </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span id="img_0_1_" class="iconfopen" onclick="toggleFolder('0_1_')">&#160;</span><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html" target="_self">iothub_client</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_0_" class="arrow" onclick="toggleFolder('0_1_0_')">&#9660;</span><span id="img_0_1_0_" class="iconfopen" onclick="toggleFolder('0_1_0_')">&#160;</span><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html" target="_self">inc</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="iothub__client_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iothub__client_8h.html" target="_self">iothub_client.h</a></td><td class="desc">Extends the IoTHubCLient_LL module with additional features </td></tr>
<tr id="row_0_1_0_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="iothub__client__ll_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iothub__client__ll_8h.html" target="_self">iothub_client_ll.h</a></td><td class="desc">APIs that allow a user (usually a device) to communicate with an Azure IoTHub </td></tr>
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9660;</span><span id="img_0_2_" class="iconfopen" onclick="toggleFolder('0_2_')">&#160;</span><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html" target="_self">serializer</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_2_0_" class="arrow" onclick="toggleFolder('0_2_0_')">&#9660;</span><span id="img_0_2_0_" class="iconfopen" onclick="toggleFolder('0_2_0_')">&#160;</span><a class="el" href="dir_4512fd3943e6edf693cef6803bd9b15b.html" target="_self">inc</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="schemalib_8h_source.html"><span class="icondoc"></span></a><a class="el" href="schemalib_8h.html" target="_self">schemalib.h</a></td><td class="desc">The IoT Hub Serializer APIs allows developers to define models for their devices </td></tr>
<tr id="row_0_2_0_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="serializer_8h_source.html"><span class="icondoc"></span></a><a class="el" href="serializer_8h.html" target="_self">serializer.h</a></td><td class="desc">The IoT Hub Serializer APIs allows developers to define models for their devices </td></tr>
</table>
</div><!-- directory -->
</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.10
</small></address>
</body>
</html>

Двоичные данные
c/doc/api_reference/folderclosed.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 493 B

Двоичные данные
c/doc/api_reference/folderopen.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 505 B

Просмотреть файл

@ -1,117 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Data Fields</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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="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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></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="contents">
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div><ul>
<li>deviceId
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>deviceKey
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>iotHubName
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>iotHubSuffix
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>protocol
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,117 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Data Fields - Variables</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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="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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></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="contents">
&#160;<ul>
<li>deviceId
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>deviceKey
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>iotHubName
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>iotHubSuffix
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
<li>protocol
: <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca">IOTHUB_CLIENT_CONFIG_TAG</a>
</li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,425 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Globals</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_defs.html"><span>Macros</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li class="current"><a href="#index_w"><span>w</span></a></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="contents">
<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>Base64_Decoder()
: <a class="el" href="base64_8h.html#af53129a184d122641b31220cbd401402">base64.h</a>
</li>
<li>Base64_Encode()
: <a class="el" href="base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb">base64.h</a>
</li>
<li>Base64_Encode_Bytes()
: <a class="el" href="base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed">base64.h</a>
</li>
<li>BEGIN_NAMESPACE
: <a class="el" href="serializer_8h.html#ad409cf8f57d6766ce80a504e679bb6a6">serializer.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>DECLARE_MODEL
: <a class="el" href="serializer_8h.html#a03ed9d2601530986f0be6c9e675a9489">serializer.h</a>
</li>
<li>DECLARE_STRUCT
: <a class="el" href="serializer_8h.html#aeeaee7762d880f428ed4ba88ca7db1e6">serializer.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>END_NAMESPACE
: <a class="el" href="serializer_8h.html#af169ba5b3435392cf046bd3e07e324d3">serializer.h</a>
</li>
<li>EXECUTE_COMMAND
: <a class="el" href="serializer_8h.html#a8b306a60e81bcfdf3729962df530ec16">serializer.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>get_ctime()
: <a class="el" href="agenttime_8h.html#a0d6a35518723789d23906b028da65636">agenttime.h</a>
</li>
<li>get_difftime()
: <a class="el" href="agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be">agenttime.h</a>
</li>
<li>get_gmtime()
: <a class="el" href="agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669">agenttime.h</a>
</li>
<li>GET_MODEL_HANDLE
: <a class="el" href="serializer_8h.html#a887590f4b40f78bf359c8e56f03c56fe">serializer.h</a>
</li>
<li>get_time()
: <a class="el" href="agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd">agenttime.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>HTTP_HEADERS_RESULT
: <a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">httpheaders.h</a>
</li>
<li>HTTP_HEADERS_RESULT_TAG
: <a class="el" href="httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c">httpheaders.h</a>
</li>
<li>HTTPAPI_CloneOption()
: <a class="el" href="httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985">httpapi.h</a>
</li>
<li>HTTPAPI_CloseConnection()
: <a class="el" href="httpapi_8h.html#aed5a7f4253357457399d03dad763d904">httpapi.h</a>
</li>
<li>HTTPAPI_CreateConnection()
: <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174">httpapi.h</a>
</li>
<li>HTTPAPI_Deinit()
: <a class="el" href="httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305">httpapi.h</a>
</li>
<li>HTTPAPI_ExecuteRequest()
: <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1">httpapi.h</a>
</li>
<li>HTTPAPI_Init()
: <a class="el" href="httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4">httpapi.h</a>
</li>
<li>HTTPAPI_REQUEST_TYPE
: <a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">httpapi.h</a>
</li>
<li>HTTPAPI_REQUEST_TYPE_TAG
: <a class="el" href="httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c">httpapi.h</a>
</li>
<li>HTTPAPI_RESULT
: <a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">httpapi.h</a>
</li>
<li>HTTPAPI_RESULT_TAG
: <a class="el" href="httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87">httpapi.h</a>
</li>
<li>HTTPAPI_SetOption()
: <a class="el" href="httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84">httpapi.h</a>
</li>
<li>HTTPAPIEX_Create()
: <a class="el" href="httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70">httpapiex.h</a>
</li>
<li>HTTPAPIEX_Destroy()
: <a class="el" href="httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d">httpapiex.h</a>
</li>
<li>HTTPAPIEX_ExecuteRequest()
: <a class="el" href="httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e">httpapiex.h</a>
</li>
<li>HTTPAPIEX_RESULT
: <a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">httpapiex.h</a>
</li>
<li>HTTPAPIEX_RESULT_TAG
: <a class="el" href="httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8">httpapiex.h</a>
</li>
<li>HTTPAPIEX_SetOption()
: <a class="el" href="httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f">httpapiex.h</a>
</li>
<li>HTTPHeaders_AddHeaderNameValuePair()
: <a class="el" href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8">httpheaders.h</a>
</li>
<li>HTTPHeaders_Alloc()
: <a class="el" href="httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c">httpheaders.h</a>
</li>
<li>HTTPHeaders_Clone()
: <a class="el" href="httpheaders_8h.html#afd829706924f49fc83ed5d334789378e">httpheaders.h</a>
</li>
<li>HTTPHeaders_FindHeaderValue()
: <a class="el" href="httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076">httpheaders.h</a>
</li>
<li>HTTPHeaders_Free()
: <a class="el" href="httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2">httpheaders.h</a>
</li>
<li>HTTPHeaders_GetHeader()
: <a class="el" href="httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44">httpheaders.h</a>
</li>
<li>HTTPHeaders_GetHeaderCount()
: <a class="el" href="httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de">httpheaders.h</a>
</li>
<li>HTTPHeaders_ReplaceHeaderNameValuePair()
: <a class="el" href="httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3">httpheaders.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>IOTHUB_CLIENT_CONFIG
: <a class="el" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_CONFIRMATION_RESULT
: <a class="el" href="iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_RESULT
: <a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_STATUS
: <a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_STATUS_TAG
: <a class="el" href="iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_Create()
: <a class="el" href="iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d">iothub_client.h</a>
</li>
<li>IoTHubClient_CreateFromConnectionString()
: <a class="el" href="iothub__client_8h.html#a190e08e1201046fda675517070d63e83">iothub_client.h</a>
</li>
<li>IoTHubClient_Destroy()
: <a class="el" href="iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83">iothub_client.h</a>
</li>
<li>IoTHubClient_GetLastMessageReceiveTime()
: <a class="el" href="iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79">iothub_client.h</a>
</li>
<li>IoTHubClient_GetSendStatus()
: <a class="el" href="iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a">iothub_client.h</a>
</li>
<li>IoTHubClient_LL_Create()
: <a class="el" href="iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_CreateFromConnectionString()
: <a class="el" href="iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_Destroy()
: <a class="el" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_DoWork()
: <a class="el" href="iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_GetLastMessageReceiveTime()
: <a class="el" href="iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_GetSendStatus()
: <a class="el" href="iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_SendEventAsync()
: <a class="el" href="iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_SetMessageCallback()
: <a class="el" href="iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_SetOption()
: <a class="el" href="iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_SendEventAsync()
: <a class="el" href="iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f">iothub_client.h</a>
</li>
<li>IoTHubClient_SetMessageCallback()
: <a class="el" href="iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042">iothub_client.h</a>
</li>
<li>IoTHubClient_SetOption()
: <a class="el" href="iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197">iothub_client.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT
: <a class="el" href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">iothub_client_ll.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531">iothub_client_ll.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>Lock()
: <a class="el" href="lock_8h.html#a146c21d68c41777d20ef1f7e30518505">lock.h</a>
</li>
<li>Lock_Deinit()
: <a class="el" href="lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249">lock.h</a>
</li>
<li>Lock_Init()
: <a class="el" href="lock_8h.html#a3683432285e999baa8c543f27633829c">lock.h</a>
</li>
<li>LOCK_RESULT
: <a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">lock.h</a>
</li>
<li>LOCK_RESULT_TAG
: <a class="el" href="lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa">lock.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>SERIALIZE
: <a class="el" href="serializer_8h.html#a18c48c356331a3ff3084ff604da29b91">serializer.h</a>
</li>
<li>SERIALIZER_CONFIG
: <a class="el" href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">schemalib.h</a>
</li>
<li>SERIALIZER_CONFIG_TAG
: <a class="el" href="schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c">schemalib.h</a>
</li>
<li>serializer_deinit()
: <a class="el" href="schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2">schemalib.h</a>
</li>
<li>serializer_init()
: <a class="el" href="schemalib_8h.html#a0efca90998d764b66602d0046333d4bd">schemalib.h</a>
</li>
<li>SERIALIZER_RESULT
: <a class="el" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">schemalib.h</a>
</li>
<li>SERIALIZER_RESULT_TAG
: <a class="el" href="schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc">schemalib.h</a>
</li>
<li>serializer_setconfig()
: <a class="el" href="schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7">schemalib.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>ThreadAPI_Create()
: <a class="el" href="threadapi_8h.html#aed50c815f4090261c06968bb90644b50">threadapi.h</a>
</li>
<li>ThreadAPI_Exit()
: <a class="el" href="threadapi_8h.html#a304fd6867f922d6321f36569d1769d04">threadapi.h</a>
</li>
<li>ThreadAPI_Join()
: <a class="el" href="threadapi_8h.html#aa80bce4748cbe10f4b726f2ea3168609">threadapi.h</a>
</li>
<li>THREADAPI_RESULT
: <a class="el" href="threadapi_8h.html#aa3ec4389c15a7208ff9dfe12533781cd">threadapi.h</a>
</li>
<li>THREADAPI_RESULT_TAG
: <a class="el" href="threadapi_8h.html#a66fa1f9dc4dba46aff5a1a9f7b013d2a">threadapi.h</a>
</li>
<li>ThreadAPI_Sleep()
: <a class="el" href="threadapi_8h.html#a9ce3ec671e3aa3ca28a3e93c514dac56">threadapi.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>Unlock()
: <a class="el" href="lock_8h.html#aef3dd970e9edfc49b414aa6cb0f3ad84">lock.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
<li>WITH_ACTION
: <a class="el" href="serializer_8h.html#a2b3c020f5a3943e946cc9a01c958af4c">serializer.h</a>
</li>
<li>WITH_DATA
: <a class="el" href="serializer_8h.html#aebcff311f305eddbad1712b8d7aded85">serializer.h</a>
</li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,131 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Globals</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li class="current"><a href="globals_defs.html"><span>Macros</span></a></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="contents">
&#160;<ul>
<li>BEGIN_NAMESPACE
: <a class="el" href="serializer_8h.html#ad409cf8f57d6766ce80a504e679bb6a6">serializer.h</a>
</li>
<li>DECLARE_MODEL
: <a class="el" href="serializer_8h.html#a03ed9d2601530986f0be6c9e675a9489">serializer.h</a>
</li>
<li>DECLARE_STRUCT
: <a class="el" href="serializer_8h.html#aeeaee7762d880f428ed4ba88ca7db1e6">serializer.h</a>
</li>
<li>END_NAMESPACE
: <a class="el" href="serializer_8h.html#af169ba5b3435392cf046bd3e07e324d3">serializer.h</a>
</li>
<li>EXECUTE_COMMAND
: <a class="el" href="serializer_8h.html#a8b306a60e81bcfdf3729962df530ec16">serializer.h</a>
</li>
<li>GET_MODEL_HANDLE
: <a class="el" href="serializer_8h.html#a887590f4b40f78bf359c8e56f03c56fe">serializer.h</a>
</li>
<li>SERIALIZE
: <a class="el" href="serializer_8h.html#a18c48c356331a3ff3084ff604da29b91">serializer.h</a>
</li>
<li>WITH_ACTION
: <a class="el" href="serializer_8h.html#a2b3c020f5a3943e946cc9a01c958af4c">serializer.h</a>
</li>
<li>WITH_DATA
: <a class="el" href="serializer_8h.html#aebcff311f305eddbad1712b8d7aded85">serializer.h</a>
</li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,140 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Globals</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_defs.html"><span>Macros</span></a></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="contents">
&#160;<ul>
<li>HTTP_HEADERS_RESULT_TAG
: <a class="el" href="httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c">httpheaders.h</a>
</li>
<li>HTTPAPI_REQUEST_TYPE_TAG
: <a class="el" href="httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c">httpapi.h</a>
</li>
<li>HTTPAPI_RESULT_TAG
: <a class="el" href="httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87">httpapi.h</a>
</li>
<li>HTTPAPIEX_RESULT_TAG
: <a class="el" href="httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8">httpapiex.h</a>
</li>
<li>IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_STATUS_TAG
: <a class="el" href="iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7">iothub_client_ll.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531">iothub_client_ll.h</a>
</li>
<li>LOCK_RESULT_TAG
: <a class="el" href="lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa">lock.h</a>
</li>
<li>SERIALIZER_CONFIG_TAG
: <a class="el" href="schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c">schemalib.h</a>
</li>
<li>SERIALIZER_RESULT_TAG
: <a class="el" href="schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc">schemalib.h</a>
</li>
<li>THREADAPI_RESULT_TAG
: <a class="el" href="threadapi_8h.html#a66fa1f9dc4dba46aff5a1a9f7b013d2a">threadapi.h</a>
</li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,308 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Globals</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_defs.html"><span>Macros</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li class="current"><a href="#index_u"><span>u</span></a></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="contents">
&#160;
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>Base64_Decoder()
: <a class="el" href="base64_8h.html#af53129a184d122641b31220cbd401402">base64.h</a>
</li>
<li>Base64_Encode()
: <a class="el" href="base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb">base64.h</a>
</li>
<li>Base64_Encode_Bytes()
: <a class="el" href="base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed">base64.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>get_ctime()
: <a class="el" href="agenttime_8h.html#a0d6a35518723789d23906b028da65636">agenttime.h</a>
</li>
<li>get_difftime()
: <a class="el" href="agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be">agenttime.h</a>
</li>
<li>get_gmtime()
: <a class="el" href="agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669">agenttime.h</a>
</li>
<li>get_time()
: <a class="el" href="agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd">agenttime.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>HTTPAPI_CloneOption()
: <a class="el" href="httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985">httpapi.h</a>
</li>
<li>HTTPAPI_CloseConnection()
: <a class="el" href="httpapi_8h.html#aed5a7f4253357457399d03dad763d904">httpapi.h</a>
</li>
<li>HTTPAPI_CreateConnection()
: <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174">httpapi.h</a>
</li>
<li>HTTPAPI_Deinit()
: <a class="el" href="httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305">httpapi.h</a>
</li>
<li>HTTPAPI_ExecuteRequest()
: <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1">httpapi.h</a>
</li>
<li>HTTPAPI_Init()
: <a class="el" href="httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4">httpapi.h</a>
</li>
<li>HTTPAPI_SetOption()
: <a class="el" href="httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84">httpapi.h</a>
</li>
<li>HTTPAPIEX_Create()
: <a class="el" href="httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70">httpapiex.h</a>
</li>
<li>HTTPAPIEX_Destroy()
: <a class="el" href="httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d">httpapiex.h</a>
</li>
<li>HTTPAPIEX_ExecuteRequest()
: <a class="el" href="httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e">httpapiex.h</a>
</li>
<li>HTTPAPIEX_SetOption()
: <a class="el" href="httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f">httpapiex.h</a>
</li>
<li>HTTPHeaders_AddHeaderNameValuePair()
: <a class="el" href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8">httpheaders.h</a>
</li>
<li>HTTPHeaders_Alloc()
: <a class="el" href="httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c">httpheaders.h</a>
</li>
<li>HTTPHeaders_Clone()
: <a class="el" href="httpheaders_8h.html#afd829706924f49fc83ed5d334789378e">httpheaders.h</a>
</li>
<li>HTTPHeaders_FindHeaderValue()
: <a class="el" href="httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076">httpheaders.h</a>
</li>
<li>HTTPHeaders_Free()
: <a class="el" href="httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2">httpheaders.h</a>
</li>
<li>HTTPHeaders_GetHeader()
: <a class="el" href="httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44">httpheaders.h</a>
</li>
<li>HTTPHeaders_GetHeaderCount()
: <a class="el" href="httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de">httpheaders.h</a>
</li>
<li>HTTPHeaders_ReplaceHeaderNameValuePair()
: <a class="el" href="httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3">httpheaders.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>IoTHubClient_Create()
: <a class="el" href="iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d">iothub_client.h</a>
</li>
<li>IoTHubClient_CreateFromConnectionString()
: <a class="el" href="iothub__client_8h.html#a190e08e1201046fda675517070d63e83">iothub_client.h</a>
</li>
<li>IoTHubClient_Destroy()
: <a class="el" href="iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83">iothub_client.h</a>
</li>
<li>IoTHubClient_GetLastMessageReceiveTime()
: <a class="el" href="iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79">iothub_client.h</a>
</li>
<li>IoTHubClient_GetSendStatus()
: <a class="el" href="iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a">iothub_client.h</a>
</li>
<li>IoTHubClient_LL_Create()
: <a class="el" href="iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_CreateFromConnectionString()
: <a class="el" href="iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_Destroy()
: <a class="el" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_DoWork()
: <a class="el" href="iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_GetLastMessageReceiveTime()
: <a class="el" href="iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_GetSendStatus()
: <a class="el" href="iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_SendEventAsync()
: <a class="el" href="iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_SetMessageCallback()
: <a class="el" href="iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_LL_SetOption()
: <a class="el" href="iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2">iothub_client_ll.h</a>
</li>
<li>IoTHubClient_SendEventAsync()
: <a class="el" href="iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f">iothub_client.h</a>
</li>
<li>IoTHubClient_SetMessageCallback()
: <a class="el" href="iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042">iothub_client.h</a>
</li>
<li>IoTHubClient_SetOption()
: <a class="el" href="iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197">iothub_client.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>Lock()
: <a class="el" href="lock_8h.html#a146c21d68c41777d20ef1f7e30518505">lock.h</a>
</li>
<li>Lock_Deinit()
: <a class="el" href="lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249">lock.h</a>
</li>
<li>Lock_Init()
: <a class="el" href="lock_8h.html#a3683432285e999baa8c543f27633829c">lock.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>serializer_deinit()
: <a class="el" href="schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2">schemalib.h</a>
</li>
<li>serializer_init()
: <a class="el" href="schemalib_8h.html#a0efca90998d764b66602d0046333d4bd">schemalib.h</a>
</li>
<li>serializer_setconfig()
: <a class="el" href="schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7">schemalib.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>ThreadAPI_Create()
: <a class="el" href="threadapi_8h.html#aed50c815f4090261c06968bb90644b50">threadapi.h</a>
</li>
<li>ThreadAPI_Exit()
: <a class="el" href="threadapi_8h.html#a304fd6867f922d6321f36569d1769d04">threadapi.h</a>
</li>
<li>ThreadAPI_Join()
: <a class="el" href="threadapi_8h.html#aa80bce4748cbe10f4b726f2ea3168609">threadapi.h</a>
</li>
<li>ThreadAPI_Sleep()
: <a class="el" href="threadapi_8h.html#a9ce3ec671e3aa3ca28a3e93c514dac56">threadapi.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>Unlock()
: <a class="el" href="lock_8h.html#aef3dd970e9edfc49b414aa6cb0f3ad84">lock.h</a>
</li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,143 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Globals</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_defs.html"><span>Macros</span></a></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="contents">
&#160;<ul>
<li>HTTP_HEADERS_RESULT
: <a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">httpheaders.h</a>
</li>
<li>HTTPAPI_REQUEST_TYPE
: <a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">httpapi.h</a>
</li>
<li>HTTPAPI_RESULT
: <a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">httpapi.h</a>
</li>
<li>HTTPAPIEX_RESULT
: <a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">httpapiex.h</a>
</li>
<li>IOTHUB_CLIENT_CONFIG
: <a class="el" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_CONFIRMATION_RESULT
: <a class="el" href="iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_RESULT
: <a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">iothub_client_ll.h</a>
</li>
<li>IOTHUB_CLIENT_STATUS
: <a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">iothub_client_ll.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT
: <a class="el" href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">iothub_client_ll.h</a>
</li>
<li>LOCK_RESULT
: <a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">lock.h</a>
</li>
<li>SERIALIZER_CONFIG
: <a class="el" href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">schemalib.h</a>
</li>
<li>SERIALIZER_RESULT
: <a class="el" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">schemalib.h</a>
</li>
<li>THREADAPI_RESULT
: <a class="el" href="threadapi_8h.html#aa3ec4389c15a7208ff9dfe12533781cd">threadapi.h</a>
</li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -93,6 +93,9 @@ Files</h2></td></tr>
<tr class="memitem:iothub__client__ll_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html">iothub_client_ll.h</a> <a href="iothub__client__ll_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:iothub__client__ll_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">APIs that allow a user (usually a device) to communicate with an Azure IoTHub. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:iothub__message_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html">iothub_message.h</a> <a href="iothub__message_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:iothub__message_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>IoTHub_Message</code> component encapsulates one message that can be transferred by an IoT hub client. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->

Просмотреть файл

@ -102,10 +102,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr id="row_0_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_0_" class="arrow" onclick="toggleFolder('0_1_0_')">&#9660;</span><span id="img_0_1_0_" class="iconfopen" onclick="toggleFolder('0_1_0_')">&#160;</span><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html" target="_self">inc</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="iothub__client_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iothub__client_8h.html" target="_self">iothub_client.h</a></td><td class="desc">Extends the IoTHubCLient_LL module with additional features </td></tr>
<tr id="row_0_1_0_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="iothub__client__ll_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iothub__client__ll_8h.html" target="_self">iothub_client_ll.h</a></td><td class="desc">APIs that allow a user (usually a device) to communicate with an Azure IoTHub </td></tr>
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9660;</span><span id="img_0_2_" class="iconfopen" onclick="toggleFolder('0_2_')">&#160;</span><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html" target="_self">serializer</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_2_0_" class="arrow" onclick="toggleFolder('0_2_0_')">&#9660;</span><span id="img_0_2_0_" class="iconfopen" onclick="toggleFolder('0_2_0_')">&#160;</span><a class="el" href="dir_4512fd3943e6edf693cef6803bd9b15b.html" target="_self">inc</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="schemalib_8h_source.html"><span class="icondoc"></span></a><a class="el" href="schemalib_8h.html" target="_self">schemalib.h</a></td><td class="desc">The IoT Hub Serializer APIs allows developers to define models for their devices </td></tr>
<tr id="row_0_2_0_1_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="serializer_8h_source.html"><span class="icondoc"></span></a><a class="el" href="serializer_8h.html" target="_self">serializer.h</a></td><td class="desc">The IoT Hub Serializer APIs allows developers to define models for their devices </td></tr>
<tr id="row_0_1_0_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="iothub__message_8h_source.html"><span class="icondoc"></span></a><a class="el" href="iothub__message_8h.html" target="_self">iothub_message.h</a></td><td class="desc">The <code>IoTHub_Message</code> component encapsulates one message that can be transferred by an IoT hub client </td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9660;</span><span id="img_0_2_" class="iconfopen" onclick="toggleFolder('0_2_')">&#160;</span><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html" target="_self">serializer</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_2_0_" class="arrow" onclick="toggleFolder('0_2_0_')">&#9660;</span><span id="img_0_2_0_" class="iconfopen" onclick="toggleFolder('0_2_0_')">&#160;</span><a class="el" href="dir_4512fd3943e6edf693cef6803bd9b15b.html" target="_self">inc</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="schemalib_8h_source.html"><span class="icondoc"></span></a><a class="el" href="schemalib_8h.html" target="_self">schemalib.h</a></td><td class="desc">The IoT Hub Serializer APIs allows developers to define models for their devices </td></tr>
<tr id="row_0_2_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="serializer_8h_source.html"><span class="icondoc"></span></a><a class="el" href="serializer_8h.html" target="_self">serializer.h</a></td><td class="desc">The IoT Hub Serializer APIs allows developers to define models for their devices </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

Просмотреть файл

@ -270,6 +270,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>IOTHUB_CLIENT_STATUS_TAG
: <a class="el" href="iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7">iothub_client_ll.h</a>
</li>
<li>IOTHUB_MESSAGE_RESULT
: <a class="el" href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">iothub_message.h</a>
</li>
<li>IOTHUB_MESSAGE_RESULT_TAG
: <a class="el" href="iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b">iothub_message.h</a>
</li>
<li>IoTHubClient_Create()
: <a class="el" href="iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d">iothub_client.h</a>
</li>
@ -321,12 +327,42 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>IoTHubClient_SetOption()
: <a class="el" href="iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197">iothub_client.h</a>
</li>
<li>IoTHubMessage_Clone()
: <a class="el" href="iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4">iothub_message.h</a>
</li>
<li>IOTHUBMESSAGE_CONTENT_TYPE
: <a class="el" href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">iothub_message.h</a>
</li>
<li>IOTHUBMESSAGE_CONTENT_TYPE_TAG
: <a class="el" href="iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669">iothub_message.h</a>
</li>
<li>IoTHubMessage_CreateFromByteArray()
: <a class="el" href="iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f">iothub_message.h</a>
</li>
<li>IoTHubMessage_CreateFromString()
: <a class="el" href="iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db">iothub_message.h</a>
</li>
<li>IoTHubMessage_Destroy()
: <a class="el" href="iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf">iothub_message.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT
: <a class="el" href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">iothub_client_ll.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531">iothub_client_ll.h</a>
</li>
<li>IoTHubMessage_GetByteArray()
: <a class="el" href="iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957">iothub_message.h</a>
</li>
<li>IoTHubMessage_GetContentType()
: <a class="el" href="iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c">iothub_message.h</a>
</li>
<li>IoTHubMessage_GetString()
: <a class="el" href="iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41">iothub_message.h</a>
</li>
<li>IoTHubMessage_Properties()
: <a class="el" href="iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2">iothub_message.h</a>
</li>
</ul>

Просмотреть файл

@ -113,6 +113,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>IOTHUB_CLIENT_STATUS_TAG
: <a class="el" href="iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7">iothub_client_ll.h</a>
</li>
<li>IOTHUB_MESSAGE_RESULT_TAG
: <a class="el" href="iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b">iothub_message.h</a>
</li>
<li>IOTHUBMESSAGE_CONTENT_TYPE_TAG
: <a class="el" href="iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669">iothub_message.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT_TAG
: <a class="el" href="iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531">iothub_client_ll.h</a>
</li>

Просмотреть файл

@ -247,6 +247,30 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>IoTHubClient_SetOption()
: <a class="el" href="iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197">iothub_client.h</a>
</li>
<li>IoTHubMessage_Clone()
: <a class="el" href="iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4">iothub_message.h</a>
</li>
<li>IoTHubMessage_CreateFromByteArray()
: <a class="el" href="iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f">iothub_message.h</a>
</li>
<li>IoTHubMessage_CreateFromString()
: <a class="el" href="iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db">iothub_message.h</a>
</li>
<li>IoTHubMessage_Destroy()
: <a class="el" href="iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf">iothub_message.h</a>
</li>
<li>IoTHubMessage_GetByteArray()
: <a class="el" href="iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957">iothub_message.h</a>
</li>
<li>IoTHubMessage_GetContentType()
: <a class="el" href="iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c">iothub_message.h</a>
</li>
<li>IoTHubMessage_GetString()
: <a class="el" href="iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41">iothub_message.h</a>
</li>
<li>IoTHubMessage_Properties()
: <a class="el" href="iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2">iothub_message.h</a>
</li>
</ul>

Просмотреть файл

@ -116,6 +116,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li>IOTHUB_CLIENT_STATUS
: <a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">iothub_client_ll.h</a>
</li>
<li>IOTHUB_MESSAGE_RESULT
: <a class="el" href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">iothub_message.h</a>
</li>
<li>IOTHUBMESSAGE_CONTENT_TYPE
: <a class="el" href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">iothub_message.h</a>
</li>
<li>IOTHUBMESSAGE_DISPOSITION_RESULT
: <a class="el" href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">iothub_client_ll.h</a>
</li>

Просмотреть файл

@ -192,7 +192,7 @@ Functions</h2></td></tr>
</dd>
</dl>
<p>Sample connection string: </p><blockquote class="doxtable">
<pre>HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];</pre> </blockquote>
<pre>HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];</pre> </blockquote>
<dl class="section return"><dt>Returns</dt><dd>A non-NULL <code>IOTHUB_CLIENT_LL_HANDLE</code> value that is used when invoking other functions for IoT Hub client and <code>NULL</code> on failure. </dd></dl>
</div>

Просмотреть файл

@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="agenttime_8h_source.html">agenttime.h</a>&quot;</code><br />
<code>#include &quot;macro_utils.h&quot;</code><br />
<code>#include &quot;iothub_message.h&quot;</code><br />
<code>#include &quot;<a class="el" href="iothub__message_8h_source.html">iothub_message.h</a>&quot;</code><br />
</div>
<p><a href="iothub__client__ll_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
@ -242,7 +242,7 @@ Functions</h2></td></tr>
</dd>
</dl>
<p>Sample connection string: </p><blockquote class="doxtable">
<pre>HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];</pre> </blockquote>
<pre>HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];</pre> </blockquote>
<dl class="section return"><dt>Returns</dt><dd>A non-NULL <code>IOTHUB_CLIENT_LL_HANDLE</code> value that is used when invoking other functions for IoT Hub client and <code>NULL</code> on failure. </dd></dl>
</div>

Просмотреть файл

@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;iothub_message.h&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="iothub__message_8h.html">iothub_message.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div>
@ -199,6 +199,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="ttc" id="iothub__client__ll_8h_html_a988b1c83b28d268c642d72dcab8228a4"><div class="ttname"><a href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">IOTHUBMESSAGE_DISPOSITION_RESULT</a></div><div class="ttdeci">enum IOTHUBMESSAGE_DISPOSITION_RESULT_TAG IOTHUBMESSAGE_DISPOSITION_RESULT</div><div class="ttdoc">Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the dev...</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_af5e5e122bdc1f1228ae2116fc158b3d6"><div class="ttname"><a href="iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6">IoTHubClient_LL_DoWork</a></div><div class="ttdeci">void IoTHubClient_LL_DoWork(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)</div><div class="ttdoc">This function is meant to be called by the user when work (sending/receiving) can be done by the IoTH...</div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html_ad030712a97d1d08abb7d38841417fc2d"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d">IOTHUB_CLIENT_CONFIG_TAG::deviceKey</a></div><div class="ttdeci">const char * deviceKey</div><div class="ttdoc">The device key used to authenticate the device. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:103</div></div>
<div class="ttc" id="iothub__message_8h_html"><div class="ttname"><a href="iothub__message_8h.html">iothub_message.h</a></div><div class="ttdoc">The IoTHub_Message component encapsulates one message that can be transferred by an IoT hub client...</div></div>
<div class="ttc" id="agenttime_8h_html"><div class="ttname"><a href="agenttime_8h.html">agenttime.h</a></div><div class="ttdoc">Function prototypes for time related functions. </div></div>
<div class="ttc" id="iothub__client__ll_8h_html_aadecae0b07958725e83cae943250469d"><div class="ttname"><a href="iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d">IoTHubClient_LL_CreateFromConnectionString</a></div><div class="ttdeci">IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString(const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)</div><div class="ttdoc">Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection st...</div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG_TAG</a></div><div class="ttdoc">This struct captures IoTHub client configuration. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:90</div></div>

Просмотреть файл

@ -0,0 +1,392 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_message.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li><li class="navelem"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">iothub_message.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The <code>IoTHub_Message</code> component encapsulates one message that can be transferred by an IoT hub client.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;macro_utils.h&quot;</code><br />
<code>#include &quot;map.h&quot;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
</div>
<p><a href="iothub__message_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ab826e84207e0513abcf6825fa72c7a7f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab826e84207e0513abcf6825fa72c7a7f"></a>
typedef enum <a class="el" href="iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b">IOTHUB_MESSAGE_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">IOTHUB_MESSAGE_RESULT</a></td></tr>
<tr class="memdesc:ab826e84207e0513abcf6825fa72c7a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:ab826e84207e0513abcf6825fa72c7a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1540154c626623da1ecf6fab5b380c27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1540154c626623da1ecf6fab5b380c27"></a>
typedef enum <a class="el" href="iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669">IOTHUBMESSAGE_CONTENT_TYPE_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">IOTHUBMESSAGE_CONTENT_TYPE</a></td></tr>
<tr class="memdesc:a1540154c626623da1ecf6fab5b380c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the content type of the a given message. <br /></td></tr>
<tr class="separator:a1540154c626623da1ecf6fab5b380c27"><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:a5f8a34b4b03e4133e9612c584852891b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f8a34b4b03e4133e9612c584852891b"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b">IOTHUB_MESSAGE_RESULT_TAG</a> <tr class="memdesc:a5f8a34b4b03e4133e9612c584852891b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:a5f8a34b4b03e4133e9612c584852891b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</td></tr>
<tr class="memitem:a3bac0fe02b09114764eba2d1e9168669"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bac0fe02b09114764eba2d1e9168669"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669">IOTHUBMESSAGE_CONTENT_TYPE_TAG</a> <tr class="memdesc:a3bac0fe02b09114764eba2d1e9168669"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the content type of the a given message. <br /></td></tr>
<tr class="separator:a3bac0fe02b09114764eba2d1e9168669"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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:acaa3b835c12fb0254938af052f0fcb6f"><td class="memItemLeft" align="right" valign="top">IOTHUB_MESSAGE_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f">IoTHubMessage_CreateFromByteArray</a> (const unsigned char *byteArray, size_t size)</td></tr>
<tr class="memdesc:acaa3b835c12fb0254938af052f0fcb6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new IoT hub message from a byte array. The type of the message will be set to <code>IOTHUBMESSAGE_BYTEARRAY</code>. <a href="#acaa3b835c12fb0254938af052f0fcb6f">More...</a><br /></td></tr>
<tr class="separator:acaa3b835c12fb0254938af052f0fcb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b44199b87bd177d1a85671faef657db"><td class="memItemLeft" align="right" valign="top">IOTHUB_MESSAGE_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db">IoTHubMessage_CreateFromString</a> (const char *source)</td></tr>
<tr class="memdesc:a8b44199b87bd177d1a85671faef657db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new IoT hub message from a null terminated string. The type of the message will be set to <code>IOTHUBMESSAGE_STRING</code>. <a href="#a8b44199b87bd177d1a85671faef657db">More...</a><br /></td></tr>
<tr class="separator:a8b44199b87bd177d1a85671faef657db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5c68ff6fbb9dbe613c8b981f4c202b4"><td class="memItemLeft" align="right" valign="top">IOTHUB_MESSAGE_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4">IoTHubMessage_Clone</a> (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</td></tr>
<tr class="memdesc:ab5c68ff6fbb9dbe613c8b981f4c202b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new IoT hub message with the content identical to that of the <code>iotHubMessageHandle</code> parameter. <a href="#ab5c68ff6fbb9dbe613c8b981f4c202b4">More...</a><br /></td></tr>
<tr class="separator:ab5c68ff6fbb9dbe613c8b981f4c202b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afac0461ed8c3d522bbf2a4cfa9f3f957"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">IOTHUB_MESSAGE_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957">IoTHubMessage_GetByteArray</a> (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle, const unsigned char **buffer, size_t *size)</td></tr>
<tr class="memdesc:afac0461ed8c3d522bbf2a4cfa9f3f957"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetches a pointer and size for the data associated with the IoT hub message handle. If the content type of the message is not <code>IOTHUBMESSAGE_BYTEARRAY</code> then the function returns <code>IOTHUB_MESSAGE_INVALID_ARG</code>. <a href="#afac0461ed8c3d522bbf2a4cfa9f3f957">More...</a><br /></td></tr>
<tr class="separator:afac0461ed8c3d522bbf2a4cfa9f3f957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf63b9aecdde6f8c90d9fbd0755d0c41"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41">IoTHubMessage_GetString</a> (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</td></tr>
<tr class="memdesc:aaf63b9aecdde6f8c90d9fbd0755d0c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the null terminated string stored in the message. If the content type of the message is not <code>IOTHUBMESSAGE_STRING</code> then the function returns <code>NULL</code>. <a href="#aaf63b9aecdde6f8c90d9fbd0755d0c41">More...</a><br /></td></tr>
<tr class="separator:aaf63b9aecdde6f8c90d9fbd0755d0c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7fd8e5a5844a4346933a86feb577d3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">IOTHUBMESSAGE_CONTENT_TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c">IoTHubMessage_GetContentType</a> (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</td></tr>
<tr class="memdesc:ae7fd8e5a5844a4346933a86feb577d3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the content type of the message given by parameter <code>iotHubMessageHandle</code>. <a href="#ae7fd8e5a5844a4346933a86feb577d3c">More...</a><br /></td></tr>
<tr class="separator:ae7fd8e5a5844a4346933a86feb577d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ab46db5ad9db0b497b5171e21b64ea2"><td class="memItemLeft" align="right" valign="top">MAP_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2">IoTHubMessage_Properties</a> (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</td></tr>
<tr class="memdesc:a2ab46db5ad9db0b497b5171e21b64ea2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a handle to the message's properties map. <a href="#a2ab46db5ad9db0b497b5171e21b64ea2">More...</a><br /></td></tr>
<tr class="separator:a2ab46db5ad9db0b497b5171e21b64ea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8303de9790f32c3b0aebac6cfb0e80bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf">IoTHubMessage_Destroy</a> (IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</td></tr>
<tr class="memdesc:a8303de9790f32c3b0aebac6cfb0e80bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all resources associated with the given message handle. <a href="#a8303de9790f32c3b0aebac6cfb0e80bf">More...</a><br /></td></tr>
<tr class="separator:a8303de9790f32c3b0aebac6cfb0e80bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The <code>IoTHub_Message</code> component encapsulates one message that can be transferred by an IoT hub client. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ab5c68ff6fbb9dbe613c8b981f4c202b4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone </td>
<td>(</td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>iotHubMessageHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new IoT hub message with the content identical to that of the <code>iotHubMessageHandle</code> parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubMessageHandle</td><td>Handle to the message that is to be cloned.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A valid <code>IOTHUB_MESSAGE_HANDLE</code> if the message was successfully cloned or <code>NULL</code> in case an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="acaa3b835c12fb0254938af052f0fcb6f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray </td>
<td>(</td>
<td class="paramtype">const unsigned char *&#160;</td>
<td class="paramname"><em>byteArray</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new IoT hub message from a byte array. The type of the message will be set to <code>IOTHUBMESSAGE_BYTEARRAY</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">byteArray</td><td>The byte array from which the message is to be created. </td></tr>
<tr><td class="paramname">size</td><td>The size of the byte array.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A valid <code>IOTHUB_MESSAGE_HANDLE</code> if the message was successfully created or <code>NULL</code> in case an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="a8b44199b87bd177d1a85671faef657db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromString </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new IoT hub message from a null terminated string. The type of the message will be set to <code>IOTHUBMESSAGE_STRING</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">source</td><td>The null terminated string from which the message is to be created.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A valid <code>IOTHUB_MESSAGE_HANDLE</code> if the message was successfully created or <code>NULL</code> in case an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="a8303de9790f32c3b0aebac6cfb0e80bf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IoTHubMessage_Destroy </td>
<td>(</td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>iotHubMessageHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Frees all resources associated with the given message handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubMessageHandle</td><td>Handle to the message. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="afac0461ed8c3d522bbf2a4cfa9f3f957"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">IOTHUB_MESSAGE_RESULT</a> IoTHubMessage_GetByteArray </td>
<td>(</td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>iotHubMessageHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned char **&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetches a pointer and size for the data associated with the IoT hub message handle. If the content type of the message is not <code>IOTHUBMESSAGE_BYTEARRAY</code> then the function returns <code>IOTHUB_MESSAGE_INVALID_ARG</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubMessageHandle</td><td>Handle to the message. </td></tr>
<tr><td class="paramname">buffer</td><td>Pointer to the memory location where the pointer to the buffer will be written. </td></tr>
<tr><td class="paramname">size</td><td>The size of the buffer will be written to this address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns IOTHUB_MESSAGE_OK if the byte array was fetched successfully or an error code otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ae7fd8e5a5844a4346933a86feb577d3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">IOTHUBMESSAGE_CONTENT_TYPE</a> IoTHubMessage_GetContentType </td>
<td>(</td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>iotHubMessageHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the content type of the message given by parameter <code>iotHubMessageHandle</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubMessageHandle</td><td>Handle to the message.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An <code>IOTHUBMESSAGE_CONTENT_TYPE</code> value. </dd></dl>
</div>
</div>
<a class="anchor" id="aaf63b9aecdde6f8c90d9fbd0755d0c41"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* IoTHubMessage_GetString </td>
<td>(</td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>iotHubMessageHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the null terminated string stored in the message. If the content type of the message is not <code>IOTHUBMESSAGE_STRING</code> then the function returns <code>NULL</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubMessageHandle</td><td>Handle to the message.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>NULL</code> if an error occurs or a pointer to the stored null terminated string otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="a2ab46db5ad9db0b497b5171e21b64ea2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">MAP_HANDLE IoTHubMessage_Properties </td>
<td>(</td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>iotHubMessageHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a handle to the message's properties map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubMessageHandle</td><td>Handle to the message.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <code>MAP_HANDLE</code> pointing to the properties map for this message. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -0,0 +1,168 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_message.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li><li class="navelem"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">iothub_message.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="iothub__message_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#ifndef IOTHUB_MESSAGE_H</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#define IOTHUB_MESSAGE_H</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;map.h&quot;</span> </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#define IOTHUB_MESSAGE_RESULT_VALUES \</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"> IOTHUB_MESSAGE_OK, \</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"> IOTHUB_MESSAGE_INVALID_ARG, \</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"> IOTHUB_MESSAGE_INVALID_TYPE, \</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"> IOTHUB_MESSAGE_ERROR \</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b"> 32</a></span>&#160;DEFINE_ENUM(<a class="code" href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">IOTHUB_MESSAGE_RESULT</a>, IOTHUB_MESSAGE_RESULT_VALUES);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#define IOTHUBMESSAGE_CONTENT_TYPE_VALUES \</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">IOTHUBMESSAGE_BYTEARRAY, \</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">IOTHUBMESSAGE_STRING, \</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">IOTHUBMESSAGE_UNKNOWN \</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669"> 42</a></span>&#160;DEFINE_ENUM(<a class="code" href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">IOTHUBMESSAGE_CONTENT_TYPE</a>, IOTHUBMESSAGE_CONTENT_TYPE_VALUES);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span>* IOTHUB_MESSAGE_HANDLE;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">extern</span> IOTHUB_MESSAGE_HANDLE <a class="code" href="iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f">IoTHubMessage_CreateFromByteArray</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* byteArray, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword">extern</span> IOTHUB_MESSAGE_HANDLE <a class="code" href="iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db">IoTHubMessage_CreateFromString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* source);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keyword">extern</span> IOTHUB_MESSAGE_HANDLE <a class="code" href="iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4">IoTHubMessage_Clone</a>(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">extern</span> <a class="code" href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">IOTHUB_MESSAGE_RESULT</a> <a class="code" href="iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957">IoTHubMessage_GetByteArray</a>(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>** buffer, <span class="keywordtype">size_t</span>* size);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41">IoTHubMessage_GetString</a>(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keyword">extern</span> <a class="code" href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">IOTHUBMESSAGE_CONTENT_TYPE</a> <a class="code" href="iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c">IoTHubMessage_GetContentType</a>(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword">extern</span> MAP_HANDLE <a class="code" href="iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2">IoTHubMessage_Properties</a>(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf">IoTHubMessage_Destroy</a>(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;}</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* IOTHUB_MESSAGE_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="iothub__message_8h_html_ae7fd8e5a5844a4346933a86feb577d3c"><div class="ttname"><a href="iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c">IoTHubMessage_GetContentType</a></div><div class="ttdeci">IOTHUBMESSAGE_CONTENT_TYPE IoTHubMessage_GetContentType(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</div><div class="ttdoc">Returns the content type of the message given by parameter iotHubMessageHandle. </div></div>
<div class="ttc" id="iothub__message_8h_html_a8303de9790f32c3b0aebac6cfb0e80bf"><div class="ttname"><a href="iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf">IoTHubMessage_Destroy</a></div><div class="ttdeci">void IoTHubMessage_Destroy(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</div><div class="ttdoc">Frees all resources associated with the given message handle. </div></div>
<div class="ttc" id="iothub__message_8h_html_ab826e84207e0513abcf6825fa72c7a7f"><div class="ttname"><a href="iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f">IOTHUB_MESSAGE_RESULT</a></div><div class="ttdeci">enum IOTHUB_MESSAGE_RESULT_TAG IOTHUB_MESSAGE_RESULT</div><div class="ttdoc">Enumeration specifying the status of calls to various APIs in this module. </div></div>
<div class="ttc" id="iothub__message_8h_html_a2ab46db5ad9db0b497b5171e21b64ea2"><div class="ttname"><a href="iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2">IoTHubMessage_Properties</a></div><div class="ttdeci">MAP_HANDLE IoTHubMessage_Properties(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</div><div class="ttdoc">Gets a handle to the message&#39;s properties map. </div></div>
<div class="ttc" id="iothub__message_8h_html_ab5c68ff6fbb9dbe613c8b981f4c202b4"><div class="ttname"><a href="iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4">IoTHubMessage_Clone</a></div><div class="ttdeci">IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</div><div class="ttdoc">Creates a new IoT hub message with the content identical to that of the iotHubMessageHandle parameter...</div></div>
<div class="ttc" id="iothub__message_8h_html_acaa3b835c12fb0254938af052f0fcb6f"><div class="ttname"><a href="iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f">IoTHubMessage_CreateFromByteArray</a></div><div class="ttdeci">IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray(const unsigned char *byteArray, size_t size)</div><div class="ttdoc">Creates a new IoT hub message from a byte array. The type of the message will be set to IOTHUBMESSAGE...</div></div>
<div class="ttc" id="iothub__message_8h_html_a1540154c626623da1ecf6fab5b380c27"><div class="ttname"><a href="iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27">IOTHUBMESSAGE_CONTENT_TYPE</a></div><div class="ttdeci">enum IOTHUBMESSAGE_CONTENT_TYPE_TAG IOTHUBMESSAGE_CONTENT_TYPE</div><div class="ttdoc">Enumeration specifying the content type of the a given message. </div></div>
<div class="ttc" id="iothub__message_8h_html_a8b44199b87bd177d1a85671faef657db"><div class="ttname"><a href="iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db">IoTHubMessage_CreateFromString</a></div><div class="ttdeci">IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromString(const char *source)</div><div class="ttdoc">Creates a new IoT hub message from a null terminated string. The type of the message will be set to I...</div></div>
<div class="ttc" id="iothub__message_8h_html_afac0461ed8c3d522bbf2a4cfa9f3f957"><div class="ttname"><a href="iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957">IoTHubMessage_GetByteArray</a></div><div class="ttdeci">IOTHUB_MESSAGE_RESULT IoTHubMessage_GetByteArray(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle, const unsigned char **buffer, size_t *size)</div><div class="ttdoc">Fetches a pointer and size for the data associated with the IoT hub message handle. If the content type of the message is not IOTHUBMESSAGE_BYTEARRAY then the function returns IOTHUB_MESSAGE_INVALID_ARG. </div></div>
<div class="ttc" id="iothub__message_8h_html_aaf63b9aecdde6f8c90d9fbd0755d0c41"><div class="ttname"><a href="iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41">IoTHubMessage_GetString</a></div><div class="ttdeci">const char * IoTHubMessage_GetString(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)</div><div class="ttdoc">Returns the null terminated string stored in the message. If the content type of the message is not I...</div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -10,6 +10,9 @@ var searchData=
['iothub_5fclient_5fresult_5ftag',['IOTHUB_CLIENT_RESULT_TAG',['../iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fstatus',['IOTHUB_CLIENT_STATUS',['../iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fstatus_5ftag',['IOTHUB_CLIENT_STATUS_TAG',['../iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7',1,'iothub_client_ll.h']]],
['iothub_5fmessage_2eh',['iothub_message.h',['../iothub__message_8h.html',1,'']]],
['iothub_5fmessage_5fresult',['IOTHUB_MESSAGE_RESULT',['../iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f',1,'iothub_message.h']]],
['iothub_5fmessage_5fresult_5ftag',['IOTHUB_MESSAGE_RESULT_TAG',['../iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b',1,'iothub_message.h']]],
['iothubclient_5fcreate',['IoTHubClient_Create',['../iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d',1,'iothub_client.h']]],
['iothubclient_5fcreatefromconnectionstring',['IoTHubClient_CreateFromConnectionString',['../iothub__client_8h.html#a190e08e1201046fda675517070d63e83',1,'iothub_client.h']]],
['iothubclient_5fdestroy',['IoTHubClient_Destroy',['../iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83',1,'iothub_client.h']]],
@ -27,8 +30,18 @@ var searchData=
['iothubclient_5fsendeventasync',['IoTHubClient_SendEventAsync',['../iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f',1,'iothub_client.h']]],
['iothubclient_5fsetmessagecallback',['IoTHubClient_SetMessageCallback',['../iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042',1,'iothub_client.h']]],
['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]],
['iothubmessage_5fclone',['IoTHubMessage_Clone',['../iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4',1,'iothub_message.h']]],
['iothubmessage_5fcontent_5ftype',['IOTHUBMESSAGE_CONTENT_TYPE',['../iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27',1,'iothub_message.h']]],
['iothubmessage_5fcontent_5ftype_5ftag',['IOTHUBMESSAGE_CONTENT_TYPE_TAG',['../iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669',1,'iothub_message.h']]],
['iothubmessage_5fcreatefrombytearray',['IoTHubMessage_CreateFromByteArray',['../iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f',1,'iothub_message.h']]],
['iothubmessage_5fcreatefromstring',['IoTHubMessage_CreateFromString',['../iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db',1,'iothub_message.h']]],
['iothubmessage_5fdestroy',['IoTHubMessage_Destroy',['../iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf',1,'iothub_message.h']]],
['iothubmessage_5fdisposition_5fresult',['IOTHUBMESSAGE_DISPOSITION_RESULT',['../iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4',1,'iothub_client_ll.h']]],
['iothubmessage_5fdisposition_5fresult_5ftag',['IOTHUBMESSAGE_DISPOSITION_RESULT_TAG',['../iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531',1,'iothub_client_ll.h']]],
['iothubmessage_5fgetbytearray',['IoTHubMessage_GetByteArray',['../iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957',1,'iothub_message.h']]],
['iothubmessage_5fgetcontenttype',['IoTHubMessage_GetContentType',['../iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c',1,'iothub_message.h']]],
['iothubmessage_5fgetstring',['IoTHubMessage_GetString',['../iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41',1,'iothub_message.h']]],
['iothubmessage_5fproperties',['IoTHubMessage_Properties',['../iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2',1,'iothub_message.h']]],
['iothubname',['iotHubName',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c',1,'IOTHUB_CLIENT_CONFIG_TAG']]],
['iothubsuffix',['iotHubSuffix',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68',1,'IOTHUB_CLIENT_CONFIG_TAG']]]
];

Просмотреть файл

@ -3,5 +3,7 @@ var searchData=
['iothub_5fclient_5fconfirmation_5fresult_5ftag',['IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG',['../iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fresult_5ftag',['IOTHUB_CLIENT_RESULT_TAG',['../iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fstatus_5ftag',['IOTHUB_CLIENT_STATUS_TAG',['../iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7',1,'iothub_client_ll.h']]],
['iothub_5fmessage_5fresult_5ftag',['IOTHUB_MESSAGE_RESULT_TAG',['../iothub__message_8h.html#a5f8a34b4b03e4133e9612c584852891b',1,'iothub_message.h']]],
['iothubmessage_5fcontent_5ftype_5ftag',['IOTHUBMESSAGE_CONTENT_TYPE_TAG',['../iothub__message_8h.html#a3bac0fe02b09114764eba2d1e9168669',1,'iothub_message.h']]],
['iothubmessage_5fdisposition_5fresult_5ftag',['IOTHUBMESSAGE_DISPOSITION_RESULT_TAG',['../iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531',1,'iothub_client_ll.h']]]
];

Просмотреть файл

@ -1,5 +1,6 @@
var searchData=
[
['iothub_5fclient_2eh',['iothub_client.h',['../iothub__client_8h.html',1,'']]],
['iothub_5fclient_5fll_2eh',['iothub_client_ll.h',['../iothub__client__ll_8h.html',1,'']]]
['iothub_5fclient_5fll_2eh',['iothub_client_ll.h',['../iothub__client__ll_8h.html',1,'']]],
['iothub_5fmessage_2eh',['iothub_message.h',['../iothub__message_8h.html',1,'']]]
];

Просмотреть файл

@ -16,5 +16,13 @@ var searchData=
['iothubclient_5fll_5fsetoption',['IoTHubClient_LL_SetOption',['../iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2',1,'iothub_client_ll.h']]],
['iothubclient_5fsendeventasync',['IoTHubClient_SendEventAsync',['../iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f',1,'iothub_client.h']]],
['iothubclient_5fsetmessagecallback',['IoTHubClient_SetMessageCallback',['../iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042',1,'iothub_client.h']]],
['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]]
['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]],
['iothubmessage_5fclone',['IoTHubMessage_Clone',['../iothub__message_8h.html#ab5c68ff6fbb9dbe613c8b981f4c202b4',1,'iothub_message.h']]],
['iothubmessage_5fcreatefrombytearray',['IoTHubMessage_CreateFromByteArray',['../iothub__message_8h.html#acaa3b835c12fb0254938af052f0fcb6f',1,'iothub_message.h']]],
['iothubmessage_5fcreatefromstring',['IoTHubMessage_CreateFromString',['../iothub__message_8h.html#a8b44199b87bd177d1a85671faef657db',1,'iothub_message.h']]],
['iothubmessage_5fdestroy',['IoTHubMessage_Destroy',['../iothub__message_8h.html#a8303de9790f32c3b0aebac6cfb0e80bf',1,'iothub_message.h']]],
['iothubmessage_5fgetbytearray',['IoTHubMessage_GetByteArray',['../iothub__message_8h.html#afac0461ed8c3d522bbf2a4cfa9f3f957',1,'iothub_message.h']]],
['iothubmessage_5fgetcontenttype',['IoTHubMessage_GetContentType',['../iothub__message_8h.html#ae7fd8e5a5844a4346933a86feb577d3c',1,'iothub_message.h']]],
['iothubmessage_5fgetstring',['IoTHubMessage_GetString',['../iothub__message_8h.html#aaf63b9aecdde6f8c90d9fbd0755d0c41',1,'iothub_message.h']]],
['iothubmessage_5fproperties',['IoTHubMessage_Properties',['../iothub__message_8h.html#a2ab46db5ad9db0b497b5171e21b64ea2',1,'iothub_message.h']]]
];

Просмотреть файл

@ -4,5 +4,7 @@ var searchData=
['iothub_5fclient_5fconfirmation_5fresult',['IOTHUB_CLIENT_CONFIRMATION_RESULT',['../iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fresult',['IOTHUB_CLIENT_RESULT',['../iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fstatus',['IOTHUB_CLIENT_STATUS',['../iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88',1,'iothub_client_ll.h']]],
['iothub_5fmessage_5fresult',['IOTHUB_MESSAGE_RESULT',['../iothub__message_8h.html#ab826e84207e0513abcf6825fa72c7a7f',1,'iothub_message.h']]],
['iothubmessage_5fcontent_5ftype',['IOTHUBMESSAGE_CONTENT_TYPE',['../iothub__message_8h.html#a1540154c626623da1ecf6fab5b380c27',1,'iothub_message.h']]],
['iothubmessage_5fdisposition_5fresult',['IOTHUBMESSAGE_DISPOSITION_RESULT',['../iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4',1,'iothub_client_ll.h']]]
];

Просмотреть файл

@ -1,406 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/httpapi.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">httpapi.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This module implements the standard HTTP API used by the C IoT client library.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="httpheaders_8h_source.html">httpheaders.h</a>&quot;</code><br />
<code>#include &quot;macro_utils.h&quot;</code><br />
<code>#include &quot;buffer_.h&quot;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
</div>
<p><a href="httpapi_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:accb5e25e6c8d9765e5abe53132708480"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="accb5e25e6c8d9765e5abe53132708480"></a>
typedef enum <a class="el" href="httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87">HTTPAPI_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a></td></tr>
<tr class="memdesc:accb5e25e6c8d9765e5abe53132708480"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the possible return values for the APIs in this module. <br /></td></tr>
<tr class="separator:accb5e25e6c8d9765e5abe53132708480"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3df2a926e7d91868324660f83dcd66d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3df2a926e7d91868324660f83dcd66d"></a>
typedef enum <a class="el" href="httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c">HTTPAPI_REQUEST_TYPE_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a></td></tr>
<tr class="memdesc:ad3df2a926e7d91868324660f83dcd66d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module. <br /></td></tr>
<tr class="separator:ad3df2a926e7d91868324660f83dcd66d"><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:a98e397f3dccc10de6bd136785012ca87"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a98e397f3dccc10de6bd136785012ca87"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87">HTTPAPI_RESULT_TAG</a> <tr class="memdesc:a98e397f3dccc10de6bd136785012ca87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the possible return values for the APIs in this module. <br /></td></tr>
<tr class="separator:a98e397f3dccc10de6bd136785012ca87"><td class="memSeparator" colspan="2">&#160;</td></tr>
</td></tr>
<tr class="memitem:a81bf3649034ead3dd83e2fd34571e89c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81bf3649034ead3dd83e2fd34571e89c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c">HTTPAPI_REQUEST_TYPE_TAG</a> <tr class="memdesc:a81bf3649034ead3dd83e2fd34571e89c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module. <br /></td></tr>
<tr class="separator:a81bf3649034ead3dd83e2fd34571e89c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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:a0a73dc1b76c522a36b0f201d1a80c3d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4">HTTPAPI_Init</a> (void)</td></tr>
<tr class="memdesc:a0a73dc1b76c522a36b0f201d1a80c3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global initialization for the HTTP API component. <a href="#a0a73dc1b76c522a36b0f201d1a80c3d4">More...</a><br /></td></tr>
<tr class="separator:a0a73dc1b76c522a36b0f201d1a80c3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0746eed2ddbd3cf46ec5f015ceb32305"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0746eed2ddbd3cf46ec5f015ceb32305"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305">HTTPAPI_Deinit</a> (void)</td></tr>
<tr class="memdesc:a0746eed2ddbd3cf46ec5f015ceb32305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free resources allocated in <a class="el" href="httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4" title="Global initialization for the HTTP API component. ">HTTPAPI_Init</a>. <br /></td></tr>
<tr class="separator:a0746eed2ddbd3cf46ec5f015ceb32305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96629fdbe1b52a5357da60bb1248b174"><td class="memItemLeft" align="right" valign="top">HTTP_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174">HTTPAPI_CreateConnection</a> (const char *hostName)</td></tr>
<tr class="memdesc:a96629fdbe1b52a5357da60bb1248b174"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an HTTPS connection to the host specified by the <code>hostName</code> parameter. <a href="#a96629fdbe1b52a5357da60bb1248b174">More...</a><br /></td></tr>
<tr class="separator:a96629fdbe1b52a5357da60bb1248b174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5a7f4253357457399d03dad763d904"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#aed5a7f4253357457399d03dad763d904">HTTPAPI_CloseConnection</a> (HTTP_HANDLE handle)</td></tr>
<tr class="memdesc:aed5a7f4253357457399d03dad763d904"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes a connection created with <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174" title="Creates an HTTPS connection to the host specified by the hostName parameter. ">HTTPAPI_CreateConnection</a>. <a href="#aed5a7f4253357457399d03dad763d904">More...</a><br /></td></tr>
<tr class="separator:aed5a7f4253357457399d03dad763d904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa60b8d96e73b2fe592b591208ef66b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1">HTTPAPI_ExecuteRequest</a> (HTTP_HANDLE handle, <a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a> requestType, const char *relativePath, HTTP_HEADERS_HANDLE httpHeadersHandle, const unsigned char *content, size_t contentLength, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHeadersHandle, BUFFER_HANDLE responseContent)</td></tr>
<tr class="memdesc:afa60b8d96e73b2fe592b591208ef66b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the HTTP request to the host and handles the response for the HTTP call. <a href="#afa60b8d96e73b2fe592b591208ef66b1">More...</a><br /></td></tr>
<tr class="separator:afa60b8d96e73b2fe592b591208ef66b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a126e89db045f53ecc3438eecea2efc84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84">HTTPAPI_SetOption</a> (HTTP_HANDLE handle, const char *optionName, const void *value)</td></tr>
<tr class="memdesc:a126e89db045f53ecc3438eecea2efc84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the option named <code>optionName</code> bearing the value <code>value</code> for the HTTP_HANDLE <code>handle</code>. <a href="#a126e89db045f53ecc3438eecea2efc84">More...</a><br /></td></tr>
<tr class="separator:a126e89db045f53ecc3438eecea2efc84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4a4aab991408a4dbf0c018eae727985"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985">HTTPAPI_CloneOption</a> (const char *optionName, const void *value, const void **savedValue)</td></tr>
<tr class="memdesc:ad4a4aab991408a4dbf0c018eae727985"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clones the option named <code>optionName</code> bearing the value <code>value</code> into the pointer <code>savedValue</code>. <a href="#ad4a4aab991408a4dbf0c018eae727985">More...</a><br /></td></tr>
<tr class="separator:ad4a4aab991408a4dbf0c018eae727985"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This module implements the standard HTTP API used by the C IoT client library. </p>
<p>For example, on the Windows platform the HTTP API code uses WinHTTP and for Linux it uses curl and so forth. HTTPAPI must support HTTPs (HTTP+SSL). </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ad4a4aab991408a4dbf0c018eae727985"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> HTTPAPI_CloneOption </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>optionName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void **&#160;</td>
<td class="paramname"><em>savedValue</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clones the option named <code>optionName</code> bearing the value <code>value</code> into the pointer <code>savedValue</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">optionName</td><td>A <code>NULL</code> terminated string representing the name of the option </td></tr>
<tr><td class="paramname">value</td><td>A pointer to the value of the option. </td></tr>
<tr><td class="paramname">savedValue</td><td>This pointer receives the copy of the value of the option. The copy needs to be free-able.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>HTTPAPI_OK</code> if initialization is successful or an error code in case it fails. </dd></dl>
</div>
</div>
<a class="anchor" id="aed5a7f4253357457399d03dad763d904"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HTTPAPI_CloseConnection </td>
<td>(</td>
<td class="paramtype">HTTP_HANDLE&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Closes a connection created with <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174" title="Creates an HTTPS connection to the host specified by the hostName parameter. ">HTTPAPI_CreateConnection</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The handle to the HTTP connection created via <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174" title="Creates an HTTPS connection to the host specified by the hostName parameter. ">HTTPAPI_CreateConnection</a>.</td></tr>
</table>
</dd>
</dl>
<p>All resources allocated by <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174" title="Creates an HTTPS connection to the host specified by the hostName parameter. ">HTTPAPI_CreateConnection</a> should be freed in <a class="el" href="httpapi_8h.html#aed5a7f4253357457399d03dad763d904" title="Closes a connection created with HTTPAPI_CreateConnection. ">HTTPAPI_CloseConnection</a>. </p>
</div>
</div>
<a class="anchor" id="a96629fdbe1b52a5357da60bb1248b174"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HTTP_HANDLE HTTPAPI_CreateConnection </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>hostName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an HTTPS connection to the host specified by the <code>hostName</code> parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hostName</td><td>Name of the host.</td></tr>
</table>
</dd>
</dl>
<p>This function returns a handle to the newly created connection. You can use the handle in subsequent calls to execute specific HTTP calls using <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1" title="Sends the HTTP request to the host and handles the response for the HTTP call. ">HTTPAPI_ExecuteRequest</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>A <code>HTTP_HANDLE</code> to the newly created connection or <code>NULL</code> in case an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="afa60b8d96e73b2fe592b591208ef66b1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> HTTPAPI_ExecuteRequest </td>
<td>(</td>
<td class="paramtype">HTTP_HANDLE&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a>&#160;</td>
<td class="paramname"><em>requestType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>relativePath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>httpHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned char *&#160;</td>
<td class="paramname"><em>content</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>contentLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&#160;</td>
<td class="paramname"><em>statusCode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>responseHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BUFFER_HANDLE&#160;</td>
<td class="paramname"><em>responseContent</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends the HTTP request to the host and handles the response for the HTTP call. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The handle to the HTTP connection created via <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174" title="Creates an HTTPS connection to the host specified by the hostName parameter. ">HTTPAPI_CreateConnection</a>. </td></tr>
<tr><td class="paramname">requestType</td><td>Specifies which HTTP method is used (GET, POST, DELETE, PUT, PATCH). </td></tr>
<tr><td class="paramname">relativePath</td><td>Specifies the relative path of the URL excluding the host name. </td></tr>
<tr><td class="paramname">httpHeadersHandle</td><td>Specifies a set of HTTP headers (name-value pairs) to be added to the HTTP request. The <code>httpHeadersHandle</code> handle can be created and setup with the proper name-value pairs by using the HTTPHeaders APIs available in <code><a class="el" href="httpheaders_8h.html" title="This is a utility module that handles HTTP message-headers. ">HTTPHeaders.h</a></code>. </td></tr>
<tr><td class="paramname">content</td><td>Specifies a pointer to the request body. This value is optional and can be <code>NULL</code>. </td></tr>
<tr><td class="paramname">contentLength</td><td>Specifies the request body size (this is typically added into the HTTP headers as the Content-Length header). This value is optional and can be 0. </td></tr>
<tr><td class="paramname">statusCode</td><td>This is an out parameter, where <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1" title="Sends the HTTP request to the host and handles the response for the HTTP call. ">HTTPAPI_ExecuteRequest</a> returns the status code from the HTTP response (200, 201, 400, 401, etc.) </td></tr>
<tr><td class="paramname">responseHeadersHandle</td><td>This is an HTTP headers handle to which <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1" title="Sends the HTTP request to the host and handles the response for the HTTP call. ">HTTPAPI_ExecuteRequest</a> must add all the HTTP response headers so that the caller of <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1" title="Sends the HTTP request to the host and handles the response for the HTTP call. ">HTTPAPI_ExecuteRequest</a> can inspect them. You can manipulate <code>responseHeadersHandle</code> by using the HTTPHeaders APIs available in <code><a class="el" href="httpheaders_8h.html" title="This is a utility module that handles HTTP message-headers. ">HTTPHeaders.h</a></code> </td></tr>
<tr><td class="paramname">responseContent</td><td>This is a buffer that must be filled by <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1" title="Sends the HTTP request to the host and handles the response for the HTTP call. ">HTTPAPI_ExecuteRequest</a> with the contents of the HTTP response body. The buffer size must be increased by the <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1" title="Sends the HTTP request to the host and handles the response for the HTTP call. ">HTTPAPI_ExecuteRequest</a> implementation in order to fit the response body. <a class="el" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1" title="Sends the HTTP request to the host and handles the response for the HTTP call. ">HTTPAPI_ExecuteRequest</a> must also handle chunked transfer encoding for HTTP responses. To manipulate the <code>responseContent</code> buffer, use the APIs available in <code>Strings.h</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>HTTPAPI_OK</code> if the API call is successful or an error code in case it fails. </dd></dl>
</div>
</div>
<a class="anchor" id="a0a73dc1b76c522a36b0f201d1a80c3d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> HTTPAPI_Init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Global initialization for the HTTP API component. </p>
<p>Platform specific implementations are expected to initialize the underlying HTTP API stacks.</p>
<dl class="section return"><dt>Returns</dt><dd><code>HTTPAPI_OK</code> if initialization is successful or an error code in case it fails. </dd></dl>
</div>
</div>
<a class="anchor" id="a126e89db045f53ecc3438eecea2efc84"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> HTTPAPI_SetOption </td>
<td>(</td>
<td class="paramtype">HTTP_HANDLE&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>optionName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the option named <code>optionName</code> bearing the value <code>value</code> for the HTTP_HANDLE <code>handle</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The handle to the HTTP connection created via <a class="el" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174" title="Creates an HTTPS connection to the host specified by the hostName parameter. ">HTTPAPI_CreateConnection</a>. </td></tr>
<tr><td class="paramname">optionName</td><td>A <code>NULL</code> terminated string representing the name of the option. </td></tr>
<tr><td class="paramname">value</td><td>A pointer to the value for the option.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>HTTPAPI_OK</code> if initialization is successful or an error code in case it fails. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,187 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/httpapi.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">httpapi.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="httpapi_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#ifndef HTTPAPI_H</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#define HTTPAPI_H</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="httpheaders_8h.html">httpheaders.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;buffer_.h&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span>* HTTP_HANDLE;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#define AMBIGUOUS_STATUS_CODE (300)</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define HTTPAPI_RESULT_VALUES \</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">HTTPAPI_OK, \</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">HTTPAPI_INVALID_ARG, \</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">HTTPAPI_ERROR, \</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">HTTPAPI_OPEN_REQUEST_FAILED, \</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">HTTPAPI_SET_OPTION_FAILED, \</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">HTTPAPI_SEND_REQUEST_FAILED, \</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">HTTPAPI_RECEIVE_RESPONSE_FAILED, \</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">HTTPAPI_QUERY_HEADERS_FAILED, \</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">HTTPAPI_QUERY_DATA_AVAILABLE_FAILED, \</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">HTTPAPI_READ_DATA_FAILED, \</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">HTTPAPI_ALREADY_INIT, \</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">HTTPAPI_NOT_INIT, \</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">HTTPAPI_HTTP_HEADERS_FAILED, \</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">HTTPAPI_STRING_PROCESSING_ERROR, \</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">HTTPAPI_ALLOC_FAILED, \</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">HTTPAPI_INIT_FAILED, \</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">HTTPAPI_INSUFFICIENT_RESPONSE_BUFFER, \</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">HTTPAPI_SET_TIMEOUTS_FAILED \</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87"> 54</a></span>&#160;DEFINE_ENUM(<a class="code" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a>, HTTPAPI_RESULT_VALUES);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#define HTTPAPI_REQUEST_TYPE_VALUES\</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor"> HTTPAPI_REQUEST_GET, \</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor"> HTTPAPI_REQUEST_POST, \</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor"> HTTPAPI_REQUEST_PUT, \</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor"> HTTPAPI_REQUEST_DELETE, \</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"> HTTPAPI_REQUEST_PATCH \</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c"> 66</a></span>&#160;DEFINE_ENUM(<a class="code" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a>, HTTPAPI_REQUEST_TYPE_VALUES);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> <a class="code" href="httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4">HTTPAPI_Init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305">HTTPAPI_Deinit</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keyword">extern</span> HTTP_HANDLE <a class="code" href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174">HTTPAPI_CreateConnection</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostName);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="httpapi_8h.html#aed5a7f4253357457399d03dad763d904">HTTPAPI_CloseConnection</a>(HTTP_HANDLE handle);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> <a class="code" href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1">HTTPAPI_ExecuteRequest</a>(HTTP_HANDLE handle, <a class="code" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a> requestType, <span class="keyword">const</span> <span class="keywordtype">char</span>* relativePath,</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; HTTP_HEADERS_HANDLE httpHeadersHandle, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* content,</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">size_t</span> contentLength, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* statusCode,</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; HTTP_HEADERS_HANDLE responseHeadersHandle, BUFFER_HANDLE responseContent);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> <a class="code" href="httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84">HTTPAPI_SetOption</a>(HTTP_HANDLE handle, <span class="keyword">const</span> <span class="keywordtype">char</span>* optionName, <span class="keyword">const</span> <span class="keywordtype">void</span>* value);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a> <a class="code" href="httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985">HTTPAPI_CloneOption</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* optionName, <span class="keyword">const</span> <span class="keywordtype">void</span>* value, <span class="keyword">const</span> <span class="keywordtype">void</span>** savedValue);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HTTPAPI_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="httpapi_8h_html_ad3df2a926e7d91868324660f83dcd66d"><div class="ttname"><a href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a></div><div class="ttdeci">enum HTTPAPI_REQUEST_TYPE_TAG HTTPAPI_REQUEST_TYPE</div><div class="ttdoc">Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module. </div></div>
<div class="ttc" id="httpapi_8h_html_a0a73dc1b76c522a36b0f201d1a80c3d4"><div class="ttname"><a href="httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4">HTTPAPI_Init</a></div><div class="ttdeci">HTTPAPI_RESULT HTTPAPI_Init(void)</div><div class="ttdoc">Global initialization for the HTTP API component. </div></div>
<div class="ttc" id="httpapi_8h_html_a126e89db045f53ecc3438eecea2efc84"><div class="ttname"><a href="httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84">HTTPAPI_SetOption</a></div><div class="ttdeci">HTTPAPI_RESULT HTTPAPI_SetOption(HTTP_HANDLE handle, const char *optionName, const void *value)</div><div class="ttdoc">Sets the option named optionName bearing the value value for the HTTP_HANDLE handle. </div></div>
<div class="ttc" id="httpapi_8h_html_aed5a7f4253357457399d03dad763d904"><div class="ttname"><a href="httpapi_8h.html#aed5a7f4253357457399d03dad763d904">HTTPAPI_CloseConnection</a></div><div class="ttdeci">void HTTPAPI_CloseConnection(HTTP_HANDLE handle)</div><div class="ttdoc">Closes a connection created with HTTPAPI_CreateConnection. </div></div>
<div class="ttc" id="httpapi_8h_html_afa60b8d96e73b2fe592b591208ef66b1"><div class="ttname"><a href="httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1">HTTPAPI_ExecuteRequest</a></div><div class="ttdeci">HTTPAPI_RESULT HTTPAPI_ExecuteRequest(HTTP_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char *relativePath, HTTP_HEADERS_HANDLE httpHeadersHandle, const unsigned char *content, size_t contentLength, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHeadersHandle, BUFFER_HANDLE responseContent)</div><div class="ttdoc">Sends the HTTP request to the host and handles the response for the HTTP call. </div></div>
<div class="ttc" id="httpapi_8h_html_accb5e25e6c8d9765e5abe53132708480"><div class="ttname"><a href="httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480">HTTPAPI_RESULT</a></div><div class="ttdeci">enum HTTPAPI_RESULT_TAG HTTPAPI_RESULT</div><div class="ttdoc">Enumeration specifying the possible return values for the APIs in this module. </div></div>
<div class="ttc" id="httpapi_8h_html_ad4a4aab991408a4dbf0c018eae727985"><div class="ttname"><a href="httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985">HTTPAPI_CloneOption</a></div><div class="ttdeci">HTTPAPI_RESULT HTTPAPI_CloneOption(const char *optionName, const void *value, const void **savedValue)</div><div class="ttdoc">Clones the option named optionName bearing the value value into the pointer savedValue. </div></div>
<div class="ttc" id="httpheaders_8h_html"><div class="ttname"><a href="httpheaders_8h.html">httpheaders.h</a></div><div class="ttdoc">This is a utility module that handles HTTP message-headers. </div></div>
<div class="ttc" id="httpapi_8h_html_a0746eed2ddbd3cf46ec5f015ceb32305"><div class="ttname"><a href="httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305">HTTPAPI_Deinit</a></div><div class="ttdeci">void HTTPAPI_Deinit(void)</div><div class="ttdoc">Free resources allocated in HTTPAPI_Init. </div></div>
<div class="ttc" id="httpapi_8h_html_a96629fdbe1b52a5357da60bb1248b174"><div class="ttname"><a href="httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174">HTTPAPI_CreateConnection</a></div><div class="ttdeci">HTTP_HANDLE HTTPAPI_CreateConnection(const char *hostName)</div><div class="ttdoc">Creates an HTTPS connection to the host specified by the hostName parameter. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,323 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/httpapiex.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">httpapiex.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This is a utility module that provides HTTP requests with build-in retry capabilities.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;macro_utils.h&quot;</code><br />
<code>#include &quot;<a class="el" href="httpapi_8h_source.html">httpapi.h</a>&quot;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
</div>
<p><a href="httpapiex_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a5d80096f8913d8f1b021446bb21a4ba8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d80096f8913d8f1b021446bb21a4ba8"></a>
typedef enum <a class="el" href="httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8">HTTPAPIEX_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a></td></tr>
<tr class="memdesc:a5d80096f8913d8f1b021446bb21a4ba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:a5d80096f8913d8f1b021446bb21a4ba8"><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:a605d1cdabe6e2dd794c507a096bb06e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a605d1cdabe6e2dd794c507a096bb06e8"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8">HTTPAPIEX_RESULT_TAG</a> <tr class="memdesc:a605d1cdabe6e2dd794c507a096bb06e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:a605d1cdabe6e2dd794c507a096bb06e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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:a914c0f1741f3d3ae45c3b19fd6eeaa70"><td class="memItemLeft" align="right" valign="top">HTTPAPIEX_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70">HTTPAPIEX_Create</a> (const char *hostName)</td></tr>
<tr class="memdesc:a914c0f1741f3d3ae45c3b19fd6eeaa70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <code>HTTPAPIEX_HANDLE</code> that can be used in further calls. <a href="#a914c0f1741f3d3ae45c3b19fd6eeaa70">More...</a><br /></td></tr>
<tr class="separator:a914c0f1741f3d3ae45c3b19fd6eeaa70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bb3e8fe9e08c382ad8ceb55f86fcb7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e">HTTPAPIEX_ExecuteRequest</a> (HTTPAPIEX_HANDLE handle, <a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a> requestType, const char *relativePath, HTTP_HEADERS_HANDLE requestHttpHeadersHandle, BUFFER_HANDLE requestContent, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHttpHeadersHandle, BUFFER_HANDLE responseContent)</td></tr>
<tr class="memdesc:a9bb3e8fe9e08c382ad8ceb55f86fcb7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to execute an HTTP request. <a href="#a9bb3e8fe9e08c382ad8ceb55f86fcb7e">More...</a><br /></td></tr>
<tr class="separator:a9bb3e8fe9e08c382ad8ceb55f86fcb7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5518724d6f85d8fd4db9aaa45d7e695d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d">HTTPAPIEX_Destroy</a> (HTTPAPIEX_HANDLE handle)</td></tr>
<tr class="memdesc:a5518724d6f85d8fd4db9aaa45d7e695d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all resources used by the <code>HTTPAPIEX_HANDLE</code> object. <a href="#a5518724d6f85d8fd4db9aaa45d7e695d">More...</a><br /></td></tr>
<tr class="separator:a5518724d6f85d8fd4db9aaa45d7e695d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbfe5c665ef6326ac5e16226eb1f878f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f">HTTPAPIEX_SetOption</a> (HTTPAPIEX_HANDLE handle, const char *optionName, const void *value)</td></tr>
<tr class="memdesc:adbfe5c665ef6326ac5e16226eb1f878f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the option <code>optionName</code> to the value pointed to by <code>value</code>. <a href="#adbfe5c665ef6326ac5e16226eb1f878f">More...</a><br /></td></tr>
<tr class="separator:adbfe5c665ef6326ac5e16226eb1f878f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This is a utility module that provides HTTP requests with build-in retry capabilities. </p>
<p>HTTAPIEX is a utility module that provides HTTP requests with build-in retry capability to an HTTP server. Features over "regular" HTTPAPI include:</p><ul>
<li>Optional parameters</li>
<li>Implementation independent</li>
<li>Retry mechanism</li>
<li>Persistent options </li>
</ul>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a914c0f1741f3d3ae45c3b19fd6eeaa70"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HTTPAPIEX_HANDLE HTTPAPIEX_Create </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>hostName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an <code>HTTPAPIEX_HANDLE</code> that can be used in further calls. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hostName</td><td>Pointer to a null-terminated string that contains the host name of an HTTP server.</td></tr>
</table>
</dd>
</dl>
<p>If <code>hostName</code> is <code>NULL</code> then <code>HTTPAPIEX_Create</code> returns <code>NULL</code>. The <code>hostName</code> value is saved and associated with the returned handle. If creating the handle fails for any reason, then <code>HTTAPIEX_Create</code> returns <code>NULL</code>. Otherwise, <code>HTTPAPIEX_Create</code> returns an <code>HTTAPIEX_HANDLE</code> suitable for further calls to the module.</p>
<dl class="section return"><dt>Returns</dt><dd>An <code>HTTAPIEX_HANDLE</code> suitable for further calls to the module. </dd></dl>
</div>
</div>
<a class="anchor" id="a5518724d6f85d8fd4db9aaa45d7e695d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HTTPAPIEX_Destroy </td>
<td>(</td>
<td class="paramtype">HTTPAPIEX_HANDLE&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Frees all resources used by the <code>HTTPAPIEX_HANDLE</code> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The <code>HTTPAPIEX_HANDLE</code> object to be freed. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9bb3e8fe9e08c382ad8ceb55f86fcb7e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a> HTTPAPIEX_ExecuteRequest </td>
<td>(</td>
<td class="paramtype">HTTPAPIEX_HANDLE&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a>&#160;</td>
<td class="paramname"><em>requestType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>relativePath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>requestHttpHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BUFFER_HANDLE&#160;</td>
<td class="paramname"><em>requestContent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&#160;</td>
<td class="paramname"><em>statusCode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>responseHttpHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BUFFER_HANDLE&#160;</td>
<td class="paramname"><em>responseContent</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tries to execute an HTTP request. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>A valid <code>HTTPAPIEX_HANDLE</code> value. </td></tr>
<tr><td class="paramname">requestType</td><td>A value from the <a class="el" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d" title="Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module. ">HTTPAPI_REQUEST_TYPE</a> enum. </td></tr>
<tr><td class="paramname">relativePath</td><td>Relative path to send the request to on the server. </td></tr>
<tr><td class="paramname">requestHttpHeadersHandle</td><td>Handle to the request HTTP headers. </td></tr>
<tr><td class="paramname">requestContent</td><td>The request content. </td></tr>
<tr><td class="paramname">statusCode</td><td>If non-null, the HTTP status code is written to this pointer. </td></tr>
<tr><td class="paramname">responseHttpHeadersHandle</td><td>Handle to the response HTTP headers. </td></tr>
<tr><td class="paramname">responseContent</td><td>The response content.</td></tr>
</table>
</dd>
</dl>
<p><code>HTTPAPIEX_ExecuteRequest</code> tries to execute an HTTP request of type <code>requestType</code>, on the server's <code>relativePath</code>, pushing the request HTTP headers <code>requestHttpHeadersHandle</code>, having the content of the request as pointed to by <code>requestContent</code>. If successful, <code>HTTAPIEX_ExecuteRequest</code> writes in the out <code>parameter</code> statusCode the HTTP status, populates the <code>responseHeadersHandle</code> with the response headers and copies the response body to <code>responseContent</code>.</p>
<dl class="section return"><dt>Returns</dt><dd>An <code>HTTAPIEX_HANDLE</code> suitable for further calls to the module. </dd></dl>
</div>
</div>
<a class="anchor" id="adbfe5c665ef6326ac5e16226eb1f878f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a> HTTPAPIEX_SetOption </td>
<td>(</td>
<td class="paramtype">HTTPAPIEX_HANDLE&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>optionName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the option <code>optionName</code> to the value pointed to by <code>value</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>The <code>HTTPAPIEX_HANDLE</code> representing this session. </td></tr>
<tr><td class="paramname">optionName</td><td>Name of the option. </td></tr>
<tr><td class="paramname">value</td><td>The value to be set for the option.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An <code>HTTPAPIEX_RESULT</code> indicating the status of the call. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,148 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/httpapiex.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">httpapiex.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="httpapiex_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifndef HTTPAPIEX_H</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#define HTTPAPIEX_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="httpapi_8h.html">httpapi.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span>* HTTPAPIEX_HANDLE;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define HTTPAPIEX_RESULT_VALUES \</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"> HTTPAPIEX_OK, \</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"> HTTPAPIEX_ERROR, \</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"> HTTPAPIEX_INVALID_ARG, \</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"> HTTPAPIEX_RECOVERYFAILED</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">/*to be continued*/</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8"> 40</a></span>&#160;DEFINE_ENUM(<a class="code" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a>, HTTPAPIEX_RESULT_VALUES);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">extern</span> HTTPAPIEX_HANDLE <a class="code" href="httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70">HTTPAPIEX_Create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostName);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a> <a class="code" href="httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e">HTTPAPIEX_ExecuteRequest</a>(HTTPAPIEX_HANDLE handle, <a class="code" href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a> requestType, <span class="keyword">const</span> <span class="keywordtype">char</span>* relativePath, HTTP_HEADERS_HANDLE requestHttpHeadersHandle, BUFFER_HANDLE requestContent, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* statusCode, HTTP_HEADERS_HANDLE responseHttpHeadersHandle, BUFFER_HANDLE responseContent);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d">HTTPAPIEX_Destroy</a>(HTTPAPIEX_HANDLE handle);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a> <a class="code" href="httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f">HTTPAPIEX_SetOption</a>(HTTPAPIEX_HANDLE handle, <span class="keyword">const</span> <span class="keywordtype">char</span>* optionName, <span class="keyword">const</span> <span class="keywordtype">void</span>* value);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HTTPAPIEX_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="httpapi_8h_html_ad3df2a926e7d91868324660f83dcd66d"><div class="ttname"><a href="httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d">HTTPAPI_REQUEST_TYPE</a></div><div class="ttdeci">enum HTTPAPI_REQUEST_TYPE_TAG HTTPAPI_REQUEST_TYPE</div><div class="ttdoc">Enumeration specifying the HTTP request verbs accepted by the HTTPAPI module. </div></div>
<div class="ttc" id="httpapiex_8h_html_a914c0f1741f3d3ae45c3b19fd6eeaa70"><div class="ttname"><a href="httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70">HTTPAPIEX_Create</a></div><div class="ttdeci">HTTPAPIEX_HANDLE HTTPAPIEX_Create(const char *hostName)</div><div class="ttdoc">Creates an HTTPAPIEX_HANDLE that can be used in further calls. </div></div>
<div class="ttc" id="httpapiex_8h_html_a5518724d6f85d8fd4db9aaa45d7e695d"><div class="ttname"><a href="httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d">HTTPAPIEX_Destroy</a></div><div class="ttdeci">void HTTPAPIEX_Destroy(HTTPAPIEX_HANDLE handle)</div><div class="ttdoc">Frees all resources used by the HTTPAPIEX_HANDLE object. </div></div>
<div class="ttc" id="httpapiex_8h_html_a9bb3e8fe9e08c382ad8ceb55f86fcb7e"><div class="ttname"><a href="httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e">HTTPAPIEX_ExecuteRequest</a></div><div class="ttdeci">HTTPAPIEX_RESULT HTTPAPIEX_ExecuteRequest(HTTPAPIEX_HANDLE handle, HTTPAPI_REQUEST_TYPE requestType, const char *relativePath, HTTP_HEADERS_HANDLE requestHttpHeadersHandle, BUFFER_HANDLE requestContent, unsigned int *statusCode, HTTP_HEADERS_HANDLE responseHttpHeadersHandle, BUFFER_HANDLE responseContent)</div><div class="ttdoc">Tries to execute an HTTP request. </div></div>
<div class="ttc" id="httpapiex_8h_html_adbfe5c665ef6326ac5e16226eb1f878f"><div class="ttname"><a href="httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f">HTTPAPIEX_SetOption</a></div><div class="ttdeci">HTTPAPIEX_RESULT HTTPAPIEX_SetOption(HTTPAPIEX_HANDLE handle, const char *optionName, const void *value)</div><div class="ttdoc">Sets the option optionName to the value pointed to by value. </div></div>
<div class="ttc" id="httpapi_8h_html"><div class="ttname"><a href="httpapi_8h.html">httpapi.h</a></div><div class="ttdoc">This module implements the standard HTTP API used by the C IoT client library. </div></div>
<div class="ttc" id="httpapiex_8h_html_a5d80096f8913d8f1b021446bb21a4ba8"><div class="ttname"><a href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8">HTTPAPIEX_RESULT</a></div><div class="ttdeci">enum HTTPAPIEX_RESULT_TAG HTTPAPIEX_RESULT</div><div class="ttdoc">Enumeration specifying the status of calls to various APIs in this module. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,433 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/httpheaders.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">httpheaders.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This is a utility module that handles HTTP message-headers.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;macro_utils.h&quot;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
</div>
<p><a href="httpheaders_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a0e2b8a3247e013bfcd5a2c5c09ffeb46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e2b8a3247e013bfcd5a2c5c09ffeb46"></a>
typedef enum <a class="el" href="httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c">HTTP_HEADERS_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a></td></tr>
<tr class="memdesc:a0e2b8a3247e013bfcd5a2c5c09ffeb46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:a0e2b8a3247e013bfcd5a2c5c09ffeb46"><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:a8f45dc684b1c576d92316e46a253203c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f45dc684b1c576d92316e46a253203c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c">HTTP_HEADERS_RESULT_TAG</a> <tr class="memdesc:a8f45dc684b1c576d92316e46a253203c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:a8f45dc684b1c576d92316e46a253203c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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:ae7ad9a388a31de196d2029fb7c917a6c"><td class="memItemLeft" align="right" valign="top">HTTP_HEADERS_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c">HTTPHeaders_Alloc</a> (void)</td></tr>
<tr class="memdesc:ae7ad9a388a31de196d2029fb7c917a6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Produces a <code>HTTP_HANDLE</code> that can later be used in subsequent calls to the module. <a href="#ae7ad9a388a31de196d2029fb7c917a6c">More...</a><br /></td></tr>
<tr class="separator:ae7ad9a388a31de196d2029fb7c917a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a24331c9a4cb947efe371ca9db0ab2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2">HTTPHeaders_Free</a> (HTTP_HEADERS_HANDLE httpHeadersHandle)</td></tr>
<tr class="memdesc:af0a24331c9a4cb947efe371ca9db0ab2"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-allocates the data structures allocated by previous API calls to the same handle. <a href="#af0a24331c9a4cb947efe371ca9db0ab2">More...</a><br /></td></tr>
<tr class="separator:af0a24331c9a4cb947efe371ca9db0ab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dce889a4de32b3b87253a88233c0ee8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8">HTTPHeaders_AddHeaderNameValuePair</a> (HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)</td></tr>
<tr class="memdesc:a8dce889a4de32b3b87253a88233c0ee8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a header record from the <code>name</code> and <code>value</code> parameters. <a href="#a8dce889a4de32b3b87253a88233c0ee8">More...</a><br /></td></tr>
<tr class="separator:a8dce889a4de32b3b87253a88233c0ee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a579bc2b4b3ae632382e077378f0139f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3">HTTPHeaders_ReplaceHeaderNameValuePair</a> (HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)</td></tr>
<tr class="memdesc:a579bc2b4b3ae632382e077378f0139f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API performs exactly the same as <a class="el" href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8" title="Adds a header record from the name and value parameters. ">HTTPHeaders_AddHeaderNameValuePair</a> except that if the header name already exists then the already existing value will be replaced as opposed to being concatenated to. <a href="#a579bc2b4b3ae632382e077378f0139f3">More...</a><br /></td></tr>
<tr class="separator:a579bc2b4b3ae632382e077378f0139f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa826a79ce713d5fef6601cc37190076"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076">HTTPHeaders_FindHeaderValue</a> (HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name)</td></tr>
<tr class="memdesc:afa826a79ce713d5fef6601cc37190076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the value for a previously stored name. <a href="#afa826a79ce713d5fef6601cc37190076">More...</a><br /></td></tr>
<tr class="separator:afa826a79ce713d5fef6601cc37190076"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a392de03265933e898f7a5e1f1f4065de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de">HTTPHeaders_GetHeaderCount</a> (HTTP_HEADERS_HANDLE httpHeadersHandle, size_t *headersCount)</td></tr>
<tr class="memdesc:a392de03265933e898f7a5e1f1f4065de"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API retrieves the number of stored headers. <a href="#a392de03265933e898f7a5e1f1f4065de">More...</a><br /></td></tr>
<tr class="separator:a392de03265933e898f7a5e1f1f4065de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6a07dbf89d3cf55f3bc95e9a8b4c44"><td class="memItemLeft" align="right" valign="top"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44">HTTPHeaders_GetHeader</a> (HTTP_HEADERS_HANDLE handle, size_t index, char **destination)</td></tr>
<tr class="memdesc:aea6a07dbf89d3cf55f3bc95e9a8b4c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API retrieves the string name+": "+value for the header element at the given <code>index</code>. <a href="#aea6a07dbf89d3cf55f3bc95e9a8b4c44">More...</a><br /></td></tr>
<tr class="separator:aea6a07dbf89d3cf55f3bc95e9a8b4c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd829706924f49fc83ed5d334789378e"><td class="memItemLeft" align="right" valign="top">HTTP_HEADERS_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpheaders_8h.html#afd829706924f49fc83ed5d334789378e">HTTPHeaders_Clone</a> (HTTP_HEADERS_HANDLE handle)</td></tr>
<tr class="memdesc:afd829706924f49fc83ed5d334789378e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API produces a clone of the <code>handle</code> parameter. <a href="#afd829706924f49fc83ed5d334789378e">More...</a><br /></td></tr>
<tr class="separator:afd829706924f49fc83ed5d334789378e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This is a utility module that handles HTTP message-headers. </p>
<p>An application would use <a class="el" href="httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c" title="Produces a HTTP_HANDLE that can later be used in subsequent calls to the module. ">HTTPHeaders_Alloc</a> to create a new set of HTTP headers. After getting the handle, the application would build in several headers by consecutive calls to <a class="el" href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8" title="Adds a header record from the name and value parameters. ">HTTPHeaders_AddHeaderNameValuePair</a>. When the headers are constructed, the application can retrieve the stored data by calling one of the following functions:</p><ul>
<li><a class="el" href="httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076" title="Retrieves the value for a previously stored name. ">HTTPHeaders_FindHeaderValue</a> - when the name of the header is known and it wants to know the value of that header</li>
<li><a class="el" href="httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de" title="This API retrieves the number of stored headers. ">HTTPHeaders_GetHeaderCount</a> - when the application needs to know the count of all the headers</li>
<li><a class="el" href="httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44" title="This API retrieves the string name+&quot;: &quot;+value for the header element at the given index...">HTTPHeaders_GetHeader</a> - when the application needs to retrieve the <code>name + ": " + value</code> string based on an index. </li>
</ul>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a8dce889a4de32b3b87253a88233c0ee8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> HTTPHeaders_AddHeaderNameValuePair </td>
<td>(</td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>httpHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a header record from the <code>name</code> and <code>value</code> parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">httpHeadersHandle</td><td>A valid <code>HTTP_HEADERS_HANDLE</code> value. </td></tr>
<tr><td class="paramname">name</td><td>The name of the HTTP header to add. It is invalid for the name to include the ':' character or character codes outside the range 33-126. </td></tr>
<tr><td class="paramname">value</td><td>The value to be assigned to the header.</td></tr>
</table>
</dd>
</dl>
<p>The function stores the <code>name:value</code> pair in such a way that when later retrieved by a call to <a class="el" href="httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44" title="This API retrieves the string name+&quot;: &quot;+value for the header element at the given index...">HTTPHeaders_GetHeader</a> it will return a string that is <code>strcmp</code> equal to <code>name+": "+value</code>. If the name already exists in the collection of headers, the function concatenates the new value after the existing value, separated by a comma and a space as in: <code>old-value+", "+new-value</code>.</p>
<dl class="section return"><dt>Returns</dt><dd>Returns <code>HTTP_HEADERS_OK</code> when execution is successful or an error code from the <a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8" title="Enumeration specifying the status of calls to various APIs in this module. ">HTTPAPIEX_RESULT</a> enum. </dd></dl>
</div>
</div>
<a class="anchor" id="ae7ad9a388a31de196d2029fb7c917a6c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HTTP_HEADERS_HANDLE HTTPHeaders_Alloc </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Produces a <code>HTTP_HANDLE</code> that can later be used in subsequent calls to the module. </p>
<p>This function returns <code>NULL</code> in case an error occurs. After successful execution <a class="el" href="httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de" title="This API retrieves the number of stored headers. ">HTTPHeaders_GetHeaderCount</a> will report <code>0</code> existing headers.</p>
<dl class="section return"><dt>Returns</dt><dd>A HTTP_HEADERS_HANDLE representing the newly created collection of HTTP headers. </dd></dl>
</div>
</div>
<a class="anchor" id="afd829706924f49fc83ed5d334789378e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">HTTP_HEADERS_HANDLE HTTPHeaders_Clone </td>
<td>(</td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API produces a clone of the <code>handle</code> parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>A valid <code>HTTP_HEADERS_HANDLE</code> value.</td></tr>
</table>
</dd>
</dl>
<p>If <code>handle</code> is not <code>NULL</code> this function clones the content of the handle to a new handle and returns it.</p>
<dl class="section return"><dt>Returns</dt><dd>A <code>HTTP_HEADERS_HANDLE</code> containing a cloned copy of the contents of <code>handle</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="afa826a79ce713d5fef6601cc37190076"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* HTTPHeaders_FindHeaderValue </td>
<td>(</td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>httpHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the value for a previously stored name. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">httpHeadersHandle</td><td>A valid <code>HTTP_HEADERS_HANDLE</code> value. </td></tr>
<tr><td class="paramname">name</td><td>The name of the HTTP header to find.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The return value points to a string that shall be <code>strcmp</code> equal to the original stored string. </dd></dl>
</div>
</div>
<a class="anchor" id="af0a24331c9a4cb947efe371ca9db0ab2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void HTTPHeaders_Free </td>
<td>(</td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>httpHeadersHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>De-allocates the data structures allocated by previous API calls to the same handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">httpHeadersHandle</td><td>A valid <code>HTTP_HEADERS_HANDLE</code> value. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aea6a07dbf89d3cf55f3bc95e9a8b4c44"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> HTTPHeaders_GetHeader </td>
<td>(</td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char **&#160;</td>
<td class="paramname"><em>destination</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API retrieves the string name+": "+value for the header element at the given <code>index</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>A valid <code>HTTP_HEADERS_HANDLE</code> value. </td></tr>
<tr><td class="paramname">index</td><td>Zero-based index of the item in the headers collection. </td></tr>
<tr><td class="paramname">destination</td><td>If non-null, the header value is written into a new string a pointer to which is written into this parameters. It is the caller's responsibility to free this memory.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <code>HTTP_HEADERS_OK</code> when execution is successful or <code>HTTP_HEADERS_ERROR</code> when an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="a392de03265933e898f7a5e1f1f4065de"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> HTTPHeaders_GetHeaderCount </td>
<td>(</td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>httpHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>headersCount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API retrieves the number of stored headers. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">httpHeadersHandle</td><td>A valid <code>HTTP_HEADERS_HANDLE</code> value. </td></tr>
<tr><td class="paramname">headersCount</td><td>If non-null, the API writes the number of into the memory pointed at by this parameter.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <code>HTTP_HEADERS_OK</code> when execution is successful or <code>HTTP_HEADERS_ERROR</code> when an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="a579bc2b4b3ae632382e077378f0139f3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> HTTPHeaders_ReplaceHeaderNameValuePair </td>
<td>(</td>
<td class="paramtype">HTTP_HEADERS_HANDLE&#160;</td>
<td class="paramname"><em>httpHeadersHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API performs exactly the same as <a class="el" href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8" title="Adds a header record from the name and value parameters. ">HTTPHeaders_AddHeaderNameValuePair</a> except that if the header name already exists then the already existing value will be replaced as opposed to being concatenated to. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">httpHeadersHandle</td><td>A valid <code>HTTP_HEADERS_HANDLE</code> value. </td></tr>
<tr><td class="paramname">name</td><td>The name of the HTTP header to add/replace. It is invalid for the name to include the ':' character or character codes outside the range 33-126. </td></tr>
<tr><td class="paramname">value</td><td>The value to be assigned to the header.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <code>HTTP_HEADERS_OK</code> when execution is successful or an error code from the <a class="el" href="httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8" title="Enumeration specifying the status of calls to various APIs in this module. ">HTTPAPIEX_RESULT</a> enum. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,159 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/httpheaders.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">httpheaders.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="httpheaders_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef HTTPHEADERS_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define HTTPHEADERS_H</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">/*Codes_SRS_HTTP_HEADERS_99_001:[ HttpHeaders shall have the following interface]*/</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#define HTTP_HEADERS_RESULT_VALUES \</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">HTTP_HEADERS_OK, \</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">HTTP_HEADERS_INVALID_ARG, \</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">HTTP_HEADERS_ALLOC_FAILED, \</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">HTTP_HEADERS_INSUFFICIENT_BUFFER, \</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">HTTP_HEADERS_ERROR \</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c"> 43</a></span>&#160;DEFINE_ENUM(<a class="code" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a>, HTTP_HEADERS_RESULT_VALUES);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span>* HTTP_HEADERS_HANDLE;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">extern</span> HTTP_HEADERS_HANDLE <a class="code" href="httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c">HTTPHeaders_Alloc</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2">HTTPHeaders_Free</a>(HTTP_HEADERS_HANDLE httpHeadersHandle);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> <a class="code" href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8">HTTPHeaders_AddHeaderNameValuePair</a>(HTTP_HEADERS_HANDLE httpHeadersHandle, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> <a class="code" href="httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3">HTTPHeaders_ReplaceHeaderNameValuePair</a>(HTTP_HEADERS_HANDLE httpHeadersHandle, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* value);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076">HTTPHeaders_FindHeaderValue</a>(HTTP_HEADERS_HANDLE httpHeadersHandle, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> <a class="code" href="httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de">HTTPHeaders_GetHeaderCount</a>(HTTP_HEADERS_HANDLE httpHeadersHandle, <span class="keywordtype">size_t</span>* headersCount);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword">extern</span> <a class="code" href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a> <a class="code" href="httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44">HTTPHeaders_GetHeader</a>(HTTP_HEADERS_HANDLE handle, <span class="keywordtype">size_t</span> index, <span class="keywordtype">char</span>** destination);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword">extern</span> HTTP_HEADERS_HANDLE <a class="code" href="httpheaders_8h.html#afd829706924f49fc83ed5d334789378e">HTTPHeaders_Clone</a>(HTTP_HEADERS_HANDLE handle);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#endif </span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HTTPHEADERS_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="httpheaders_8h_html_a8dce889a4de32b3b87253a88233c0ee8"><div class="ttname"><a href="httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8">HTTPHeaders_AddHeaderNameValuePair</a></div><div class="ttdeci">HTTP_HEADERS_RESULT HTTPHeaders_AddHeaderNameValuePair(HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)</div><div class="ttdoc">Adds a header record from the name and value parameters. </div></div>
<div class="ttc" id="httpheaders_8h_html_aea6a07dbf89d3cf55f3bc95e9a8b4c44"><div class="ttname"><a href="httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44">HTTPHeaders_GetHeader</a></div><div class="ttdeci">HTTP_HEADERS_RESULT HTTPHeaders_GetHeader(HTTP_HEADERS_HANDLE handle, size_t index, char **destination)</div><div class="ttdoc">This API retrieves the string name+": "+value for the header element at the given index...</div></div>
<div class="ttc" id="httpheaders_8h_html_ae7ad9a388a31de196d2029fb7c917a6c"><div class="ttname"><a href="httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c">HTTPHeaders_Alloc</a></div><div class="ttdeci">HTTP_HEADERS_HANDLE HTTPHeaders_Alloc(void)</div><div class="ttdoc">Produces a HTTP_HANDLE that can later be used in subsequent calls to the module. </div></div>
<div class="ttc" id="httpheaders_8h_html_afa826a79ce713d5fef6601cc37190076"><div class="ttname"><a href="httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076">HTTPHeaders_FindHeaderValue</a></div><div class="ttdeci">const char * HTTPHeaders_FindHeaderValue(HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name)</div><div class="ttdoc">Retrieves the value for a previously stored name. </div></div>
<div class="ttc" id="httpheaders_8h_html_a579bc2b4b3ae632382e077378f0139f3"><div class="ttname"><a href="httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3">HTTPHeaders_ReplaceHeaderNameValuePair</a></div><div class="ttdeci">HTTP_HEADERS_RESULT HTTPHeaders_ReplaceHeaderNameValuePair(HTTP_HEADERS_HANDLE httpHeadersHandle, const char *name, const char *value)</div><div class="ttdoc">This API performs exactly the same as HTTPHeaders_AddHeaderNameValuePair except that if the header na...</div></div>
<div class="ttc" id="httpheaders_8h_html_af0a24331c9a4cb947efe371ca9db0ab2"><div class="ttname"><a href="httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2">HTTPHeaders_Free</a></div><div class="ttdeci">void HTTPHeaders_Free(HTTP_HEADERS_HANDLE httpHeadersHandle)</div><div class="ttdoc">De-allocates the data structures allocated by previous API calls to the same handle. </div></div>
<div class="ttc" id="httpheaders_8h_html_afd829706924f49fc83ed5d334789378e"><div class="ttname"><a href="httpheaders_8h.html#afd829706924f49fc83ed5d334789378e">HTTPHeaders_Clone</a></div><div class="ttdeci">HTTP_HEADERS_HANDLE HTTPHeaders_Clone(HTTP_HEADERS_HANDLE handle)</div><div class="ttdoc">This API produces a clone of the handle parameter. </div></div>
<div class="ttc" id="httpheaders_8h_html_a0e2b8a3247e013bfcd5a2c5c09ffeb46"><div class="ttname"><a href="httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46">HTTP_HEADERS_RESULT</a></div><div class="ttdeci">enum HTTP_HEADERS_RESULT_TAG HTTP_HEADERS_RESULT</div><div class="ttdoc">Enumeration specifying the status of calls to various APIs in this module. </div></div>
<div class="ttc" id="httpheaders_8h_html_a392de03265933e898f7a5e1f1f4065de"><div class="ttname"><a href="httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de">HTTPHeaders_GetHeaderCount</a></div><div class="ttdeci">HTTP_HEADERS_RESULT HTTPHeaders_GetHeaderCount(HTTP_HEADERS_HANDLE httpHeadersHandle, size_t *headersCount)</div><div class="ttdoc">This API retrieves the number of stored headers. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,124 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: Microsoft Azure IoT Device SDK for C</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="index.html"><span>Main&#160;Page</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="headertitle">
<div class="title">Microsoft Azure IoT Device SDK for C </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="intro_sec"></a>
Introduction</h1>
<p>The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</p>
<p>The device library consists of a set of reusable components with abstract interfaces that enable pluggability between stock and custom modules.</p>
<p>To meet the wide range of device requirements in the Internet of Things space, the C libraries are provided in source code form to support multiple form factors, operating systems, tools sets, protocols and communications patterns widely in use today.</p>
<h1><a class="anchor" id="features_sec"></a>
Features</h1>
<ul>
<li>Sends event data to Azure IoT based services.</li>
<li>Maps server commands to device functions.</li>
<li>Buffers data when network connection is down.</li>
<li>Batches messages to improve communication efficiency.</li>
<li>Supports pluggable transport protocols. HTTP and AMQP protocols are available now, with more coming soon.</li>
<li>Supports pluggable serialization methods. JSON is available now, with more coming soon.</li>
</ul>
<h1><a class="anchor" id="tested_platforms_sec"></a>
Tested platforms</h1>
<p>The following platforms have been tested against this library:</p>
<ul>
<li>Windows 7</li>
<li>Windows 8.1</li>
<li>Ubuntu 14.04 LTS</li>
<li>Debian 7.5</li>
<li>Fedora 20</li>
<li>Raspbian</li>
<li>Mbed</li>
</ul>
<p>The library code:</p>
<ul>
<li>Is written in ANSI C (C99) to maximize code portability.</li>
<li>Avoids compiler extensions.</li>
<li>Exposes a platform abstraction layer to isolate OS dependencies (HTTPAPI, Lock, Threads). Refer to the porting guide for more information. </li>
</ul>
</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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,450 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li><li class="navelem"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">iothub_client.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Extends the IoTHubCLient_LL module with additional features.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="iothub__client__ll_8h_source.html">iothub_client_ll.h</a>&quot;</code><br />
</div>
<p><a href="iothub__client_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a190e08e1201046fda675517070d63e83"><td class="memItemLeft" align="right" valign="top">IOTHUB_CLIENT_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a190e08e1201046fda675517070d63e83">IoTHubClient_CreateFromConnectionString</a> (const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)</td></tr>
<tr class="memdesc:a190e08e1201046fda675517070d63e83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter. <a href="#a190e08e1201046fda675517070d63e83">More...</a><br /></td></tr>
<tr class="separator:a190e08e1201046fda675517070d63e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e4253f4df8cdef79cbe44d33c73547d"><td class="memItemLeft" align="right" valign="top">IOTHUB_CLIENT_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d">IoTHubClient_Create</a> (const <a class="el" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">IOTHUB_CLIENT_CONFIG</a> *config)</td></tr>
<tr class="memdesc:a7e4253f4df8cdef79cbe44d33c73547d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters. <a href="#a7e4253f4df8cdef79cbe44d33c73547d">More...</a><br /></td></tr>
<tr class="separator:a7e4253f4df8cdef79cbe44d33c73547d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47fce212d1c5026e02ccd670242e1d83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83">IoTHubClient_Destroy</a> (IOTHUB_CLIENT_HANDLE iotHubClientHandle)</td></tr>
<tr class="memdesc:a47fce212d1c5026e02ccd670242e1d83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disposes of resources allocated by the IoT Hub client. This is a blocking call. <a href="#a47fce212d1c5026e02ccd670242e1d83">More...</a><br /></td></tr>
<tr class="separator:a47fce212d1c5026e02ccd670242e1d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e60e953d03a503c1ae30dd6af7f390f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f">IoTHubClient_SendEventAsync</a> (IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)</td></tr>
<tr class="memdesc:a3e60e953d03a503c1ae30dd6af7f390f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Asynchronous call to send the message specified by <code>eventMessageHandle</code>. <a href="#a3e60e953d03a503c1ae30dd6af7f390f">More...</a><br /></td></tr>
<tr class="separator:a3e60e953d03a503c1ae30dd6af7f390f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a7263e65a99da2bb397977031d6e02a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a">IoTHubClient_GetSendStatus</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, <a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a> *iotHubClientStatus)</td></tr>
<tr class="memdesc:a1a7263e65a99da2bb397977031d6e02a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the current sending status for IoTHubClient. <a href="#a1a7263e65a99da2bb397977031d6e02a">More...</a><br /></td></tr>
<tr class="separator:a1a7263e65a99da2bb397977031d6e02a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d2a2ad2209f6e33bf59ee586abc042"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042">IoTHubClient_SetMessageCallback</a> (IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)</td></tr>
<tr class="memdesc:a86d2a2ad2209f6e33bf59ee586abc042"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. <a href="#a86d2a2ad2209f6e33bf59ee586abc042">More...</a><br /></td></tr>
<tr class="separator:a86d2a2ad2209f6e33bf59ee586abc042"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4484e3db3c295c66d379b44fc53cfd79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79">IoTHubClient_GetLastMessageReceiveTime</a> (IOTHUB_CLIENT_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)</td></tr>
<tr class="memdesc:a4484e3db3c295c66d379b44fc53cfd79"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns in the out parameter <code>lastMessageReceiveTime</code> what was the value of the <code>time</code> function when the last message was received at the client. <a href="#a4484e3db3c295c66d379b44fc53cfd79">More...</a><br /></td></tr>
<tr class="separator:a4484e3db3c295c66d379b44fc53cfd79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a0ff66340551d6748b13e9ca74f3197"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197">IoTHubClient_SetOption</a> (IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char *optionName, const void *value)</td></tr>
<tr class="memdesc:a7a0ff66340551d6748b13e9ca74f3197"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API sets a runtime option identified by parameter <code>optionName</code> to a value pointed to by <code>value</code>. <code>optionName</code> and the data type <code>value</code> is pointing to are specific for every option. <a href="#a7a0ff66340551d6748b13e9ca74f3197">More...</a><br /></td></tr>
<tr class="separator:a7a0ff66340551d6748b13e9ca74f3197"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Extends the IoTHubCLient_LL module with additional features. </p>
<p>IoTHubClient is a module that extends the IoTHubCLient_LL module with 2 features:</p><ul>
<li>scheduling the work for the IoTHubCLient from a thread, so that the user does not need to create their own thread</li>
<li>thread-safe APIs </li>
</ul>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a7e4253f4df8cdef79cbe44d33c73547d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IOTHUB_CLIENT_HANDLE IoTHubClient_Create </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">IOTHUB_CLIENT_CONFIG</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to an <code>IOTHUB_CLIENT_CONFIG</code> structure</td></tr>
</table>
</dd>
</dl>
<p>The API does not allow sharing of a connection across multiple devices. This is a blocking call.</p>
<dl class="section return"><dt>Returns</dt><dd>A non-NULL <code>IOTHUB_CLIENT_LL_HANDLE</code> value that is used when invoking other functions for IoT Hub client and <code>NULL</code> on failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a190e08e1201046fda675517070d63e83"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IOTHUB_CLIENT_HANDLE IoTHubClient_CreateFromConnectionString </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>connectionString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_CLIENT_TRANSPORT_PROVIDER&#160;</td>
<td class="paramname"><em>protocol</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connectionString</td><td>Pointer to a character string </td></tr>
<tr><td class="paramname">protocol</td><td>Function pointer for protocol implementation</td></tr>
</table>
</dd>
</dl>
<p>Sample connection string: </p><blockquote class="doxtable">
<pre>HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialType=SharedAccessKey;CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];</pre> </blockquote>
<dl class="section return"><dt>Returns</dt><dd>A non-NULL <code>IOTHUB_CLIENT_LL_HANDLE</code> value that is used when invoking other functions for IoT Hub client and <code>NULL</code> on failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a47fce212d1c5026e02ccd670242e1d83"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IoTHubClient_Destroy </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disposes of resources allocated by the IoT Hub client. This is a blocking call. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a4484e3db3c295c66d379b44fc53cfd79"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_GetLastMessageReceiveTime </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">time_t *&#160;</td>
<td class="paramname"><em>lastMessageReceiveTime</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns in the out parameter <code>lastMessageReceiveTime</code> what was the value of the <code>time</code> function when the last message was received at the client. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">lastMessageReceiveTime</td><td>Out parameter containing the value of <code>time</code> function when the last message was received.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a1a7263e65a99da2bb397977031d6e02a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_GetSendStatus </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a> *&#160;</td>
<td class="paramname"><em>iotHubClientStatus</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the current sending status for IoTHubClient. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">iotHubClientStatus</td><td>The sending state is populated at the address pointed at by this parameter. The value will be set to <code>IOTHUBCLIENT_SENDSTATUS_IDLE</code> if there is currently no item to be sent and <code>IOTHUBCLIENT_SENDSTATUS_BUSY</code> if there are.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a3e60e953d03a503c1ae30dd6af7f390f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_SendEventAsync </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>eventMessageHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK&#160;</td>
<td class="paramname"><em>eventConfirmationCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userContextCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronous call to send the message specified by <code>eventMessageHandle</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">eventMessageHandle</td><td>The handle to an IoT Hub message. </td></tr>
<tr><td class="paramname">eventConfirmationCallback</td><td>The callback specified by the device for receiving confirmation of the delivery of the IoT Hub message. This callback can be expected to invoke the <a class="el" href="iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277" title="Asynchronous call to send the message specified by eventMessageHandle. ">IoTHubClient_LL_SendEventAsync</a> function for the same message in an attempt to retry sending a failing message. The user can specify a <code>NULL</code> value here to indicate that no callback is required. </td></tr>
<tr><td class="paramname">userContextCallback</td><td>User specified context that will be provided to the callback. This can be <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<p><b>NOTE:</b> The application behavior is undefined if the user calls the <a class="el" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a" title="Disposes of resources allocated by the IoT Hub client. This is a blocking call. ">IoTHubClient_LL_Destroy</a> function from within any callback.</p>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a86d2a2ad2209f6e33bf59ee586abc042"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_SetMessageCallback </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC&#160;</td>
<td class="paramname"><em>messageCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userContextCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">messageCallback</td><td>The callback specified by the device for receiving messages from IoT Hub. </td></tr>
<tr><td class="paramname">userContextCallback</td><td>User specified context that will be provided to the callback. This can be <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<p><b>NOTE:</b> The application behavior is undefined if the user calls the <a class="el" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a" title="Disposes of resources allocated by the IoT Hub client. This is a blocking call. ">IoTHubClient_LL_Destroy</a> function from within any callback.</p>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a7a0ff66340551d6748b13e9ca74f3197"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_SetOption </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>optionName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API sets a runtime option identified by parameter <code>optionName</code> to a value pointed to by <code>value</code>. <code>optionName</code> and the data type <code>value</code> is pointing to are specific for every option. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">optionName</td><td>Name of the option. </td></tr>
<tr><td class="paramname">value</td><td>The value.</td></tr>
</table>
</dd>
</dl>
<p>The options that can be set via this API are:</p><ul>
<li><b>timeout</b> - the maximum time in milliseconds a communication is allowed to use. <code>value</code> is a pointer to an <code>unsigned</code> <code>int</code> with the timeout value in milliseconds. This is only supported for the HTTP protocol as of now. When the HTTP protocol uses CURL, the meaning of the parameter is <em>total request time</em>. When the HTTP protocol uses winhttp, the meaning is the same as the <code>dwSendTimeout</code> and <code>dwReceiveTimeout</code> parameters of the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa384116(v=vs.85).aspx">WinHttpSetTimeouts</a> API.</li>
<li><b>CURLOPT_LOW_SPEED_LIMIT</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_LOW_SPEED_TIME</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_FORBID_REUSE</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_FRESH_CONNECT</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_VERBOSE</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,148 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li><li class="navelem"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">iothub_client.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="iothub__client_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#ifndef IOTHUB_CLIENT_H</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="iothub__client__ll_8h.html">iothub_client_ll.h</a>&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;{</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">typedef</span> <span class="keywordtype">void</span>* IOTHUB_CLIENT_HANDLE;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">extern</span> IOTHUB_CLIENT_HANDLE <a class="code" href="iothub__client_8h.html#a190e08e1201046fda675517070d63e83">IoTHubClient_CreateFromConnectionString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">extern</span> IOTHUB_CLIENT_HANDLE <a class="code" href="iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d">IoTHubClient_Create</a>(<span class="keyword">const</span> <a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG</a>* config);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83">IoTHubClient_Destroy</a>(IOTHUB_CLIENT_HANDLE iotHubClientHandle);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f">IoTHubClient_SendEventAsync</a>(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, <span class="keywordtype">void</span>* userContextCallback);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a">IoTHubClient_GetSendStatus</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, <a class="code" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a> *iotHubClientStatus);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042">IoTHubClient_SetMessageCallback</a>(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, <span class="keywordtype">void</span>* userContextCallback);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79">IoTHubClient_GetLastMessageReceiveTime</a>(IOTHUB_CLIENT_HANDLE iotHubClientHandle, time_t* lastMessageReceiveTime);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197">IoTHubClient_SetOption</a>(IOTHUB_CLIENT_HANDLE iotHubClientHandle, <span class="keyword">const</span> <span class="keywordtype">char</span>* optionName, <span class="keyword">const</span> <span class="keywordtype">void</span>* value);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* IOTHUB_CLIENT_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="iothub__client__ll_8h_html_a06bec2310f92a54329a1f39b0804ee88"><div class="ttname"><a href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a></div><div class="ttdeci">enum IOTHUB_CLIENT_STATUS_TAG IOTHUB_CLIENT_STATUS</div><div class="ttdoc">Enumeration returned by the IoTHubClient_LL_GetSendStatus API to indicate the current sending status ...</div></div>
<div class="ttc" id="iothub__client_8h_html_a3e60e953d03a503c1ae30dd6af7f390f"><div class="ttname"><a href="iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f">IoTHubClient_SendEventAsync</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_SendEventAsync(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)</div><div class="ttdoc">Asynchronous call to send the message specified by eventMessageHandle. </div></div>
<div class="ttc" id="iothub__client_8h_html_a7a0ff66340551d6748b13e9ca74f3197"><div class="ttname"><a href="iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197">IoTHubClient_SetOption</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_SetOption(IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char *optionName, const void *value)</div><div class="ttdoc">This API sets a runtime option identified by parameter optionName to a value pointed to by value...</div></div>
<div class="ttc" id="iothub__client_8h_html_a47fce212d1c5026e02ccd670242e1d83"><div class="ttname"><a href="iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83">IoTHubClient_Destroy</a></div><div class="ttdeci">void IoTHubClient_Destroy(IOTHUB_CLIENT_HANDLE iotHubClientHandle)</div><div class="ttdoc">Disposes of resources allocated by the IoT Hub client. This is a blocking call. </div></div>
<div class="ttc" id="iothub__client_8h_html_a7e4253f4df8cdef79cbe44d33c73547d"><div class="ttname"><a href="iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d">IoTHubClient_Create</a></div><div class="ttdeci">IOTHUB_CLIENT_HANDLE IoTHubClient_Create(const IOTHUB_CLIENT_CONFIG *config)</div><div class="ttdoc">Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters...</div></div>
<div class="ttc" id="iothub__client_8h_html_a86d2a2ad2209f6e33bf59ee586abc042"><div class="ttname"><a href="iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042">IoTHubClient_SetMessageCallback</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_SetMessageCallback(IOTHUB_CLIENT_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)</div><div class="ttdoc">Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. </div></div>
<div class="ttc" id="iothub__client__ll_8h_html_acab188935ec8a12092ab518112268bfd"><div class="ttname"><a href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a></div><div class="ttdeci">enum IOTHUB_CLIENT_RESULT_TAG IOTHUB_CLIENT_RESULT</div><div class="ttdoc">Enumeration specifying the status of calls to various APIs in this module. </div></div>
<div class="ttc" id="iothub__client_8h_html_a1a7263e65a99da2bb397977031d6e02a"><div class="ttname"><a href="iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a">IoTHubClient_GetSendStatus</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_GetSendStatus(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus)</div><div class="ttdoc">This function returns the current sending status for IoTHubClient. </div></div>
<div class="ttc" id="iothub__client_8h_html_a190e08e1201046fda675517070d63e83"><div class="ttname"><a href="iothub__client_8h.html#a190e08e1201046fda675517070d63e83">IoTHubClient_CreateFromConnectionString</a></div><div class="ttdeci">IOTHUB_CLIENT_HANDLE IoTHubClient_CreateFromConnectionString(const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)</div><div class="ttdoc">Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection st...</div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG_TAG</a></div><div class="ttdoc">This struct captures IoTHub client configuration. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:90</div></div>
<div class="ttc" id="iothub__client_8h_html_a4484e3db3c295c66d379b44fc53cfd79"><div class="ttname"><a href="iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79">IoTHubClient_GetLastMessageReceiveTime</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_GetLastMessageReceiveTime(IOTHUB_CLIENT_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)</div><div class="ttdoc">This function returns in the out parameter lastMessageReceiveTime what was the value of the time func...</div></div>
<div class="ttc" id="iothub__client__ll_8h_html"><div class="ttname"><a href="iothub__client__ll_8h.html">iothub_client_ll.h</a></div><div class="ttdoc">APIs that allow a user (usually a device) to communicate with an Azure IoTHub. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,525 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client_ll.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li><li class="navelem"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">iothub_client_ll.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>APIs that allow a user (usually a device) to communicate with an Azure IoTHub.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="agenttime_8h_source.html">agenttime.h</a>&quot;</code><br />
<code>#include &quot;macro_utils.h&quot;</code><br />
<code>#include &quot;iothub_message.h&quot;</code><br />
</div>
<p><a href="iothub__client__ll_8h_source.html">Go to the source code of this file.</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="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG_TAG</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This struct captures IoTHub client configuration. <a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.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:acab188935ec8a12092ab518112268bfd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acab188935ec8a12092ab518112268bfd"></a>
typedef enum <a class="el" href="iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05">IOTHUB_CLIENT_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a></td></tr>
<tr class="memdesc:acab188935ec8a12092ab518112268bfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:acab188935ec8a12092ab518112268bfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4577382ad30d162f2b9cf461ead5639b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4577382ad30d162f2b9cf461ead5639b"></a>
typedef enum <a class="el" href="iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7">IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b">IOTHUB_CLIENT_CONFIRMATION_RESULT</a></td></tr>
<tr class="memdesc:a4577382ad30d162f2b9cf461ead5639b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration passed in by the IoT Hub when the event confirmation callback is invoked to indicate status of the event processing in the hub. <br /></td></tr>
<tr class="separator:a4577382ad30d162f2b9cf461ead5639b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06bec2310f92a54329a1f39b0804ee88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06bec2310f92a54329a1f39b0804ee88"></a>
typedef enum <a class="el" href="iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7">IOTHUB_CLIENT_STATUS_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a></td></tr>
<tr class="memdesc:a06bec2310f92a54329a1f39b0804ee88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration returned by the <a class="el" href="iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84" title="This function returns the current sending status for IoTHubClient. ">IoTHubClient_LL_GetSendStatus</a> API to indicate the current sending status of the IoT Hub client. <br /></td></tr>
<tr class="separator:a06bec2310f92a54329a1f39b0804ee88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988b1c83b28d268c642d72dcab8228a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a988b1c83b28d268c642d72dcab8228a4"></a>
typedef enum <a class="el" href="iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531">IOTHUBMESSAGE_DISPOSITION_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">IOTHUBMESSAGE_DISPOSITION_RESULT</a></td></tr>
<tr class="memdesc:a988b1c83b28d268c642d72dcab8228a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the device. <br /></td></tr>
<tr class="separator:a988b1c83b28d268c642d72dcab8228a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14a59dcc227623976d044d1805b5e22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac14a59dcc227623976d044d1805b5e22"></a>
typedef struct <a class="el" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">IOTHUB_CLIENT_CONFIG</a></td></tr>
<tr class="memdesc:ac14a59dcc227623976d044d1805b5e22"><td class="mdescLeft">&#160;</td><td class="mdescRight">This struct captures IoTHub client configuration. <br /></td></tr>
<tr class="separator:ac14a59dcc227623976d044d1805b5e22"><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:a1dcfcf0cc4f3d27d4fe24642929e0e05"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dcfcf0cc4f3d27d4fe24642929e0e05"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05">IOTHUB_CLIENT_RESULT_TAG</a> <tr class="memdesc:a1dcfcf0cc4f3d27d4fe24642929e0e05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:a1dcfcf0cc4f3d27d4fe24642929e0e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
</td></tr>
<tr class="memitem:af338feaaafa37bd3352967a1fe52c9e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af338feaaafa37bd3352967a1fe52c9e7"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7">IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG</a> <tr class="memdesc:af338feaaafa37bd3352967a1fe52c9e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration passed in by the IoT Hub when the event confirmation callback is invoked to indicate status of the event processing in the hub. <br /></td></tr>
<tr class="separator:af338feaaafa37bd3352967a1fe52c9e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</td></tr>
<tr class="memitem:aad29ba44eb4ad88bf10e7d3d43138bf7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad29ba44eb4ad88bf10e7d3d43138bf7"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7">IOTHUB_CLIENT_STATUS_TAG</a> <tr class="memdesc:aad29ba44eb4ad88bf10e7d3d43138bf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration returned by the <a class="el" href="iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84" title="This function returns the current sending status for IoTHubClient. ">IoTHubClient_LL_GetSendStatus</a> API to indicate the current sending status of the IoT Hub client. <br /></td></tr>
<tr class="separator:aad29ba44eb4ad88bf10e7d3d43138bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</td></tr>
<tr class="memitem:ad6c1da5dbe6e1dd6746ab930b377d531"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6c1da5dbe6e1dd6746ab930b377d531"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531">IOTHUBMESSAGE_DISPOSITION_RESULT_TAG</a> <tr class="memdesc:ad6c1da5dbe6e1dd6746ab930b377d531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the device. <br /></td></tr>
<tr class="separator:ad6c1da5dbe6e1dd6746ab930b377d531"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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:aadecae0b07958725e83cae943250469d"><td class="memItemLeft" align="right" valign="top">IOTHUB_CLIENT_LL_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d">IoTHubClient_LL_CreateFromConnectionString</a> (const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)</td></tr>
<tr class="memdesc:aadecae0b07958725e83cae943250469d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter. <a href="#aadecae0b07958725e83cae943250469d">More...</a><br /></td></tr>
<tr class="separator:aadecae0b07958725e83cae943250469d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad236a781c7fb988216b98be099125447"><td class="memItemLeft" align="right" valign="top">IOTHUB_CLIENT_LL_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447">IoTHubClient_LL_Create</a> (const <a class="el" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">IOTHUB_CLIENT_CONFIG</a> *config)</td></tr>
<tr class="memdesc:ad236a781c7fb988216b98be099125447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters. <a href="#ad236a781c7fb988216b98be099125447">More...</a><br /></td></tr>
<tr class="separator:ad236a781c7fb988216b98be099125447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3049dc24e311713ab4735873989a4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a">IoTHubClient_LL_Destroy</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)</td></tr>
<tr class="memdesc:afc3049dc24e311713ab4735873989a4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disposes of resources allocated by the IoT Hub client. This is a blocking call. <a href="#afc3049dc24e311713ab4735873989a4a">More...</a><br /></td></tr>
<tr class="separator:afc3049dc24e311713ab4735873989a4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab47deec96944dd3f1bf0e747ab565277"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277">IoTHubClient_LL_SendEventAsync</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)</td></tr>
<tr class="memdesc:ab47deec96944dd3f1bf0e747ab565277"><td class="mdescLeft">&#160;</td><td class="mdescRight">Asynchronous call to send the message specified by <code>eventMessageHandle</code>. <a href="#ab47deec96944dd3f1bf0e747ab565277">More...</a><br /></td></tr>
<tr class="separator:ab47deec96944dd3f1bf0e747ab565277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7773cdda101288cfd805c34f726eb84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84">IoTHubClient_LL_GetSendStatus</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, <a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a> *iotHubClientStatus)</td></tr>
<tr class="memdesc:aa7773cdda101288cfd805c34f726eb84"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the current sending status for IoTHubClient. <a href="#aa7773cdda101288cfd805c34f726eb84">More...</a><br /></td></tr>
<tr class="separator:aa7773cdda101288cfd805c34f726eb84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8c8a00af8c2fac1ccf2111eb4e2016c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c">IoTHubClient_LL_SetMessageCallback</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)</td></tr>
<tr class="memdesc:af8c8a00af8c2fac1ccf2111eb4e2016c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. <a href="#af8c8a00af8c2fac1ccf2111eb4e2016c">More...</a><br /></td></tr>
<tr class="separator:af8c8a00af8c2fac1ccf2111eb4e2016c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21b712300499f014b8c467e195f2503c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c">IoTHubClient_LL_GetLastMessageReceiveTime</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)</td></tr>
<tr class="memdesc:a21b712300499f014b8c467e195f2503c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns in the out parameter <code>lastMessageReceiveTime</code> what was the value of the <code>time</code> function when the last message was received at the client. <a href="#a21b712300499f014b8c467e195f2503c">More...</a><br /></td></tr>
<tr class="separator:a21b712300499f014b8c467e195f2503c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5e5e122bdc1f1228ae2116fc158b3d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6">IoTHubClient_LL_DoWork</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)</td></tr>
<tr class="memdesc:af5e5e122bdc1f1228ae2116fc158b3d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is meant to be called by the user when work (sending/receiving) can be done by the IoTHubClient. <a href="#af5e5e122bdc1f1228ae2116fc158b3d6">More...</a><br /></td></tr>
<tr class="separator:af5e5e122bdc1f1228ae2116fc158b3d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70eb58c7ede92f75001104ff4745faa2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2">IoTHubClient_LL_SetOption</a> (IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, const char *optionName, const void *value)</td></tr>
<tr class="memdesc:a70eb58c7ede92f75001104ff4745faa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API sets a runtime option identified by parameter <code>optionName</code> to a value pointed to by <code>value</code>. <code>optionName</code> and the data type <code>value</code> is pointing to are specific for every option. <a href="#a70eb58c7ede92f75001104ff4745faa2">More...</a><br /></td></tr>
<tr class="separator:a70eb58c7ede92f75001104ff4745faa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>APIs that allow a user (usually a device) to communicate with an Azure IoTHub. </p>
<p>IoTHubClient_LL is a module that allows a user (usually a device) to communicate with an Azure IoTHub. It can send events and receive messages. At any given moment in time there can only be at most 1 message callback function.</p>
<p>This API surface contains a set of APIs that allows the user to interact with the lower layer portion of the IoTHubClient. These APIs contain <code>_LL_</code> in their name, but retain the same functionality like the <code>IoTHubClient_</code>... APIs, with one difference. If the <code>_LL_</code> APIs are used then the user is responsible for scheduling when the actual work done by the IoTHubClient happens (when the data is sent/received on/from the wire). This is useful for constrained devices where spinning a separate thread is often not desired. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ad236a781c7fb988216b98be099125447"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_Create </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">IOTHUB_CLIENT_CONFIG</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to an <code>IOTHUB_CLIENT_CONFIG</code> structure</td></tr>
</table>
</dd>
</dl>
<p>The API does not allow sharing of a connection across multiple devices. This is a blocking call.</p>
<dl class="section return"><dt>Returns</dt><dd>A non-NULL <code>IOTHUB_CLIENT_LL_HANDLE</code> value that is used when invoking other functions for IoT Hub client and <code>NULL</code> on failure. </dd></dl>
</div>
</div>
<a class="anchor" id="aadecae0b07958725e83cae943250469d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>connectionString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_CLIENT_TRANSPORT_PROVIDER&#160;</td>
<td class="paramname"><em>protocol</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection string parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connectionString</td><td>Pointer to a character string </td></tr>
<tr><td class="paramname">protocol</td><td>Function pointer for protocol implementation</td></tr>
</table>
</dd>
</dl>
<p>Sample connection string: </p><blockquote class="doxtable">
<pre>HostName=[IoT Hub name goes here].[IoT Hub suffix goes here, e.g., private.azure-devices-int.net];CredentialType=SharedAccessKey;CredentialScope=Device;DeviceId=[Device ID goes here];SharedAccessKey=[Device key goes here];</pre> </blockquote>
<dl class="section return"><dt>Returns</dt><dd>A non-NULL <code>IOTHUB_CLIENT_LL_HANDLE</code> value that is used when invoking other functions for IoT Hub client and <code>NULL</code> on failure. </dd></dl>
</div>
</div>
<a class="anchor" id="afc3049dc24e311713ab4735873989a4a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IoTHubClient_LL_Destroy </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disposes of resources allocated by the IoT Hub client. This is a blocking call. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="af5e5e122bdc1f1228ae2116fc158b3d6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IoTHubClient_LL_DoWork </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is meant to be called by the user when work (sending/receiving) can be done by the IoTHubClient. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function.</td></tr>
</table>
</dd>
</dl>
<p>All IoTHubClient interactions (in regards to network traffic and/or user level callbacks) are the effect of calling this function and they take place synchronously inside _DoWork. </p>
</div>
</div>
<a class="anchor" id="a21b712300499f014b8c467e195f2503c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_LL_GetLastMessageReceiveTime </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">time_t *&#160;</td>
<td class="paramname"><em>lastMessageReceiveTime</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns in the out parameter <code>lastMessageReceiveTime</code> what was the value of the <code>time</code> function when the last message was received at the client. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">lastMessageReceiveTime</td><td>Out parameter containing the value of <code>time</code> function when the last message was received.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="aa7773cdda101288cfd805c34f726eb84"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_LL_GetSendStatus </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a> *&#160;</td>
<td class="paramname"><em>iotHubClientStatus</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the current sending status for IoTHubClient. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">iotHubClientStatus</td><td>The sending state is populated at the address pointed at by this parameter. The value will be set to <code>IOTHUBCLIENT_SENDSTATUS_IDLE</code> if there is currently no item to be sent and <code>IOTHUBCLIENT_SENDSTATUS_BUSY</code> if there are.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="ab47deec96944dd3f1bf0e747ab565277"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_LL_SendEventAsync </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_MESSAGE_HANDLE&#160;</td>
<td class="paramname"><em>eventMessageHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK&#160;</td>
<td class="paramname"><em>eventConfirmationCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userContextCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronous call to send the message specified by <code>eventMessageHandle</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">eventMessageHandle</td><td>The handle to an IoT Hub message. </td></tr>
<tr><td class="paramname">eventConfirmationCallback</td><td>The callback specified by the device for receiving confirmation of the delivery of the IoT Hub message. This callback can be expected to invoke the <a class="el" href="iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277" title="Asynchronous call to send the message specified by eventMessageHandle. ">IoTHubClient_LL_SendEventAsync</a> function for the same message in an attempt to retry sending a failing message. The user can specify a <code>NULL</code> value here to indicate that no callback is required. </td></tr>
<tr><td class="paramname">userContextCallback</td><td>User specified context that will be provided to the callback. This can be <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<p><b>NOTE:</b> The application behavior is undefined if the user calls the <a class="el" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a" title="Disposes of resources allocated by the IoT Hub client. This is a blocking call. ">IoTHubClient_LL_Destroy</a> function from within any callback.</p>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="af8c8a00af8c2fac1ccf2111eb4e2016c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_LL_SetMessageCallback </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC&#160;</td>
<td class="paramname"><em>messageCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userContextCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">messageCallback</td><td>The callback specified by the device for receiving messages from IoT Hub. </td></tr>
<tr><td class="paramname">userContextCallback</td><td>User specified context that will be provided to the callback. This can be <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<p><b>NOTE:</b> The application behavior is undefined if the user calls the <a class="el" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a" title="Disposes of resources allocated by the IoT Hub client. This is a blocking call. ">IoTHubClient_LL_Destroy</a> function from within any callback.</p>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
<a class="anchor" id="a70eb58c7ede92f75001104ff4745faa2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> IoTHubClient_LL_SetOption </td>
<td>(</td>
<td class="paramtype">IOTHUB_CLIENT_LL_HANDLE&#160;</td>
<td class="paramname"><em>iotHubClientHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>optionName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This API sets a runtime option identified by parameter <code>optionName</code> to a value pointed to by <code>value</code>. <code>optionName</code> and the data type <code>value</code> is pointing to are specific for every option. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iotHubClientHandle</td><td>The handle created by a call to the create function. </td></tr>
<tr><td class="paramname">optionName</td><td>Name of the option. </td></tr>
<tr><td class="paramname">value</td><td>The value.</td></tr>
</table>
</dd>
</dl>
<p>The options that can be set via this API are:</p><ul>
<li><b>timeout</b> - the maximum time in milliseconds a communication is allowed to use. <code>value</code> is a pointer to an <code>unsigned</code> <code>int</code> with the timeout value in milliseconds. This is only supported for the HTTP protocol as of now. When the HTTP protocol uses CURL, the meaning of the parameter is <em>total request time</em>. When the HTTP protocol uses winhttp, the meaning is the same as the <code>dwSendTimeout</code> and <code>dwReceiveTimeout</code> parameters of the <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa384116(v=vs.85).aspx">WinHttpSetTimeouts</a> API.</li>
<li><b>CURLOPT_LOW_SPEED_LIMIT</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_LOW_SPEED_TIME</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_FORBID_REUSE</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_FRESH_CONNECT</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
<li><b>CURLOPT_VERBOSE</b> - only available for HTTP protocol and only when CURL is used. It has the same meaning as CURL's option with the same name. <code>value</code> is pointer to a long.</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>IOTHUB_CLIENT_OK upon success or an error code upon failure. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,220 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/iothub_client/inc/iothub_client_ll.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_3fa79a50e591a13d34768ad07721929e.html">iothub_client</a></li><li class="navelem"><a class="el" href="dir_72aec881c4ddd8f448eae7bd490815ae.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">iothub_client_ll.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="iothub__client__ll_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#ifndef IOTHUB_CLIENT_LL_H</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#define IOTHUB_CLIENT_LL_H</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="agenttime_8h.html">agenttime.h</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;iothub_message.h&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#define IOTHUB_CLIENT_RESULT_VALUES \</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_OK, \</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_INVALID_ARG, \</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_ERROR, \</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_INVALID_SIZE, \</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_INDEFINITE_TIME \</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05"> 46</a></span>&#160;DEFINE_ENUM(<a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a>, IOTHUB_CLIENT_RESULT_VALUES);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#define IOTHUB_CLIENT_CONFIRMATION_RESULT_VALUES \</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_CONFIRMATION_OK, \</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_CONFIRMATION_BECAUSE_DESTROY, \</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_CONFIRMATION_ERROR \</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7"> 57</a></span>&#160;DEFINE_ENUM(<a class="code" href="iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b">IOTHUB_CLIENT_CONFIRMATION_RESULT</a>, IOTHUB_CLIENT_CONFIRMATION_RESULT_VALUES);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#define IOTHUB_CLIENT_STATUS_VALUES \</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_SEND_STATUS_IDLE, \</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor"> IOTHUB_CLIENT_SEND_STATUS_BUSY \</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7"> 66</a></span>&#160;DEFINE_ENUM(<a class="code" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a>, IOTHUB_CLIENT_STATUS_VALUES);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#define TRANSPORT_TYPE_VALUES \</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor"> TRANSPORT_LL, </span><span class="comment">/*LL comes from &quot;LowLevel&quot; */</span><span class="preprocessor"> \</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor"> TRANSPORT_THREADED</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;DEFINE_ENUM(TRANSPORT_TYPE, TRANSPORT_TYPE_VALUES);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#define IOTHUBMESSAGE_DISPOSITION_RESULT_VALUES \</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"> IOTHUBMESSAGE_ACCEPTED, \</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor"> IOTHUBMESSAGE_REJECTED, \</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor"> IOTHUBMESSAGE_ABANDONED</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531"> 82</a></span>&#160;DEFINE_ENUM(<a class="code" href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">IOTHUBMESSAGE_DISPOSITION_RESULT</a>, IOTHUBMESSAGE_DISPOSITION_RESULT_VALUES);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span>* IOTHUB_CLIENT_LL_HANDLE;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="keyword">typedef</span> void(*IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK)(<a class="code" href="iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b">IOTHUB_CLIENT_CONFIRMATION_RESULT</a> result, <span class="keywordtype">void</span>* userContextCallback);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword">typedef</span> <a class="code" href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">IOTHUBMESSAGE_DISPOSITION_RESULT</a> (*IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC)(IOTHUB_MESSAGE_HANDLE message, <span class="keywordtype">void</span>* userContextCallback);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keywordtype">void</span>*(*IOTHUB_CLIENT_TRANSPORT_PROVIDER)(void);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html"> 90</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG_TAG</a></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca"> 97</a></span>&#160; IOTHUB_CLIENT_TRANSPORT_PROVIDER <a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca">protocol</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0"> 100</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0">deviceId</a>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d"> 103</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d">deviceKey</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c"> 106</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c">iotHubName</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68"> 109</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68">iotHubSuffix</a>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* protocolGatewayHostName;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;} <a class="code" href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">IOTHUB_CLIENT_CONFIG</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword">extern</span> IOTHUB_CLIENT_LL_HANDLE <a class="code" href="iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d">IoTHubClient_LL_CreateFromConnectionString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="keyword">extern</span> IOTHUB_CLIENT_LL_HANDLE <a class="code" href="iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447">IoTHubClient_LL_Create</a>(<span class="keyword">const</span> <a class="code" href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG</a>* config);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a">IoTHubClient_LL_Destroy</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277">IoTHubClient_LL_SendEventAsync</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, <span class="keywordtype">void</span>* userContextCallback);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84">IoTHubClient_LL_GetSendStatus</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, <a class="code" href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a> *iotHubClientStatus);</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c">IoTHubClient_LL_SetMessageCallback</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, <span class="keywordtype">void</span>* userContextCallback);</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c">IoTHubClient_LL_GetLastMessageReceiveTime</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, time_t* lastMessageReceiveTime);</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6">IoTHubClient_LL_DoWork</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="keyword">extern</span> <a class="code" href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a> <a class="code" href="iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2">IoTHubClient_LL_SetOption</a>(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, <span class="keyword">const</span> <span class="keywordtype">char</span>* optionName, <span class="keyword">const</span> <span class="keywordtype">void</span>* value);</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;}</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* IOTHUB_CLIENT_LL_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="iothub__client__ll_8h_html_ab47deec96944dd3f1bf0e747ab565277"><div class="ttname"><a href="iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277">IoTHubClient_LL_SendEventAsync</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_LL_SendEventAsync(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_MESSAGE_HANDLE eventMessageHandle, IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK eventConfirmationCallback, void *userContextCallback)</div><div class="ttdoc">Asynchronous call to send the message specified by eventMessageHandle. </div></div>
<div class="ttc" id="iothub__client__ll_8h_html_a06bec2310f92a54329a1f39b0804ee88"><div class="ttname"><a href="iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88">IOTHUB_CLIENT_STATUS</a></div><div class="ttdeci">enum IOTHUB_CLIENT_STATUS_TAG IOTHUB_CLIENT_STATUS</div><div class="ttdoc">Enumeration returned by the IoTHubClient_LL_GetSendStatus API to indicate the current sending status ...</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_ac14a59dcc227623976d044d1805b5e22"><div class="ttname"><a href="iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22">IOTHUB_CLIENT_CONFIG</a></div><div class="ttdeci">struct IOTHUB_CLIENT_CONFIG_TAG IOTHUB_CLIENT_CONFIG</div><div class="ttdoc">This struct captures IoTHub client configuration. </div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html_a6b559edc71ff3b0e8d9f9840cb36b27c"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c">IOTHUB_CLIENT_CONFIG_TAG::iotHubName</a></div><div class="ttdeci">const char * iotHubName</div><div class="ttdoc">The IoT Hub name to which the device is connecting. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:106</div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html_ae54e74d8db92b20f796df76f01d5dd68"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68">IOTHUB_CLIENT_CONFIG_TAG::iotHubSuffix</a></div><div class="ttdeci">const char * iotHubSuffix</div><div class="ttdoc">IoT Hub suffix goes here, e.g., private.azure-devices-int.net. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:109</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_acab188935ec8a12092ab518112268bfd"><div class="ttname"><a href="iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd">IOTHUB_CLIENT_RESULT</a></div><div class="ttdeci">enum IOTHUB_CLIENT_RESULT_TAG IOTHUB_CLIENT_RESULT</div><div class="ttdoc">Enumeration specifying the status of calls to various APIs in this module. </div></div>
<div class="ttc" id="iothub__client__ll_8h_html_aa7773cdda101288cfd805c34f726eb84"><div class="ttname"><a href="iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84">IoTHubClient_LL_GetSendStatus</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetSendStatus(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_STATUS *iotHubClientStatus)</div><div class="ttdoc">This function returns the current sending status for IoTHubClient. </div></div>
<div class="ttc" id="iothub__client__ll_8h_html_a70eb58c7ede92f75001104ff4745faa2"><div class="ttname"><a href="iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2">IoTHubClient_LL_SetOption</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetOption(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, const char *optionName, const void *value)</div><div class="ttdoc">This API sets a runtime option identified by parameter optionName to a value pointed to by value...</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_a988b1c83b28d268c642d72dcab8228a4"><div class="ttname"><a href="iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4">IOTHUBMESSAGE_DISPOSITION_RESULT</a></div><div class="ttdeci">enum IOTHUBMESSAGE_DISPOSITION_RESULT_TAG IOTHUBMESSAGE_DISPOSITION_RESULT</div><div class="ttdoc">Enumeration returned by the callback which is invoked whenever the IoT Hub sends a message to the dev...</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_af5e5e122bdc1f1228ae2116fc158b3d6"><div class="ttname"><a href="iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6">IoTHubClient_LL_DoWork</a></div><div class="ttdeci">void IoTHubClient_LL_DoWork(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)</div><div class="ttdoc">This function is meant to be called by the user when work (sending/receiving) can be done by the IoTH...</div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html_ad030712a97d1d08abb7d38841417fc2d"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d">IOTHUB_CLIENT_CONFIG_TAG::deviceKey</a></div><div class="ttdeci">const char * deviceKey</div><div class="ttdoc">The device key used to authenticate the device. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:103</div></div>
<div class="ttc" id="agenttime_8h_html"><div class="ttname"><a href="agenttime_8h.html">agenttime.h</a></div><div class="ttdoc">Function prototypes for time related functions. </div></div>
<div class="ttc" id="iothub__client__ll_8h_html_aadecae0b07958725e83cae943250469d"><div class="ttname"><a href="iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d">IoTHubClient_LL_CreateFromConnectionString</a></div><div class="ttdeci">IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_CreateFromConnectionString(const char *connectionString, IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol)</div><div class="ttdoc">Creates a IoT Hub client for communication with an existing IoT Hub using the specified connection st...</div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html">IOTHUB_CLIENT_CONFIG_TAG</a></div><div class="ttdoc">This struct captures IoTHub client configuration. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:90</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_afc3049dc24e311713ab4735873989a4a"><div class="ttname"><a href="iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a">IoTHubClient_LL_Destroy</a></div><div class="ttdeci">void IoTHubClient_LL_Destroy(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle)</div><div class="ttdoc">Disposes of resources allocated by the IoT Hub client. This is a blocking call. </div></div>
<div class="ttc" id="iothub__client__ll_8h_html_a21b712300499f014b8c467e195f2503c"><div class="ttname"><a href="iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c">IoTHubClient_LL_GetLastMessageReceiveTime</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_LL_GetLastMessageReceiveTime(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, time_t *lastMessageReceiveTime)</div><div class="ttdoc">This function returns in the out parameter lastMessageReceiveTime what was the value of the time func...</div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html_af33000861e1bb43af8e339dee3e689a0"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0">IOTHUB_CLIENT_CONFIG_TAG::deviceId</a></div><div class="ttdeci">const char * deviceId</div><div class="ttdoc">A string that identifies the device. </div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:100</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_a4577382ad30d162f2b9cf461ead5639b"><div class="ttname"><a href="iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b">IOTHUB_CLIENT_CONFIRMATION_RESULT</a></div><div class="ttdeci">enum IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG IOTHUB_CLIENT_CONFIRMATION_RESULT</div><div class="ttdoc">Enumeration passed in by the IoT Hub when the event confirmation callback is invoked to indicate stat...</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_af8c8a00af8c2fac1ccf2111eb4e2016c"><div class="ttname"><a href="iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c">IoTHubClient_LL_SetMessageCallback</a></div><div class="ttdeci">IOTHUB_CLIENT_RESULT IoTHubClient_LL_SetMessageCallback(IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, IOTHUB_CLIENT_MESSAGE_CALLBACK_ASYNC messageCallback, void *userContextCallback)</div><div class="ttdoc">Sets up the message callback to be invoked when IoT Hub issues a message to the device. This is a blocking call. </div></div>
<div class="ttc" id="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g_html_aa7753cf96255b57c65c56d8fedd3d7ca"><div class="ttname"><a href="struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca">IOTHUB_CLIENT_CONFIG_TAG::protocol</a></div><div class="ttdeci">IOTHUB_CLIENT_TRANSPORT_PROVIDER protocol</div><div class="ttdoc">A function pointer that is passed into the IoTHubClientCreate. A function definition for AMQP...</div><div class="ttdef"><b>Definition:</b> iothub_client_ll.h:97</div></div>
<div class="ttc" id="iothub__client__ll_8h_html_ad236a781c7fb988216b98be099125447"><div class="ttname"><a href="iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447">IoTHubClient_LL_Create</a></div><div class="ttdeci">IOTHUB_CLIENT_LL_HANDLE IoTHubClient_LL_Create(const IOTHUB_CLIENT_CONFIG *config)</div><div class="ttdoc">Creates a IoT Hub client for communication with an existing IoT Hub using the specified parameters...</div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

68
c/doc/api_reference/jquery.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -1,238 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/lock.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">lock.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A minimalistic platform agnostic lock abstraction for thread synchronization.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;macro_utils.h&quot;</code><br />
</div>
<p><a href="lock_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a306e7b44e0dda20d53ed79ff6650b4b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a306e7b44e0dda20d53ed79ff6650b4b9"></a>
typedef enum <a class="el" href="lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa">LOCK_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a></td></tr>
<tr class="memdesc:a306e7b44e0dda20d53ed79ff6650b4b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the lock status. <br /></td></tr>
<tr class="separator:a306e7b44e0dda20d53ed79ff6650b4b9"><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:a87aaca66aa3e87418924bd8f8acac6fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87aaca66aa3e87418924bd8f8acac6fa"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa">LOCK_RESULT_TAG</a> <tr class="memdesc:a87aaca66aa3e87418924bd8f8acac6fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the lock status. <br /></td></tr>
<tr class="separator:a87aaca66aa3e87418924bd8f8acac6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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:a3683432285e999baa8c543f27633829c"><td class="memItemLeft" align="right" valign="top">LOCK_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock_8h.html#a3683432285e999baa8c543f27633829c">Lock_Init</a> (void)</td></tr>
<tr class="memdesc:a3683432285e999baa8c543f27633829c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API creates and returns a valid lock handle. <a href="#a3683432285e999baa8c543f27633829c">More...</a><br /></td></tr>
<tr class="separator:a3683432285e999baa8c543f27633829c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a146c21d68c41777d20ef1f7e30518505"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock_8h.html#a146c21d68c41777d20ef1f7e30518505">Lock</a> (LOCK_HANDLE handle)</td></tr>
<tr class="memdesc:a146c21d68c41777d20ef1f7e30518505"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acquires a lock on the given lock handle. Uses platform specific mutex primitives in its implementation. <a href="#a146c21d68c41777d20ef1f7e30518505">More...</a><br /></td></tr>
<tr class="separator:a146c21d68c41777d20ef1f7e30518505"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef3dd970e9edfc49b414aa6cb0f3ad84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock_8h.html#aef3dd970e9edfc49b414aa6cb0f3ad84">Unlock</a> (LOCK_HANDLE handle)</td></tr>
<tr class="memdesc:aef3dd970e9edfc49b414aa6cb0f3ad84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the lock on the given lock handle. Uses platform specific mutex primitives in its implementation. <a href="#aef3dd970e9edfc49b414aa6cb0f3ad84">More...</a><br /></td></tr>
<tr class="separator:aef3dd970e9edfc49b414aa6cb0f3ad84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9743d97f19aac4a0bda808e57ef1249"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249">Lock_Deinit</a> (LOCK_HANDLE handle)</td></tr>
<tr class="memdesc:ac9743d97f19aac4a0bda808e57ef1249"><td class="mdescLeft">&#160;</td><td class="mdescRight">The lock instance is destroyed. <a href="#ac9743d97f19aac4a0bda808e57ef1249">More...</a><br /></td></tr>
<tr class="separator:ac9743d97f19aac4a0bda808e57ef1249"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A minimalistic platform agnostic lock abstraction for thread synchronization. </p>
<p>The Lock component is implemented in order to achieve thread synchronization, as we may have a requirement to consume locks across different platforms. This component exposes some generic APIs so that it can be extended for platform specific implementations. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a146c21d68c41777d20ef1f7e30518505"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a> Lock </td>
<td>(</td>
<td class="paramtype">LOCK_HANDLE&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acquires a lock on the given lock handle. Uses platform specific mutex primitives in its implementation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>A valid handle to the lock.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <code>LOCK_OK</code> when a lock has been acquired and <code>LOCK_ERROR</code> when an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="ac9743d97f19aac4a0bda808e57ef1249"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a> Lock_Deinit </td>
<td>(</td>
<td class="paramtype">LOCK_HANDLE&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The lock instance is destroyed. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>A valid handle to the lock.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <code>LOCK_OK</code> when the lock object has been destroyed and <code>LOCK_ERROR</code> when an error occurs. </dd></dl>
</div>
</div>
<a class="anchor" id="a3683432285e999baa8c543f27633829c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">LOCK_HANDLE Lock_Init </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 API creates and returns a valid lock handle. </p>
<dl class="section return"><dt>Returns</dt><dd>A valid <code>LOCK_HANDLE</code> when successful or <code>NULL</code> otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="aef3dd970e9edfc49b414aa6cb0f3ad84"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a> Unlock </td>
<td>(</td>
<td class="paramtype">LOCK_HANDLE&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases the lock on the given lock handle. Uses platform specific mutex primitives in its implementation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>A valid handle to the lock.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns <code>LOCK_OK</code> when the lock has been released and <code>LOCK_ERROR</code> when an error occurs. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,140 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/common/inc/lock.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_cdcbff5a6a1122bd9bb23b5044523779.html">common</a></li><li class="navelem"><a class="el" href="dir_e7e6b493d3d7754f3ea1acccc5db86e9.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">lock.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="lock_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#ifndef LOCK_H</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#define LOCK_H</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span>* LOCK_HANDLE;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#define LOCK_RESULT_VALUES \</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"> LOCK_OK, \</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"> LOCK_ERROR \</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa"> 31</a></span>&#160;DEFINE_ENUM(<a class="code" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a>, LOCK_RESULT_VALUES);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">extern</span> LOCK_HANDLE <a class="code" href="lock_8h.html#a3683432285e999baa8c543f27633829c">Lock_Init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">extern</span> <a class="code" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a> <a class="code" href="lock_8h.html#a146c21d68c41777d20ef1f7e30518505">Lock</a>(LOCK_HANDLE handle);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">extern</span> <a class="code" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a> <a class="code" href="lock_8h.html#aef3dd970e9edfc49b414aa6cb0f3ad84">Unlock</a>(LOCK_HANDLE handle);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keyword">extern</span> <a class="code" href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a> <a class="code" href="lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249">Lock_Deinit</a>(LOCK_HANDLE handle);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* LOCK_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="lock_8h_html_a3683432285e999baa8c543f27633829c"><div class="ttname"><a href="lock_8h.html#a3683432285e999baa8c543f27633829c">Lock_Init</a></div><div class="ttdeci">LOCK_HANDLE Lock_Init(void)</div><div class="ttdoc">This API creates and returns a valid lock handle. </div></div>
<div class="ttc" id="lock_8h_html_a306e7b44e0dda20d53ed79ff6650b4b9"><div class="ttname"><a href="lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9">LOCK_RESULT</a></div><div class="ttdeci">enum LOCK_RESULT_TAG LOCK_RESULT</div><div class="ttdoc">Enumeration specifying the lock status. </div></div>
<div class="ttc" id="lock_8h_html_a146c21d68c41777d20ef1f7e30518505"><div class="ttname"><a href="lock_8h.html#a146c21d68c41777d20ef1f7e30518505">Lock</a></div><div class="ttdeci">LOCK_RESULT Lock(LOCK_HANDLE handle)</div><div class="ttdoc">Acquires a lock on the given lock handle. Uses platform specific mutex primitives in its implementati...</div></div>
<div class="ttc" id="lock_8h_html_aef3dd970e9edfc49b414aa6cb0f3ad84"><div class="ttname"><a href="lock_8h.html#aef3dd970e9edfc49b414aa6cb0f3ad84">Unlock</a></div><div class="ttdeci">LOCK_RESULT Unlock(LOCK_HANDLE handle)</div><div class="ttdoc">Releases the lock on the given lock handle. Uses platform specific mutex primitives in its implementa...</div></div>
<div class="ttc" id="lock_8h_html_ac9743d97f19aac4a0bda808e57ef1249"><div class="ttname"><a href="lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249">Lock_Deinit</a></div><div class="ttdeci">LOCK_RESULT Lock_Deinit(LOCK_HANDLE handle)</div><div class="ttdoc">The lock instance is destroyed. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Двоичные данные
c/doc/api_reference/nav_f.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 136 B

Двоичные данные
c/doc/api_reference/nav_g.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 95 B

Двоичные данные
c/doc/api_reference/nav_h.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 93 B

Двоичные данные
c/doc/api_reference/open.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 115 B

Просмотреть файл

@ -1,5 +0,0 @@
# Microsoft Azure IoT Device SDK for C API reference
To view the API reference do the following:
1. Copy the contents of this directory to your local machine.
2. Open the index.html file from your web browser.

Просмотреть файл

@ -1,230 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/serializer/inc/schemalib.h File Reference</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html">serializer</a></li><li class="navelem"><a class="el" href="dir_4512fd3943e6edf693cef6803bd9b15b.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">schemalib.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The IoT Hub Serializer APIs allows developers to define models for their devices.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;macro_utils.h&quot;</code><br />
<code>#include &quot;strings.h&quot;</code><br />
<code>#include &quot;iotdevice.h&quot;</code><br />
</div>
<p><a href="schemalib_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ad17b49367136d353b37ac80b2fd0e920"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad17b49367136d353b37ac80b2fd0e920"></a>
typedef enum <a class="el" href="schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc">SERIALIZER_RESULT_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a></td></tr>
<tr class="memdesc:ad17b49367136d353b37ac80b2fd0e920"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:ad17b49367136d353b37ac80b2fd0e920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af53bee224fe8926ea9e23f0e09ab7910"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af53bee224fe8926ea9e23f0e09ab7910"></a>
typedef enum <a class="el" href="schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c">SERIALIZER_CONFIG_TAG</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">SERIALIZER_CONFIG</a></td></tr>
<tr class="memdesc:af53bee224fe8926ea9e23f0e09ab7910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the option to set on the serializer when calling <a class="el" href="schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7" title="Set serializer options. ">serializer_setconfig</a>. <br /></td></tr>
<tr class="separator:af53bee224fe8926ea9e23f0e09ab7910"><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:a960fe6038a4c443849a51328561a3cdc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a960fe6038a4c443849a51328561a3cdc"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc">SERIALIZER_RESULT_TAG</a> <tr class="memdesc:a960fe6038a4c443849a51328561a3cdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the status of calls to various APIs in this module. <br /></td></tr>
<tr class="separator:a960fe6038a4c443849a51328561a3cdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</td></tr>
<tr class="memitem:a613fbcf6251d7de13a480b6a4a7e315c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a613fbcf6251d7de13a480b6a4a7e315c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c">SERIALIZER_CONFIG_TAG</a> <tr class="memdesc:a613fbcf6251d7de13a480b6a4a7e315c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the option to set on the serializer when calling <a class="el" href="schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7" title="Set serializer options. ">serializer_setconfig</a>. <br /></td></tr>
<tr class="separator:a613fbcf6251d7de13a480b6a4a7e315c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</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:a0efca90998d764b66602d0046333d4bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html#a0efca90998d764b66602d0046333d4bd">serializer_init</a> (const char *overrideSchemaNamespace)</td></tr>
<tr class="memdesc:a0efca90998d764b66602d0046333d4bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the library. <a href="#a0efca90998d764b66602d0046333d4bd">More...</a><br /></td></tr>
<tr class="separator:a0efca90998d764b66602d0046333d4bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6d4835d9608c78de209ca23b9817c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2">serializer_deinit</a> (void)</td></tr>
<tr class="memdesc:a7a6d4835d9608c78de209ca23b9817c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shuts down the IOT library. <a href="#a7a6d4835d9608c78de209ca23b9817c2">More...</a><br /></td></tr>
<tr class="separator:a7a6d4835d9608c78de209ca23b9817c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa60c0c7fb365aff62ccdf052dd96a5d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7">serializer_setconfig</a> (<a class="el" href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">SERIALIZER_CONFIG</a> which, void *value)</td></tr>
<tr class="memdesc:aa60c0c7fb365aff62ccdf052dd96a5d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set serializer options. <a href="#aa60c0c7fb365aff62ccdf052dd96a5d7">More...</a><br /></td></tr>
<tr class="separator:aa60c0c7fb365aff62ccdf052dd96a5d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The IoT Hub Serializer APIs allows developers to define models for their devices. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a7a6d4835d9608c78de209ca23b9817c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void serializer_deinit </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Shuts down the IOT library. </p>
<p>The library will track all created devices and upon a call to <a class="el" href="schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2" title="Shuts down the IOT library. ">serializer_deinit</a> it will de-initialize all devices. </p>
</div>
</div>
<a class="anchor" id="a0efca90998d764b66602d0046333d4bd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a> serializer_init </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>overrideSchemaNamespace</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the library. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">overrideSchemaNamespace</td><td>An override schema namespace to use for all models. Optional, can be <code>NULL</code>.</td></tr>
</table>
</dd>
</dl>
<p>If <code>schemaNamespace</code> is not <code>NULL</code>, its value shall be used instead of the namespace defined for each model by using the <code>DECLARE_XXX</code> macro.</p>
<dl class="section return"><dt>Returns</dt><dd><code>SERIALIZER_OK</code> on success and any other error on failure. </dd></dl>
</div>
</div>
<a class="anchor" id="aa60c0c7fb365aff62ccdf052dd96a5d7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a> serializer_setconfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">SERIALIZER_CONFIG</a>&#160;</td>
<td class="paramname"><em>which</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set serializer options. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">which</td><td>The option to be set. </td></tr>
<tr><td class="paramname">value</td><td>The value to set for the given option.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>SERIALIZER_OK</code> on success and any other error on failure. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,154 +0,0 @@
<!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.10"/>
<title>Microsoft Azure IoT Device SDK for C: c/serializer/inc/schemalib.h Source File</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">Microsoft Azure IoT Device SDK for C
&#160;<span id="projectnumber">1.0.0-preview.1.0.0</span>
</div>
<div id="projectbrief">The Microsoft Azure IoT device libraries for C contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<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><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_1784a01aa976a8c78ef5dfc3737bcac8.html">c</a></li><li class="navelem"><a class="el" href="dir_12d2b36f129c41023f7f4a6bff2578c5.html">serializer</a></li><li class="navelem"><a class="el" href="dir_4512fd3943e6edf693cef6803bd9b15b.html">inc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">schemalib.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="schemalib_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) Microsoft. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the MIT license. See LICENSE file in the project root for full license information.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#ifndef SCHEMALIB_H</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#define SCHEMALIB_H</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;macro_utils.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;strings.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;iotdevice.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">/* Codes_SRS_SCHEMALIB__99_001:[ IoTHubSchema_Client shall expose the following API: ... ] */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define SERIALIZER_RESULT_VALUES \</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor"> SERIALIZER_OK, \</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor"> SERIALIZER_INVALID_ARG, \</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"> SERIALIZER_CODEFIRST_INIT_FAILED, \</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor"> SERIALIZER_SCHEMA_FAILED, \</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"> SERIALIZER_HTTP_API_INIT_FAILED, \</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"> SERIALIZER_ALREADY_INIT, \</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"> SERIALIZER_ERROR, \</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor"> SERIALIZER_NOT_INITIALIZED, \</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor"> SERIALIZER_ALREADY_STARTED, \</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"> SERIALIZER_DEVICE_CREATE_FAILED, \</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"> SERIALIZER_GET_MODEL_HANDLE_FAILED, \</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"> SERIALIZER_SERVICEBUS_FAILED</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc"> 38</a></span>&#160;DEFINE_ENUM(<a class="code" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a>, SERIALIZER_RESULT_VALUES);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#define SERIALIZER_CONFIG_VALUES \</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor"> CommandPollingInterval, \</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor"> SerializeDelayedBufferMaxSize</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c"> 47</a></span>&#160;DEFINE_ENUM(<a class="code" href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">SERIALIZER_CONFIG</a>, SERIALIZER_CONFIG_VALUES);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">extern</span> <a class="code" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a> <a class="code" href="schemalib_8h.html#a0efca90998d764b66602d0046333d4bd">serializer_init</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* overrideSchemaNamespace);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2">serializer_deinit</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword">extern</span> <a class="code" href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a> <a class="code" href="schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7">serializer_setconfig</a>(<a class="code" href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">SERIALIZER_CONFIG</a> which, <span class="keywordtype">void</span>* value);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* SCHEMALIB_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="schemalib_8h_html_aa60c0c7fb365aff62ccdf052dd96a5d7"><div class="ttname"><a href="schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7">serializer_setconfig</a></div><div class="ttdeci">SERIALIZER_RESULT serializer_setconfig(SERIALIZER_CONFIG which, void *value)</div><div class="ttdoc">Set serializer options. </div></div>
<div class="ttc" id="schemalib_8h_html_af53bee224fe8926ea9e23f0e09ab7910"><div class="ttname"><a href="schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910">SERIALIZER_CONFIG</a></div><div class="ttdeci">enum SERIALIZER_CONFIG_TAG SERIALIZER_CONFIG</div><div class="ttdoc">Enumeration specifying the option to set on the serializer when calling serializer_setconfig. </div></div>
<div class="ttc" id="schemalib_8h_html_a7a6d4835d9608c78de209ca23b9817c2"><div class="ttname"><a href="schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2">serializer_deinit</a></div><div class="ttdeci">void serializer_deinit(void)</div><div class="ttdoc">Shuts down the IOT library. </div></div>
<div class="ttc" id="schemalib_8h_html_a0efca90998d764b66602d0046333d4bd"><div class="ttname"><a href="schemalib_8h.html#a0efca90998d764b66602d0046333d4bd">serializer_init</a></div><div class="ttdeci">SERIALIZER_RESULT serializer_init(const char *overrideSchemaNamespace)</div><div class="ttdoc">Initializes the library. </div></div>
<div class="ttc" id="schemalib_8h_html_ad17b49367136d353b37ac80b2fd0e920"><div class="ttname"><a href="schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920">SERIALIZER_RESULT</a></div><div class="ttdeci">enum SERIALIZER_RESULT_TAG SERIALIZER_RESULT</div><div class="ttdoc">Enumeration specifying the status of calls to various APIs in this module. </div></div>
</div><!-- fragment --></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.10
</small></address>
</body>
</html>

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,4 +0,0 @@
var searchData=
[
['agenttime_2eh',['agenttime.h',['../agenttime_8h.html',1,'']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,8 +0,0 @@
var searchData=
[
['base64_2eh',['base64.h',['../base64_8h.html',1,'']]],
['base64_5fdecoder',['Base64_Decoder',['../base64_8h.html#af53129a184d122641b31220cbd401402',1,'base64.h']]],
['base64_5fencode',['Base64_Encode',['../base64_8h.html#a3fc0095d207b2916b9af7e3b9bf25dbb',1,'base64.h']]],
['base64_5fencode_5fbytes',['Base64_Encode_Bytes',['../base64_8h.html#a9e30a20c2abb2bf5e826426c953d12ed',1,'base64.h']]],
['begin_5fnamespace',['BEGIN_NAMESPACE',['../serializer_8h.html#ad409cf8f57d6766ce80a504e679bb6a6',1,'serializer.h']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,7 +0,0 @@
var searchData=
[
['declare_5fmodel',['DECLARE_MODEL',['../serializer_8h.html#a03ed9d2601530986f0be6c9e675a9489',1,'serializer.h']]],
['declare_5fstruct',['DECLARE_STRUCT',['../serializer_8h.html#aeeaee7762d880f428ed4ba88ca7db1e6',1,'serializer.h']]],
['deviceid',['deviceId',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#af33000861e1bb43af8e339dee3e689a0',1,'IOTHUB_CLIENT_CONFIG_TAG']]],
['devicekey',['deviceKey',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ad030712a97d1d08abb7d38841417fc2d',1,'IOTHUB_CLIENT_CONFIG_TAG']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,5 +0,0 @@
var searchData=
[
['end_5fnamespace',['END_NAMESPACE',['../serializer_8h.html#af169ba5b3435392cf046bd3e07e324d3',1,'serializer.h']]],
['execute_5fcommand',['EXECUTE_COMMAND',['../serializer_8h.html#a8b306a60e81bcfdf3729962df530ec16',1,'serializer.h']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,8 +0,0 @@
var searchData=
[
['get_5fctime',['get_ctime',['../agenttime_8h.html#a0d6a35518723789d23906b028da65636',1,'agenttime.h']]],
['get_5fdifftime',['get_difftime',['../agenttime_8h.html#a321a069486f837a3c3d048d7a5f8d8be',1,'agenttime.h']]],
['get_5fgmtime',['get_gmtime',['../agenttime_8h.html#a8cbed35d6d2183a257e91b5bc4122669',1,'agenttime.h']]],
['get_5fmodel_5fhandle',['GET_MODEL_HANDLE',['../serializer_8h.html#a887590f4b40f78bf359c8e56f03c56fe',1,'serializer.h']]],
['get_5ftime',['get_time',['../agenttime_8h.html#acc6a1b36113a04d34377d9b7901202dd',1,'agenttime.h']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,33 +0,0 @@
var searchData=
[
['http_5fheaders_5fresult',['HTTP_HEADERS_RESULT',['../httpheaders_8h.html#a0e2b8a3247e013bfcd5a2c5c09ffeb46',1,'httpheaders.h']]],
['http_5fheaders_5fresult_5ftag',['HTTP_HEADERS_RESULT_TAG',['../httpheaders_8h.html#a8f45dc684b1c576d92316e46a253203c',1,'httpheaders.h']]],
['httpapi_2eh',['httpapi.h',['../httpapi_8h.html',1,'']]],
['httpapi_5fcloneoption',['HTTPAPI_CloneOption',['../httpapi_8h.html#ad4a4aab991408a4dbf0c018eae727985',1,'httpapi.h']]],
['httpapi_5fcloseconnection',['HTTPAPI_CloseConnection',['../httpapi_8h.html#aed5a7f4253357457399d03dad763d904',1,'httpapi.h']]],
['httpapi_5fcreateconnection',['HTTPAPI_CreateConnection',['../httpapi_8h.html#a96629fdbe1b52a5357da60bb1248b174',1,'httpapi.h']]],
['httpapi_5fdeinit',['HTTPAPI_Deinit',['../httpapi_8h.html#a0746eed2ddbd3cf46ec5f015ceb32305',1,'httpapi.h']]],
['httpapi_5fexecuterequest',['HTTPAPI_ExecuteRequest',['../httpapi_8h.html#afa60b8d96e73b2fe592b591208ef66b1',1,'httpapi.h']]],
['httpapi_5finit',['HTTPAPI_Init',['../httpapi_8h.html#a0a73dc1b76c522a36b0f201d1a80c3d4',1,'httpapi.h']]],
['httpapi_5frequest_5ftype',['HTTPAPI_REQUEST_TYPE',['../httpapi_8h.html#ad3df2a926e7d91868324660f83dcd66d',1,'httpapi.h']]],
['httpapi_5frequest_5ftype_5ftag',['HTTPAPI_REQUEST_TYPE_TAG',['../httpapi_8h.html#a81bf3649034ead3dd83e2fd34571e89c',1,'httpapi.h']]],
['httpapi_5fresult',['HTTPAPI_RESULT',['../httpapi_8h.html#accb5e25e6c8d9765e5abe53132708480',1,'httpapi.h']]],
['httpapi_5fresult_5ftag',['HTTPAPI_RESULT_TAG',['../httpapi_8h.html#a98e397f3dccc10de6bd136785012ca87',1,'httpapi.h']]],
['httpapi_5fsetoption',['HTTPAPI_SetOption',['../httpapi_8h.html#a126e89db045f53ecc3438eecea2efc84',1,'httpapi.h']]],
['httpapiex_2eh',['httpapiex.h',['../httpapiex_8h.html',1,'']]],
['httpapiex_5fcreate',['HTTPAPIEX_Create',['../httpapiex_8h.html#a914c0f1741f3d3ae45c3b19fd6eeaa70',1,'httpapiex.h']]],
['httpapiex_5fdestroy',['HTTPAPIEX_Destroy',['../httpapiex_8h.html#a5518724d6f85d8fd4db9aaa45d7e695d',1,'httpapiex.h']]],
['httpapiex_5fexecuterequest',['HTTPAPIEX_ExecuteRequest',['../httpapiex_8h.html#a9bb3e8fe9e08c382ad8ceb55f86fcb7e',1,'httpapiex.h']]],
['httpapiex_5fresult',['HTTPAPIEX_RESULT',['../httpapiex_8h.html#a5d80096f8913d8f1b021446bb21a4ba8',1,'httpapiex.h']]],
['httpapiex_5fresult_5ftag',['HTTPAPIEX_RESULT_TAG',['../httpapiex_8h.html#a605d1cdabe6e2dd794c507a096bb06e8',1,'httpapiex.h']]],
['httpapiex_5fsetoption',['HTTPAPIEX_SetOption',['../httpapiex_8h.html#adbfe5c665ef6326ac5e16226eb1f878f',1,'httpapiex.h']]],
['httpheaders_2eh',['httpheaders.h',['../httpheaders_8h.html',1,'']]],
['httpheaders_5faddheadernamevaluepair',['HTTPHeaders_AddHeaderNameValuePair',['../httpheaders_8h.html#a8dce889a4de32b3b87253a88233c0ee8',1,'httpheaders.h']]],
['httpheaders_5falloc',['HTTPHeaders_Alloc',['../httpheaders_8h.html#ae7ad9a388a31de196d2029fb7c917a6c',1,'httpheaders.h']]],
['httpheaders_5fclone',['HTTPHeaders_Clone',['../httpheaders_8h.html#afd829706924f49fc83ed5d334789378e',1,'httpheaders.h']]],
['httpheaders_5ffindheadervalue',['HTTPHeaders_FindHeaderValue',['../httpheaders_8h.html#afa826a79ce713d5fef6601cc37190076',1,'httpheaders.h']]],
['httpheaders_5ffree',['HTTPHeaders_Free',['../httpheaders_8h.html#af0a24331c9a4cb947efe371ca9db0ab2',1,'httpheaders.h']]],
['httpheaders_5fgetheader',['HTTPHeaders_GetHeader',['../httpheaders_8h.html#aea6a07dbf89d3cf55f3bc95e9a8b4c44',1,'httpheaders.h']]],
['httpheaders_5fgetheadercount',['HTTPHeaders_GetHeaderCount',['../httpheaders_8h.html#a392de03265933e898f7a5e1f1f4065de',1,'httpheaders.h']]],
['httpheaders_5freplaceheadernamevaluepair',['HTTPHeaders_ReplaceHeaderNameValuePair',['../httpheaders_8h.html#a579bc2b4b3ae632382e077378f0139f3',1,'httpheaders.h']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,34 +0,0 @@
var searchData=
[
['iothub_5fclient_2eh',['iothub_client.h',['../iothub__client_8h.html',1,'']]],
['iothub_5fclient_5fconfig',['IOTHUB_CLIENT_CONFIG',['../iothub__client__ll_8h.html#ac14a59dcc227623976d044d1805b5e22',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fconfig_5ftag',['IOTHUB_CLIENT_CONFIG_TAG',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html',1,'']]],
['iothub_5fclient_5fconfirmation_5fresult',['IOTHUB_CLIENT_CONFIRMATION_RESULT',['../iothub__client__ll_8h.html#a4577382ad30d162f2b9cf461ead5639b',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fconfirmation_5fresult_5ftag',['IOTHUB_CLIENT_CONFIRMATION_RESULT_TAG',['../iothub__client__ll_8h.html#af338feaaafa37bd3352967a1fe52c9e7',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fll_2eh',['iothub_client_ll.h',['../iothub__client__ll_8h.html',1,'']]],
['iothub_5fclient_5fresult',['IOTHUB_CLIENT_RESULT',['../iothub__client__ll_8h.html#acab188935ec8a12092ab518112268bfd',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fresult_5ftag',['IOTHUB_CLIENT_RESULT_TAG',['../iothub__client__ll_8h.html#a1dcfcf0cc4f3d27d4fe24642929e0e05',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fstatus',['IOTHUB_CLIENT_STATUS',['../iothub__client__ll_8h.html#a06bec2310f92a54329a1f39b0804ee88',1,'iothub_client_ll.h']]],
['iothub_5fclient_5fstatus_5ftag',['IOTHUB_CLIENT_STATUS_TAG',['../iothub__client__ll_8h.html#aad29ba44eb4ad88bf10e7d3d43138bf7',1,'iothub_client_ll.h']]],
['iothubclient_5fcreate',['IoTHubClient_Create',['../iothub__client_8h.html#a7e4253f4df8cdef79cbe44d33c73547d',1,'iothub_client.h']]],
['iothubclient_5fcreatefromconnectionstring',['IoTHubClient_CreateFromConnectionString',['../iothub__client_8h.html#a190e08e1201046fda675517070d63e83',1,'iothub_client.h']]],
['iothubclient_5fdestroy',['IoTHubClient_Destroy',['../iothub__client_8h.html#a47fce212d1c5026e02ccd670242e1d83',1,'iothub_client.h']]],
['iothubclient_5fgetlastmessagereceivetime',['IoTHubClient_GetLastMessageReceiveTime',['../iothub__client_8h.html#a4484e3db3c295c66d379b44fc53cfd79',1,'iothub_client.h']]],
['iothubclient_5fgetsendstatus',['IoTHubClient_GetSendStatus',['../iothub__client_8h.html#a1a7263e65a99da2bb397977031d6e02a',1,'iothub_client.h']]],
['iothubclient_5fll_5fcreate',['IoTHubClient_LL_Create',['../iothub__client__ll_8h.html#ad236a781c7fb988216b98be099125447',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fcreatefromconnectionstring',['IoTHubClient_LL_CreateFromConnectionString',['../iothub__client__ll_8h.html#aadecae0b07958725e83cae943250469d',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fdestroy',['IoTHubClient_LL_Destroy',['../iothub__client__ll_8h.html#afc3049dc24e311713ab4735873989a4a',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fdowork',['IoTHubClient_LL_DoWork',['../iothub__client__ll_8h.html#af5e5e122bdc1f1228ae2116fc158b3d6',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fgetlastmessagereceivetime',['IoTHubClient_LL_GetLastMessageReceiveTime',['../iothub__client__ll_8h.html#a21b712300499f014b8c467e195f2503c',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fgetsendstatus',['IoTHubClient_LL_GetSendStatus',['../iothub__client__ll_8h.html#aa7773cdda101288cfd805c34f726eb84',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fsendeventasync',['IoTHubClient_LL_SendEventAsync',['../iothub__client__ll_8h.html#ab47deec96944dd3f1bf0e747ab565277',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fsetmessagecallback',['IoTHubClient_LL_SetMessageCallback',['../iothub__client__ll_8h.html#af8c8a00af8c2fac1ccf2111eb4e2016c',1,'iothub_client_ll.h']]],
['iothubclient_5fll_5fsetoption',['IoTHubClient_LL_SetOption',['../iothub__client__ll_8h.html#a70eb58c7ede92f75001104ff4745faa2',1,'iothub_client_ll.h']]],
['iothubclient_5fsendeventasync',['IoTHubClient_SendEventAsync',['../iothub__client_8h.html#a3e60e953d03a503c1ae30dd6af7f390f',1,'iothub_client.h']]],
['iothubclient_5fsetmessagecallback',['IoTHubClient_SetMessageCallback',['../iothub__client_8h.html#a86d2a2ad2209f6e33bf59ee586abc042',1,'iothub_client.h']]],
['iothubclient_5fsetoption',['IoTHubClient_SetOption',['../iothub__client_8h.html#a7a0ff66340551d6748b13e9ca74f3197',1,'iothub_client.h']]],
['iothubmessage_5fdisposition_5fresult',['IOTHUBMESSAGE_DISPOSITION_RESULT',['../iothub__client__ll_8h.html#a988b1c83b28d268c642d72dcab8228a4',1,'iothub_client_ll.h']]],
['iothubmessage_5fdisposition_5fresult_5ftag',['IOTHUBMESSAGE_DISPOSITION_RESULT_TAG',['../iothub__client__ll_8h.html#ad6c1da5dbe6e1dd6746ab930b377d531',1,'iothub_client_ll.h']]],
['iothubname',['iotHubName',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#a6b559edc71ff3b0e8d9f9840cb36b27c',1,'IOTHUB_CLIENT_CONFIG_TAG']]],
['iothubsuffix',['iotHubSuffix',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#ae54e74d8db92b20f796df76f01d5dd68',1,'IOTHUB_CLIENT_CONFIG_TAG']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,9 +0,0 @@
var searchData=
[
['lock',['Lock',['../lock_8h.html#a146c21d68c41777d20ef1f7e30518505',1,'lock.h']]],
['lock_2eh',['lock.h',['../lock_8h.html',1,'']]],
['lock_5fdeinit',['Lock_Deinit',['../lock_8h.html#ac9743d97f19aac4a0bda808e57ef1249',1,'lock.h']]],
['lock_5finit',['Lock_Init',['../lock_8h.html#a3683432285e999baa8c543f27633829c',1,'lock.h']]],
['lock_5fresult',['LOCK_RESULT',['../lock_8h.html#a306e7b44e0dda20d53ed79ff6650b4b9',1,'lock.h']]],
['lock_5fresult_5ftag',['LOCK_RESULT_TAG',['../lock_8h.html#a87aaca66aa3e87418924bd8f8acac6fa',1,'lock.h']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_8.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,4 +0,0 @@
var searchData=
[
['microsoft_20azure_20iot_20device_20sdk_20for_20c',['Microsoft Azure IoT Device SDK for C',['../index.html',1,'']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_9.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,4 +0,0 @@
var searchData=
[
['protocol',['protocol',['../struct_i_o_t_h_u_b___c_l_i_e_n_t___c_o_n_f_i_g___t_a_g.html#aa7753cf96255b57c65c56d8fedd3d7ca',1,'IOTHUB_CLIENT_CONFIG_TAG']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_a.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Просмотреть файл

@ -1,13 +0,0 @@
var searchData=
[
['schemalib_2eh',['schemalib.h',['../schemalib_8h.html',1,'']]],
['serialize',['SERIALIZE',['../serializer_8h.html#a18c48c356331a3ff3084ff604da29b91',1,'serializer.h']]],
['serializer_2eh',['serializer.h',['../serializer_8h.html',1,'']]],
['serializer_5fconfig',['SERIALIZER_CONFIG',['../schemalib_8h.html#af53bee224fe8926ea9e23f0e09ab7910',1,'schemalib.h']]],
['serializer_5fconfig_5ftag',['SERIALIZER_CONFIG_TAG',['../schemalib_8h.html#a613fbcf6251d7de13a480b6a4a7e315c',1,'schemalib.h']]],
['serializer_5fdeinit',['serializer_deinit',['../schemalib_8h.html#a7a6d4835d9608c78de209ca23b9817c2',1,'schemalib.h']]],
['serializer_5finit',['serializer_init',['../schemalib_8h.html#a0efca90998d764b66602d0046333d4bd',1,'schemalib.h']]],
['serializer_5fresult',['SERIALIZER_RESULT',['../schemalib_8h.html#ad17b49367136d353b37ac80b2fd0e920',1,'schemalib.h']]],
['serializer_5fresult_5ftag',['SERIALIZER_RESULT_TAG',['../schemalib_8h.html#a960fe6038a4c443849a51328561a3cdc',1,'schemalib.h']]],
['serializer_5fsetconfig',['serializer_setconfig',['../schemalib_8h.html#aa60c0c7fb365aff62ccdf052dd96a5d7',1,'schemalib.h']]]
];

Просмотреть файл

@ -1,26 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_b.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше