]> begriffs open source - cmsis-driver-validation/blob - docs/html/group__wifi__sock__api.html
Update documentation hosted on github
[cmsis-driver-validation] / docs / html / group__wifi__sock__api.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <title>WiFi Socket API</title>
7 <title>CMSIS-Driver Validation: WiFi Socket API</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <link href="drv.css" rel="stylesheet" type="text/css" />
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <script type="text/javascript" src="printComponentTabs.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17   $(document).ready(initResizable);
18   $(window).load(resizeHeight);
19 </script>
20 <link href="search/search.css" rel="stylesheet" type="text/css"/>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23   $(document).ready(function() { searchBox.OnSelectItem(0); });
24 </script>
25 <link href="stylsheetf" rel="stylesheet" type="text/css" />
26 </head>
27 <body>
28 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
29 <div id="titlearea">
30 <table cellspacing="0" cellpadding="0">
31  <tbody>
32  <tr style="height: 46px;">
33   <td id="projectlogo"><img alt="Logo" src="keilarm.png"/></td>
34   <td style="padding-left: 0.5em;">
35    <div id="projectname">CMSIS-Driver Validation
36    &#160;<span id="projectnumber">Version 1.4.0</span>
37    </div>
38    <div id="projectbrief">Driver Validation</div>
39   </td>
40  </tr>
41  </tbody>
42 </table>
43 </div>
44 <!-- end header part -->
45 <div id="DRVnav" class="tabs1">
46     <ul class="tablist">
47       <script type="text/javascript">
48                 <!--
49                 writeComponentTabs.call(this);
50                 //-->
51       </script>
52           </ul>
53 </div>
54 <!-- Generated by Doxygen 1.8.6 -->
55 <script type="text/javascript">
56 var searchBox = new SearchBox("searchBox", "search",false,'Search');
57 </script>
58   <div id="navrow1" class="tabs">
59     <ul class="tablist">
60       <li><a href="index.html"><span>Main&#160;Page</span></a></li>
61       <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
62       <li><a href="modules.html"><span>Reference</span></a></li>
63       <li>
64         <div id="MSearchBox" class="MSearchBoxInactive">
65         <span class="left">
66           <img id="MSearchSelect" src="search/mag_sel.png"
67                onmouseover="return searchBox.OnSearchSelectShow()"
68                onmouseout="return searchBox.OnSearchSelectHide()"
69                alt=""/>
70           <input type="text" id="MSearchField" value="Search" accesskey="S"
71                onfocus="searchBox.OnSearchFieldFocus(true)" 
72                onblur="searchBox.OnSearchFieldFocus(false)" 
73                onkeyup="searchBox.OnSearchFieldChange(event)"/>
74           </span><span class="right">
75             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
76           </span>
77         </div>
78       </li>
79     </ul>
80   </div>
81 </div><!-- top -->
82 <div id="side-nav" class="ui-resizable side-nav-resizable">
83   <div id="nav-tree">
84     <div id="nav-tree-contents">
85       <div id="nav-sync" class="sync"></div>
86     </div>
87   </div>
88   <div id="splitbar" style="-moz-user-select:none;" 
89        class="ui-resizable-handle">
90   </div>
91 </div>
92 <script type="text/javascript">
93 $(document).ready(function(){initNavTree('group__wifi__sock__api.html','');});
94 </script>
95 <div id="doc-content">
96 <!-- window showing the filter options -->
97 <div id="MSearchSelectWindow"
98      onmouseover="return searchBox.OnSearchSelectShow()"
99      onmouseout="return searchBox.OnSearchSelectHide()"
100      onkeydown="return searchBox.OnSearchSelectKey(event)">
101 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
102
103 <!-- iframe showing the search results (closed by default) -->
104 <div id="MSearchResultsWindow">
105 <iframe src="javascript:void(0)" frameborder="0" 
106         name="MSearchResults" id="MSearchResults">
107 </iframe>
108 </div>
109
110 <div class="header">
111   <div class="summary">
112 <a href="#func-members">Functions</a>  </div>
113   <div class="headertitle">
114 <div class="title">WiFi Socket API<div class="ingroups"><a class="el" href="group__wifi__funcs.html">WiFi Validation</a></div></div>  </div>
115 </div><!--header-->
116 <div class="contents">
117 <table class="memberdecls">
118 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
119 Functions</h2></td></tr>
120 <tr class="memitem:ga834712f8877f775e1f0f6e50960d72d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga834712f8877f775e1f0f6e50960d72d9">WIFI_SocketCreate</a> (void)</td></tr>
121 <tr class="memdesc:ga834712f8877f775e1f0f6e50960d72d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketCreate.  <a href="#ga834712f8877f775e1f0f6e50960d72d9">More...</a><br/></td></tr>
122 <tr class="separator:ga834712f8877f775e1f0f6e50960d72d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
123 <tr class="memitem:ga67a1bb12d358a227080e43629ee911c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga67a1bb12d358a227080e43629ee911c3">WIFI_SocketBind</a> (void)</td></tr>
124 <tr class="memdesc:ga67a1bb12d358a227080e43629ee911c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketBind.  <a href="#ga67a1bb12d358a227080e43629ee911c3">More...</a><br/></td></tr>
125 <tr class="separator:ga67a1bb12d358a227080e43629ee911c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
126 <tr class="memitem:ga49b46f7f6a66857c1dc15b12ed179264"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga49b46f7f6a66857c1dc15b12ed179264">WIFI_SocketListen</a> (void)</td></tr>
127 <tr class="memdesc:ga49b46f7f6a66857c1dc15b12ed179264"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketListen.  <a href="#ga49b46f7f6a66857c1dc15b12ed179264">More...</a><br/></td></tr>
128 <tr class="separator:ga49b46f7f6a66857c1dc15b12ed179264"><td class="memSeparator" colspan="2">&#160;</td></tr>
129 <tr class="memitem:gaa29a391c5c63e0d9be6dfc250f29a610"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#gaa29a391c5c63e0d9be6dfc250f29a610">WIFI_SocketAccept</a> (void)</td></tr>
130 <tr class="memdesc:gaa29a391c5c63e0d9be6dfc250f29a610"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketAccept.  <a href="#gaa29a391c5c63e0d9be6dfc250f29a610">More...</a><br/></td></tr>
131 <tr class="separator:gaa29a391c5c63e0d9be6dfc250f29a610"><td class="memSeparator" colspan="2">&#160;</td></tr>
132 <tr class="memitem:ga9e97e01035766895d1c8328f0b3919da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga9e97e01035766895d1c8328f0b3919da">WIFI_SocketConnect</a> (void)</td></tr>
133 <tr class="memdesc:ga9e97e01035766895d1c8328f0b3919da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketConnect.  <a href="#ga9e97e01035766895d1c8328f0b3919da">More...</a><br/></td></tr>
134 <tr class="separator:ga9e97e01035766895d1c8328f0b3919da"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 <tr class="memitem:gaa80eb04e62ae8883e9feace380ef85b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#gaa80eb04e62ae8883e9feace380ef85b2">WIFI_SocketRecv</a> (void)</td></tr>
136 <tr class="memdesc:gaa80eb04e62ae8883e9feace380ef85b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketRecv.  <a href="#gaa80eb04e62ae8883e9feace380ef85b2">More...</a><br/></td></tr>
137 <tr class="separator:gaa80eb04e62ae8883e9feace380ef85b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
138 <tr class="memitem:ga5b92075e23383e2cdfc08ba17b7930a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga5b92075e23383e2cdfc08ba17b7930a1">WIFI_SocketRecvFrom</a> (void)</td></tr>
139 <tr class="memdesc:ga5b92075e23383e2cdfc08ba17b7930a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketRecvFrom.  <a href="#ga5b92075e23383e2cdfc08ba17b7930a1">More...</a><br/></td></tr>
140 <tr class="separator:ga5b92075e23383e2cdfc08ba17b7930a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
141 <tr class="memitem:gab3a6004025b524ac7564276397bf5d5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#gab3a6004025b524ac7564276397bf5d5e">WIFI_SocketSend</a> (void)</td></tr>
142 <tr class="memdesc:gab3a6004025b524ac7564276397bf5d5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketSend.  <a href="#gab3a6004025b524ac7564276397bf5d5e">More...</a><br/></td></tr>
143 <tr class="separator:gab3a6004025b524ac7564276397bf5d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
144 <tr class="memitem:gaffb006e3899ba780c3781af90bc1b009"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#gaffb006e3899ba780c3781af90bc1b009">WIFI_SocketSendTo</a> (void)</td></tr>
145 <tr class="memdesc:gaffb006e3899ba780c3781af90bc1b009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketSendTo.  <a href="#gaffb006e3899ba780c3781af90bc1b009">More...</a><br/></td></tr>
146 <tr class="separator:gaffb006e3899ba780c3781af90bc1b009"><td class="memSeparator" colspan="2">&#160;</td></tr>
147 <tr class="memitem:ga94647417555c347e127d5dd35a3b00c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga94647417555c347e127d5dd35a3b00c9">WIFI_SocketGetSockName</a> (void)</td></tr>
148 <tr class="memdesc:ga94647417555c347e127d5dd35a3b00c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketGetSockName.  <a href="#ga94647417555c347e127d5dd35a3b00c9">More...</a><br/></td></tr>
149 <tr class="separator:ga94647417555c347e127d5dd35a3b00c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
150 <tr class="memitem:ga57a2dee261a673a4ee30180613869423"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga57a2dee261a673a4ee30180613869423">WIFI_SocketGetPeerName</a> (void)</td></tr>
151 <tr class="memdesc:ga57a2dee261a673a4ee30180613869423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketGetPeerName.  <a href="#ga57a2dee261a673a4ee30180613869423">More...</a><br/></td></tr>
152 <tr class="separator:ga57a2dee261a673a4ee30180613869423"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 <tr class="memitem:ga265967d39cd19c584c2c88a593c19c86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga265967d39cd19c584c2c88a593c19c86">WIFI_SocketGetOpt</a> (void)</td></tr>
154 <tr class="memdesc:ga265967d39cd19c584c2c88a593c19c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketGetOpt.  <a href="#ga265967d39cd19c584c2c88a593c19c86">More...</a><br/></td></tr>
155 <tr class="separator:ga265967d39cd19c584c2c88a593c19c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
156 <tr class="memitem:ga92055f19013c830b2b793c601226d1ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga92055f19013c830b2b793c601226d1ea">WIFI_SocketSetOpt</a> (void)</td></tr>
157 <tr class="memdesc:ga92055f19013c830b2b793c601226d1ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketSetOpt.  <a href="#ga92055f19013c830b2b793c601226d1ea">More...</a><br/></td></tr>
158 <tr class="separator:ga92055f19013c830b2b793c601226d1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 <tr class="memitem:ga365ef23d0c1980535863639bec4be080"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#ga365ef23d0c1980535863639bec4be080">WIFI_SocketClose</a> (void)</td></tr>
160 <tr class="memdesc:ga365ef23d0c1980535863639bec4be080"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketClose.  <a href="#ga365ef23d0c1980535863639bec4be080">More...</a><br/></td></tr>
161 <tr class="separator:ga365ef23d0c1980535863639bec4be080"><td class="memSeparator" colspan="2">&#160;</td></tr>
162 <tr class="memitem:gac7bb0143c5d023b3ca97ff8f480c9f8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#gac7bb0143c5d023b3ca97ff8f480c9f8a">WIFI_SocketGetHostByName</a> (void)</td></tr>
163 <tr class="memdesc:gac7bb0143c5d023b3ca97ff8f480c9f8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_SocketGetHostByName.  <a href="#gac7bb0143c5d023b3ca97ff8f480c9f8a">More...</a><br/></td></tr>
164 <tr class="separator:gac7bb0143c5d023b3ca97ff8f480c9f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
165 <tr class="memitem:gad37acd8194b984b4c25c88b0c05c2f03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__sock__api.html#gad37acd8194b984b4c25c88b0c05c2f03">WIFI_Ping</a> (void)</td></tr>
166 <tr class="memdesc:gad37acd8194b984b4c25c88b0c05c2f03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test case: WIFI_Ping.  <a href="#gad37acd8194b984b4c25c88b0c05c2f03">More...</a><br/></td></tr>
167 <tr class="separator:gad37acd8194b984b4c25c88b0c05c2f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
168 </table>
169 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
170 <p>These tests verify API and operation of the WiFi socket functions. </p>
171 <h2 class="groupheader">Function Documentation</h2>
172 <a class="anchor" id="gad37acd8194b984b4c25c88b0c05c2f03"></a>
173 <div class="memitem">
174 <div class="memproto">
175       <table class="memname">
176         <tr>
177           <td class="memname">void WIFI_Ping </td>
178           <td>(</td>
179           <td class="paramtype">void&#160;</td>
180           <td class="paramname"></td><td>)</td>
181           <td></td>
182         </tr>
183       </table>
184 </div><div class="memdoc">
185 <p>The test case <b>WIFI_Ping</b> verifies the WiFi Driver <b>Ping</b> function: </p>
186 <div class="fragment"><div class="line">int32_t (*Ping) (<span class="keyword">const</span> uint8_t *ip, uint32_t ip_len);</div>
187 </div><!-- fragment --><p>Function test:</p>
188 <ul>
189 <li>Check function parameters</li>
190 <li>Ping host </li>
191 </ul>
192
193 </div>
194 </div>
195 <a class="anchor" id="gaa29a391c5c63e0d9be6dfc250f29a610"></a>
196 <div class="memitem">
197 <div class="memproto">
198       <table class="memname">
199         <tr>
200           <td class="memname">void WIFI_SocketAccept </td>
201           <td>(</td>
202           <td class="paramtype">void&#160;</td>
203           <td class="paramname"></td><td>)</td>
204           <td></td>
205         </tr>
206       </table>
207 </div><div class="memdoc">
208 <p>The test case <b>WIFI_SocketAccept</b> verifies the WiFi Driver <b>SocketAccept</b> function: </p>
209 <div class="fragment"><div class="line">int32_t (*SocketAccept) (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port);</div>
210 </div><!-- fragment --><p>Stream socket test:</p>
211 <ul>
212 <li>Create stream socket</li>
213 <li>Bind socket</li>
214 <li>Start listening</li>
215 <li>Check function parameters</li>
216 <li>Accept connection, NULL parameters</li>
217 <li>Receive ServerId on accepted socket</li>
218 <li>Close accepted socket</li>
219 <li>Accept connection again, return IP address and port</li>
220 <li>Receive ServerId on accepted socket</li>
221 <li>Receive again, server closed connection</li>
222 <li>Close accepted socket</li>
223 <li>Close listening socket</li>
224 <li>Accept again, closed socket</li>
225 </ul>
226 <p>Datagram socket test:</p>
227 <ul>
228 <li>Create datagram socket</li>
229 <li>Bind socket</li>
230 <li>Start listening</li>
231 <li>Accept connection, provide return parameters for IP address and port</li>
232 <li>Receive ServerId on socket</li>
233 <li>Close socket </li>
234 </ul>
235
236 </div>
237 </div>
238 <a class="anchor" id="ga67a1bb12d358a227080e43629ee911c3"></a>
239 <div class="memitem">
240 <div class="memproto">
241       <table class="memname">
242         <tr>
243           <td class="memname">void WIFI_SocketBind </td>
244           <td>(</td>
245           <td class="paramtype">void&#160;</td>
246           <td class="paramname"></td><td>)</td>
247           <td></td>
248         </tr>
249       </table>
250 </div><div class="memdoc">
251 <p>The test case <b>WIFI_SocketBind</b> verifies the WiFi Driver <b>SocketBind</b> function: </p>
252 <div class="fragment"><div class="line">int32_t (*SocketBind) (int32_t socket, <span class="keyword">const</span> uint8_t *ip, uint32_t  ip_len, uint16_t  port);</div>
253 </div><!-- fragment --><p>Stream socket test:</p>
254 <ul>
255 <li>Create stream socket</li>
256 <li>Check function parameters</li>
257 <li>Bind stream socket</li>
258 <li>Bind socket second time</li>
259 <li>Create 2nd stream socket</li>
260 <li>Bind 2nd socket, used port</li>
261 <li>Bind 2nd socket, unused port</li>
262 <li>Close stream sockets</li>
263 <li>Bind closed socket</li>
264 </ul>
265 <p>Datagram socket test:</p>
266 <ul>
267 <li>Create datagram socket</li>
268 <li>Bind datagram socket</li>
269 <li>Bind socket second time</li>
270 <li>Create 2nd datagram socket</li>
271 <li>Bind 2nd socket, used port</li>
272 <li>Bind 2nd socket, unused port</li>
273 <li>Close datagram socket</li>
274 <li>Bind closed socket </li>
275 </ul>
276
277 </div>
278 </div>
279 <a class="anchor" id="ga365ef23d0c1980535863639bec4be080"></a>
280 <div class="memitem">
281 <div class="memproto">
282       <table class="memname">
283         <tr>
284           <td class="memname">void WIFI_SocketClose </td>
285           <td>(</td>
286           <td class="paramtype">void&#160;</td>
287           <td class="paramname"></td><td>)</td>
288           <td></td>
289         </tr>
290       </table>
291 </div><div class="memdoc">
292 <p>The test case <b>WIFI_SocketClose</b> verifies the WiFi Driver <b>SocketClose</b> function: </p>
293 <div class="fragment"><div class="line">int32_t (*SocketClose) (int32_t socket);</div>
294 </div><!-- fragment --><p>Stream socket test 1:</p>
295 <ul>
296 <li>Create stream socket</li>
297 <li>Bind socket</li>
298 <li>Connect to server</li>
299 <li>Check function parameters</li>
300 <li>Close socket</li>
301 <li>Close socket again</li>
302 </ul>
303 <p>Stream socket test 2:</p>
304 <ul>
305 <li>Create stream socket</li>
306 <li>Bind socket</li>
307 <li>Start listening</li>
308 <li>Close socket</li>
309 <li>Close socket again</li>
310 </ul>
311 <p>Datagram socket test:</p>
312 <ul>
313 <li>Create datagram socket</li>
314 <li>Bind socket</li>
315 <li>Check function parameters</li>
316 <li>Close socket</li>
317 <li>Close socket again </li>
318 </ul>
319
320 </div>
321 </div>
322 <a class="anchor" id="ga9e97e01035766895d1c8328f0b3919da"></a>
323 <div class="memitem">
324 <div class="memproto">
325       <table class="memname">
326         <tr>
327           <td class="memname">void WIFI_SocketConnect </td>
328           <td>(</td>
329           <td class="paramtype">void&#160;</td>
330           <td class="paramname"></td><td>)</td>
331           <td></td>
332         </tr>
333       </table>
334 </div><div class="memdoc">
335 <p>The test case <b>WIFI_SocketConnect</b> verifies the WiFi Driver <b>SocketConnect</b> function: </p>
336 <div class="fragment"><div class="line">int32_t (*SocketConnect) (int32_t socket, <span class="keyword">const</span> uint8_t *ip, uint32_t  ip_len, uint16_t  port);</div>
337 </div><!-- fragment --><p>Stream socket test 1:</p>
338 <ul>
339 <li>Create stream socket</li>
340 <li>Check function parameters</li>
341 <li>Connect to server, blocking mode</li>
342 <li>Connect again, already connected</li>
343 <li>Bind connected socket</li>
344 <li>Close socket</li>
345 <li>Connect on closed socket</li>
346 </ul>
347 <p>Stream socket test 2:</p>
348 <ul>
349 <li>Create stream socket</li>
350 <li>Connect to server, connection rejected</li>
351 <li>Close socket</li>
352 </ul>
353 <p>Stream socket test 3:</p>
354 <ul>
355 <li>Create stream socket</li>
356 <li>Connect to server, non-responding or non-existent</li>
357 <li>Close socket</li>
358 </ul>
359 <p>Stream socket test 4:</p>
360 <ul>
361 <li>Create stream socket</li>
362 <li>Bind socket</li>
363 <li>Start listening</li>
364 <li>Connect to server, blocking mode</li>
365 <li>Close socket</li>
366 </ul>
367 <p>Datagram socket test:</p>
368 <ul>
369 <li>Create datagram socket</li>
370 <li>Bind socket</li>
371 <li>Check function parameters</li>
372 <li>Connect to server, enable address filtering</li>
373 <li>Connect to unspecified address, disable filtering</li>
374 <li>Close socket</li>
375 <li>Connect again, closed socket </li>
376 </ul>
377
378 </div>
379 </div>
380 <a class="anchor" id="ga834712f8877f775e1f0f6e50960d72d9"></a>
381 <div class="memitem">
382 <div class="memproto">
383       <table class="memname">
384         <tr>
385           <td class="memname">void WIFI_SocketCreate </td>
386           <td>(</td>
387           <td class="paramtype">void&#160;</td>
388           <td class="paramname"></td><td>)</td>
389           <td></td>
390         </tr>
391       </table>
392 </div><div class="memdoc">
393 <p>The test case <b>WIFI_SocketCreate</b> verifies the WiFi Driver <b>SocketCreate</b> function: </p>
394 <div class="fragment"><div class="line">int32_t (*SocketCreate) (int32_t af, int32_t type, int32_t protocol);</div>
395 </div><!-- fragment --><p>Create socket test:</p>
396 <ul>
397 <li>Check function parameters</li>
398 <li>Create multiple stream sockets</li>
399 <li>Gradually close stream sockets and create datagram sockets</li>
400 <li>Close datagram sockets </li>
401 </ul>
402
403 </div>
404 </div>
405 <a class="anchor" id="gac7bb0143c5d023b3ca97ff8f480c9f8a"></a>
406 <div class="memitem">
407 <div class="memproto">
408       <table class="memname">
409         <tr>
410           <td class="memname">void WIFI_SocketGetHostByName </td>
411           <td>(</td>
412           <td class="paramtype">void&#160;</td>
413           <td class="paramname"></td><td>)</td>
414           <td></td>
415         </tr>
416       </table>
417 </div><div class="memdoc">
418 <p>The test case <b>WIFI_SocketGetHostByName</b> the WiFi Driver <b>SocketGetHostByName</b> function: </p>
419 <div class="fragment"><div class="line">int32_t (*SocketGetHostByName) (<span class="keyword">const</span> <span class="keywordtype">char</span> *name, int32_t af, uint8_t *ip, uint32_t *ip_len);</div>
420 </div><!-- fragment --><p>Function test:</p>
421 <ul>
422 <li>Check function parameters</li>
423 <li>Resolve host</li>
424 <li>Resolve non-existent host</li>
425 </ul>
426 <dl class="section note"><dt>Note</dt><dd>This test requires internet connectivity to DNS server. </dd></dl>
427
428 </div>
429 </div>
430 <a class="anchor" id="ga265967d39cd19c584c2c88a593c19c86"></a>
431 <div class="memitem">
432 <div class="memproto">
433       <table class="memname">
434         <tr>
435           <td class="memname">void WIFI_SocketGetOpt </td>
436           <td>(</td>
437           <td class="paramtype">void&#160;</td>
438           <td class="paramname"></td><td>)</td>
439           <td></td>
440         </tr>
441       </table>
442 </div><div class="memdoc">
443 <p>The test case <b>WIFI_SocketGetOpt</b> verifies the WiFi Driver <b>SocketGetOpt</b> function: </p>
444 <div class="fragment"><div class="line">int32_t (*SocketGetOpt) (int32_t socket, int32_t opt_id, <span class="keywordtype">void</span> *opt_val, uint32_t *opt_len);</div>
445 </div><!-- fragment --><p>Stream socket test:</p>
446 <ul>
447 <li>Create stream socket</li>
448 <li>Check function parameters</li>
449 <li>Get socket options</li>
450 <li>Close socket</li>
451 <li>Get socket options again, closed socket</li>
452 </ul>
453 <p>Datagram socket test:</p>
454 <ul>
455 <li>Create datagram socket</li>
456 <li>Get socket type</li>
457 <li>Close socket</li>
458 <li>Get socket type </li>
459 </ul>
460
461 </div>
462 </div>
463 <a class="anchor" id="ga57a2dee261a673a4ee30180613869423"></a>
464 <div class="memitem">
465 <div class="memproto">
466       <table class="memname">
467         <tr>
468           <td class="memname">void WIFI_SocketGetPeerName </td>
469           <td>(</td>
470           <td class="paramtype">void&#160;</td>
471           <td class="paramname"></td><td>)</td>
472           <td></td>
473         </tr>
474       </table>
475 </div><div class="memdoc">
476 <p>The test case <b>WIFI_SocketGetPeerName</b> verifies the WiFi Driver <b>SocketGetPeerName</b> function: </p>
477 <div class="fragment"><div class="line">int32_t (*SocketGetPeerName) (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port);</div>
478 </div><!-- fragment --><p>Stream socket test 1:</p>
479 <ul>
480 <li>Create stream socket</li>
481 <li>Connect to server, blocking mode</li>
482 <li>Check function parameters</li>
483 <li>Get peer name</li>
484 <li>Close socket</li>
485 <li>Get peer name, closed socket</li>
486 </ul>
487 <p>Stream socket test 2:</p>
488 <ul>
489 <li>Create stream socket</li>
490 <li>Get peer name, created socket</li>
491 <li>Bind socket</li>
492 <li>Get peer name, bound socket</li>
493 <li>Start listening</li>
494 <li>Get peer name, listening socket</li>
495 <li>Close socket</li>
496 </ul>
497 <p>Datagram socket test:</p>
498 <ul>
499 <li>Create datagram socket</li>
500 <li>Connect to server, enable packet filtering</li>
501 <li>Check function parameters</li>
502 <li>Get peer name</li>
503 <li>Close socket</li>
504 <li>Get peer name, closed socket </li>
505 </ul>
506
507 </div>
508 </div>
509 <a class="anchor" id="ga94647417555c347e127d5dd35a3b00c9"></a>
510 <div class="memitem">
511 <div class="memproto">
512       <table class="memname">
513         <tr>
514           <td class="memname">void WIFI_SocketGetSockName </td>
515           <td>(</td>
516           <td class="paramtype">void&#160;</td>
517           <td class="paramname"></td><td>)</td>
518           <td></td>
519         </tr>
520       </table>
521 </div><div class="memdoc">
522 <p>The test case <b>WIFI_SocketGetSockName</b> verifies the WiFi Driver <b>SocketGetSockName</b> function: </p>
523 <div class="fragment"><div class="line">int32_t (*SocketGetSockName) (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port);</div>
524 </div><!-- fragment --><p>Stream socket test 1:</p>
525 <ul>
526 <li>Create stream socket</li>
527 <li>Connect to server, blocking mode</li>
528 <li>Check function parameters</li>
529 <li>Get socket name</li>
530 <li>Close socket</li>
531 <li>Get socket name again, closed socket</li>
532 </ul>
533 <p>Stream socket test 1:</p>
534 <ul>
535 <li>Create stream socket</li>
536 <li>Get socket name, not bound</li>
537 <li>Bind socket</li>
538 <li>Get socket name, bound</li>
539 <li>Close socket</li>
540 </ul>
541 <p>Datagram socket test 1:</p>
542 <ul>
543 <li>Create datagram socket</li>
544 <li>Connect to server, enable packet filtering</li>
545 <li>Check function parameters</li>
546 <li>Get socket name</li>
547 <li>Close socket</li>
548 <li>Get socket name again, closed socket</li>
549 </ul>
550 <p>Datagram socket test 1:</p>
551 <ul>
552 <li>Create datagram socket</li>
553 <li>Get socket name, not bound</li>
554 <li>Bind socket</li>
555 <li>Get socket name, bound</li>
556 <li>Close socket </li>
557 </ul>
558
559 </div>
560 </div>
561 <a class="anchor" id="ga49b46f7f6a66857c1dc15b12ed179264"></a>
562 <div class="memitem">
563 <div class="memproto">
564       <table class="memname">
565         <tr>
566           <td class="memname">void WIFI_SocketListen </td>
567           <td>(</td>
568           <td class="paramtype">void&#160;</td>
569           <td class="paramname"></td><td>)</td>
570           <td></td>
571         </tr>
572       </table>
573 </div><div class="memdoc">
574 <p>The test case <b>WIFI_SocketListen</b> verifies the WiFi Driver <b>SocketListen</b> function: </p>
575 <div class="fragment"><div class="line">int32_t (*SocketListen) (int32_t socket, int32_t backlog);</div>
576 </div><!-- fragment --><p>Stream socket test 1:</p>
577 <ul>
578 <li>Create stream socket</li>
579 <li>Bind socket</li>
580 <li>Check function parameters</li>
581 <li>Start listening</li>
582 <li>Start listening 2nd time</li>
583 <li>Close socket</li>
584 </ul>
585 <p>Stream socket test 2:</p>
586 <ul>
587 <li>Create stream socket</li>
588 <li>Start listening, unbound socket</li>
589 <li>Close socket</li>
590 <li>Start listening, closed socket</li>
591 </ul>
592 <p>Datagram socket test:</p>
593 <ul>
594 <li>Create datagram socket</li>
595 <li>Bind socket</li>
596 <li>Start listening</li>
597 <li>Close socket </li>
598 </ul>
599
600 </div>
601 </div>
602 <a class="anchor" id="gaa80eb04e62ae8883e9feace380ef85b2"></a>
603 <div class="memitem">
604 <div class="memproto">
605       <table class="memname">
606         <tr>
607           <td class="memname">void WIFI_SocketRecv </td>
608           <td>(</td>
609           <td class="paramtype">void&#160;</td>
610           <td class="paramname"></td><td>)</td>
611           <td></td>
612         </tr>
613       </table>
614 </div><div class="memdoc">
615 <p>Test case <b>WIFI_SocketRecv</b> verifies the WiFi Driver <b>SocketRecv</b> function: </p>
616 <div class="fragment"><div class="line">int32_t (*SocketRecv) (int32_t socket, <span class="keywordtype">void</span> *buf, uint32_t len);</div>
617 </div><!-- fragment --><p>Stream socket test 1:</p>
618 <ul>
619 <li>Create stream socket</li>
620 <li>Connect to Chargen server</li>
621 <li>Check function parameters</li>
622 <li>Receive data in blocking mode</li>
623 <li>Close socket</li>
624 <li>Receive again, closed socket</li>
625 </ul>
626 <p>Stream socket test 2:</p>
627 <ul>
628 <li>Create stream socket</li>
629 <li>Receive data, created socket</li>
630 <li>Bind socket</li>
631 <li>Receive data, bound socket</li>
632 <li>Start listening</li>
633 <li>Receive data, listening socket</li>
634 <li>Close socket</li>
635 </ul>
636 <p>Stream socket test 3:</p>
637 <ul>
638 <li>Create stream socket</li>
639 <li>Connect to Discard server</li>
640 <li>Set receive timeout to 1 sec</li>
641 <li>Receive data, timeout expires</li>
642 <li>Close socket </li>
643 </ul>
644
645 </div>
646 </div>
647 <a class="anchor" id="ga5b92075e23383e2cdfc08ba17b7930a1"></a>
648 <div class="memitem">
649 <div class="memproto">
650       <table class="memname">
651         <tr>
652           <td class="memname">void WIFI_SocketRecvFrom </td>
653           <td>(</td>
654           <td class="paramtype">void&#160;</td>
655           <td class="paramname"></td><td>)</td>
656           <td></td>
657         </tr>
658       </table>
659 </div><div class="memdoc">
660 <p>The test case <b>WIFI_SocketRecvFrom</b> verifies the WiFi Driver <b>SocketRecvFrom</b> function: </p>
661 <div class="fragment"><div class="line">int32_t (*SocketRecvFrom) (int32_t socket, <span class="keywordtype">void</span> *buf, uint32_t len, uint8_t *ip, uint32_t *ip_len, uint16_t *port);</div>
662 </div><!-- fragment --><p>Datagram socket test 1:</p>
663 <ul>
664 <li>Create datagram socket</li>
665 <li>Connect to Chargen server</li>
666 <li>Check function parameters</li>
667 <li>Receive data in blocking mode</li>
668 <li>Set receive timeout to 1 sec</li>
669 <li>Receive again, timeout expires</li>
670 <li>Close socket</li>
671 <li>Receive again, closed socket </li>
672 </ul>
673
674 </div>
675 </div>
676 <a class="anchor" id="gab3a6004025b524ac7564276397bf5d5e"></a>
677 <div class="memitem">
678 <div class="memproto">
679       <table class="memname">
680         <tr>
681           <td class="memname">void WIFI_SocketSend </td>
682           <td>(</td>
683           <td class="paramtype">void&#160;</td>
684           <td class="paramname"></td><td>)</td>
685           <td></td>
686         </tr>
687       </table>
688 </div><div class="memdoc">
689 <p>The test case <b>WIFI_SocketSend</b> verifies the WiFi Driver <b>SocketSend</b> function: </p>
690 <div class="fragment"><div class="line">int32_t (*SocketSend) (int32_t socket, <span class="keyword">const</span> <span class="keywordtype">void</span> *buf, uint32_t len);</div>
691 </div><!-- fragment --><p>Stream socket test 1:</p>
692 <ul>
693 <li>Create stream socket</li>
694 <li>Connect to server, blocking mode</li>
695 <li>Check function parameters</li>
696 <li>Send data, blocking mode</li>
697 <li>Close socket</li>
698 <li>Send again, closed socket</li>
699 </ul>
700 <p>Stream socket test 2:</p>
701 <ul>
702 <li>Create stream socket</li>
703 <li>Connect to server, blocking mode</li>
704 <li>Send ESC data, server disconnects</li>
705 <li>Send again, disconnected socket</li>
706 <li>Close socket</li>
707 </ul>
708 <p>Stream socket test 3:</p>
709 <ul>
710 <li>Create stream socket</li>
711 <li>Send data, created socket</li>
712 <li>Bind socket</li>
713 <li>Send data, bound socket</li>
714 <li>Start listening</li>
715 <li>Send data, listening socket</li>
716 <li>Close socket</li>
717 <li>Send again, closed socket </li>
718 </ul>
719
720 </div>
721 </div>
722 <a class="anchor" id="gaffb006e3899ba780c3781af90bc1b009"></a>
723 <div class="memitem">
724 <div class="memproto">
725       <table class="memname">
726         <tr>
727           <td class="memname">void WIFI_SocketSendTo </td>
728           <td>(</td>
729           <td class="paramtype">void&#160;</td>
730           <td class="paramname"></td><td>)</td>
731           <td></td>
732         </tr>
733       </table>
734 </div><div class="memdoc">
735 <p>The test case <b>WIFI_SocketSend</b> verifies the WiFi Driver <b>SocketSendTo</b> function: </p>
736 <div class="fragment"><div class="line">int32_t (*SocketSendTo) (int32_t socket, <span class="keyword">const</span> <span class="keywordtype">void</span> *buf, uint32_t len, <span class="keyword">const</span> uint8_t *ip, uint32_t ip_len, uint16_t port);</div>
737 </div><!-- fragment --><p>Datagram socket test:</p>
738 <ul>
739 <li>Create datagram socket</li>
740 <li>Check function parameters</li>
741 <li>Send data, blocking mode</li>
742 <li>Receive echo data, verify if the same</li>
743 <li>Close socket</li>
744 <li>Send again, closed socket </li>
745 </ul>
746
747 </div>
748 </div>
749 <a class="anchor" id="ga92055f19013c830b2b793c601226d1ea"></a>
750 <div class="memitem">
751 <div class="memproto">
752       <table class="memname">
753         <tr>
754           <td class="memname">void WIFI_SocketSetOpt </td>
755           <td>(</td>
756           <td class="paramtype">void&#160;</td>
757           <td class="paramname"></td><td>)</td>
758           <td></td>
759         </tr>
760       </table>
761 </div><div class="memdoc">
762 <p>The test case <b>WIFI_SocketSetOpt</b> verifies the WiFi Driver <b>SocketSetOpt</b> function: </p>
763 <div class="fragment"><div class="line">int32_t (*SocketSetOpt) (int32_t socket, int32_t opt_id, <span class="keyword">const</span> <span class="keywordtype">void</span> *opt_val, uint32_t opt_len);</div>
764 </div><!-- fragment --><p>Stream socket test:</p>
765 <ul>
766 <li>Create stream socket</li>
767 <li>Check function parameters</li>
768 <li>Set socket options</li>
769 <li>Close socket</li>
770 <li>Set socket option again, closed socket</li>
771 </ul>
772 <p>Datagram socket test:</p>
773 <ul>
774 <li>Create datagram socket</li>
775 <li>Set socket options</li>
776 <li>Close socket</li>
777 <li>Set socket option again, closed socket </li>
778 </ul>
779
780 </div>
781 </div>
782 </div><!-- contents -->
783 </div><!-- doc-content -->
784 <!-- start footer part -->
785 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
786   <ul>
787     <li class="footer">Generated on Mon Dec 2 2019 12:02:23 for CMSIS-Driver Validation by ARM Ltd. All rights reserved.
788         <!--
789     <a href="http://www.doxygen.org/index.html">
790     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
791         -->
792         </li>
793   </ul>
794 </div>
795 </body>
796 </html>