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">
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 Relaxed API</title>
7 <title>CMSIS-Driver Validation: WiFi Socket Relaxed 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);
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); });
25 <link href="stylsheetf" rel="stylesheet" type="text/css" />
28 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
30 <table cellspacing="0" cellpadding="0">
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  <span id="projectnumber">Version 1.3.0</span>
38 <div id="projectbrief">Driver Validation</div>
44 <!-- end header part -->
45 <div id="DRVnav" class="tabs1">
47 <script type="text/javascript">
49 writeComponentTabs.call(this);
54 <!-- Generated by Doxygen 1.8.6 -->
55 <script type="text/javascript">
56 var searchBox = new SearchBox("searchBox", "search",false,'Search');
58 <div id="navrow1" class="tabs">
60 <li><a href="index.html"><span>Main Page</span></a></li>
61 <li><a href="pages.html"><span>Usage and Description</span></a></li>
62 <li><a href="modules.html"><span>Reference</span></a></li>
64 <div id="MSearchBox" class="MSearchBoxInactive">
66 <img id="MSearchSelect" src="search/mag_sel.png"
67 onmouseover="return searchBox.OnSearchSelectShow()"
68 onmouseout="return searchBox.OnSearchSelectHide()"
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>
82 <div id="side-nav" class="ui-resizable side-nav-resizable">
84 <div id="nav-tree-contents">
85 <div id="nav-sync" class="sync"></div>
88 <div id="splitbar" style="-moz-user-select:none;"
89 class="ui-resizable-handle">
92 <script type="text/javascript">
93 $(document).ready(function(){initNavTree('group__wifi__sock__relaxed.html','');});
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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</a></div>
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">
111 <div class="headertitle">
112 <div class="title">WiFi Socket Relaxed API<div class="ingroups"><a class="el" href="group__wifi__funcs.html">WiFi Validation</a></div></div> </div>
114 <div class="contents">
115 <p>The relaxed WiFi Socket API simplifies the return values of socket functions. This mode is active if the <b>non-strict</b> mode is selected in the <b>DV_Config.h</b> configuration of the test suite.</p>
116 <p>When implementing all the features of WiFi sockets yourself, we recommend choosing a <b>BSD-strict</b> mode. However, the <b>non-strict</b> mode is useful especially when you use the SDK functions of the module to perform the driver functions and you only add parameter conversion at the input and conversion of exit codes at the output.</p>
117 <h1>WiFi socket API changes </h1>
119 <li><b>SocketCreate</b> <ul>
123 <li><b>SocketBind</b> <ul>
124 <li>bind socket same address again, return code <span class="XML-Token">EINVAL</span>, added return code: <span class="XML-Token">OK</span>, generic <span class="XML-Token">ERROR</span></li>
125 <li>bind 2nd socket on used address, return code <span class="XML-Token">EADDRINUSE</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
126 <li>bind on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
129 <li><b>SocketListen</b> <ul>
130 <li>listen socket again, return code <span class="XML-Token">EINVAL</span>, added return code: <span class="XML-Token">OK</span>, generic <span class="XML-Token">ERROR</span></li>
131 <li>listen on unbound socket, return code <span class="XML-Token">EINVAL</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
132 <li>listen on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
133 <li>listen on datagram socket, return code <span class="XML-Token">ENOTSUP</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
136 <li><b>SocketAccept</b> <ul>
137 <li>accept on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
138 <li>accept on datagram socket, return code <span class="XML-Token">ENOTSUP</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
141 <li><b>SocketConnect</b> <ul>
142 <li>connect socket same address again, return code <span class="XML-Token">EISCONN</span>, added return code: OK, generic <span class="XML-Token">ERROR</span></li>
143 <li>bind on connected socket, return code <span class="XML-Token">EISCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
144 <li>connect on listening socket, return code <span class="XML-Token">EINVAL</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
145 <li>connect on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
146 <li>connect to non-existent port, return code <span class="XML-Token">ECONNREFUSED</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
147 <li>connect datagram socket to unspecified address (0.0.0.0), return code <span class="XML-Token">OK</span>, added return code: <span class="XML-Token">EINVAL</span>, generic <span class="XML-Token">ERROR</span> <br/>
148 (special case that deletes the socket destination & filtering address)</li>
151 <li><b>SocketRecv</b> <ul>
152 <li>recv on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
153 <li>recv on created socket return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
154 <li>recv on bound socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
155 <li>recv on listening socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
156 <li>recv on disconnected socket, return code <span class="XML-Token">ECONNRESET</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
159 <li><b>SocketRecvFrom</b> <ul>
160 <li>recvfrom on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
163 <li><b>SocketSend</b> <ul>
164 <li>send on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
165 <li>send on created socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
166 <li>send on bound socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
167 <li>send on listening socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
168 <li>send on disconnected socket, return code <span class="XML-Token">ECONNRESET</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
171 <li><b>SocketSendTo</b> <ul>
172 <li>sendto on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
175 <li><b>SocketGetSockName</b> <ul>
176 <li>getsockname on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
177 <li>getsockname on unbound socket, return code <span class="XML-Token">EINVAL</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
180 <li><b>SocketGetPeerName</b> <ul>
181 <li>getpeername on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
182 <li>getpeername on created socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
183 <li>getpeername on bound socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
184 <li>getpeername on listening socket, return code <span class="XML-Token">ENOTCONN</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
187 <li><b>SocketGetOpt</b> <ul>
188 <li>getsockopt on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
191 <li><b>SocketSetOpt</b> <ul>
192 <li>setsockopt on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
195 <li><b>SocketClose</b> <ul>
196 <li>close on closed socket, return code <span class="XML-Token">ESOCK</span>, added return code: generic <span class="XML-Token">OK</span></li>
199 <li><b>SocketGetHostByName</b> <ul>
200 <li>gethostbyname for non-existing host, return code <span class="XML-Token">EHOSTNOTFOUND</span>, added return code: generic <span class="XML-Token">ERROR</span></li>
208 </div><!-- contents -->
209 </div><!-- doc-content -->
210 <!-- start footer part -->
211 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
213 <li class="footer">Generated on Fri Oct 4 2019 14:13:04 for CMSIS-Driver Validation by ARM Ltd. All rights reserved.
215 <a href="http://www.doxygen.org/index.html">
216 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6