blob: 0c38ff50256b34f8b3eb97265d2f7bd876a9a7e4 [file] [log] [blame] [edit]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>lwIP: src/include/lwip/sys.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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">lwIP<span id="projectnumber">&#160;2.1.3</span>
</div>
<div id="projectbrief">Lightweight IP stack</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('sys_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">sys.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="opt_8h.html">lwip/opt.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="err_8h.html">lwip/err.h</a>&quot;</code><br />
<code>#include &quot;arch/sys_arch.h&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ac1495030a8ab5e1f3c89e42ced527c5b" id="r_ac1495030a8ab5e1f3c89e42ced527c5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac1495030a8ab5e1f3c89e42ced527c5b">SYS_ARCH_TIMEOUT</a>&#160;&#160;&#160;0xffffffffUL</td></tr>
<tr class="separator:ac1495030a8ab5e1f3c89e42ced527c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0571e67edca0132b144106e9b319ef9" id="r_ab0571e67edca0132b144106e9b319ef9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0571e67edca0132b144106e9b319ef9">SYS_MBOX_EMPTY</a>&#160;&#160;&#160;<a class="el" href="#ac1495030a8ab5e1f3c89e42ced527c5b">SYS_ARCH_TIMEOUT</a></td></tr>
<tr class="separator:ab0571e67edca0132b144106e9b319ef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bada49634cd3b28b28bdcedd763a1e6" id="r_a7bada49634cd3b28b28bdcedd763a1e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7bada49634cd3b28b28bdcedd763a1e6">LWIP_COMPAT_MUTEX</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a7bada49634cd3b28b28bdcedd763a1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84e7e4bc00255aee84e6e7289a985703" id="r_a84e7e4bc00255aee84e6e7289a985703"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a84e7e4bc00255aee84e6e7289a985703">sys_sem_wait</a>(sem)</td></tr>
<tr class="separator:a84e7e4bc00255aee84e6e7289a985703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e8ad541356786936f23ab83b8f550cc" id="r_a9e8ad541356786936f23ab83b8f550cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e8ad541356786936f23ab83b8f550cc">sys_sem_valid_val</a>(sem)</td></tr>
<tr class="separator:a9e8ad541356786936f23ab83b8f550cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2556e570f6973a6f4d57d0e76ef190d8" id="r_a2556e570f6973a6f4d57d0e76ef190d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2556e570f6973a6f4d57d0e76ef190d8">sys_sem_set_invalid_val</a>(sem)</td></tr>
<tr class="separator:a2556e570f6973a6f4d57d0e76ef190d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7841780b31ba9c0a39a440aad1fca13" id="r_ab7841780b31ba9c0a39a440aad1fca13"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab7841780b31ba9c0a39a440aad1fca13">sys_mbox_tryfetch</a>(mbox, msg)</td></tr>
<tr class="separator:ab7841780b31ba9c0a39a440aad1fca13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae82640d0bdbeec7b9b6511b3f8d99cb" id="r_aae82640d0bdbeec7b9b6511b3f8d99cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aae82640d0bdbeec7b9b6511b3f8d99cb">sys_mbox_valid_val</a>(mbox)</td></tr>
<tr class="separator:aae82640d0bdbeec7b9b6511b3f8d99cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae293feebb61d36f2db99be53702b8203" id="r_ae293feebb61d36f2db99be53702b8203"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae293feebb61d36f2db99be53702b8203">sys_mbox_set_invalid_val</a>(mbox)</td></tr>
<tr class="separator:ae293feebb61d36f2db99be53702b8203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga945395fa326214fc9736487242710a90" id="r_ga945395fa326214fc9736487242710a90"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__prot.html#ga945395fa326214fc9736487242710a90">SYS_ARCH_DECL_PROTECT</a>(lev)</td></tr>
<tr class="separator:ga945395fa326214fc9736487242710a90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d0e48feafd378e9c26c64567ecd8bab" id="r_ga3d0e48feafd378e9c26c64567ecd8bab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__prot.html#ga3d0e48feafd378e9c26c64567ecd8bab">SYS_ARCH_PROTECT</a>(lev)</td></tr>
<tr class="separator:ga3d0e48feafd378e9c26c64567ecd8bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f48e97047945642ddeb27e65bf4ffe2" id="r_ga2f48e97047945642ddeb27e65bf4ffe2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__prot.html#ga2f48e97047945642ddeb27e65bf4ffe2">SYS_ARCH_UNPROTECT</a>(lev)</td></tr>
<tr class="separator:ga2f48e97047945642ddeb27e65bf4ffe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ae30a77bf6bd69bfcc5f235eaad54f2b9" id="r_ae30a77bf6bd69bfcc5f235eaad54f2b9"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae30a77bf6bd69bfcc5f235eaad54f2b9">lwip_thread_fn</a>) (void *arg)</td></tr>
<tr class="separator:ae30a77bf6bd69bfcc5f235eaad54f2b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga38e7dae1fd88b338eb1cd97f110f3897" id="r_ga38e7dae1fd88b338eb1cd97f110f3897"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mutex.html#ga38e7dae1fd88b338eb1cd97f110f3897">sys_mutex_new</a> (sys_mutex_t *mutex)</td></tr>
<tr class="separator:ga38e7dae1fd88b338eb1cd97f110f3897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d4eb9afe5965fa2661dd54ff55d616a" id="r_ga4d4eb9afe5965fa2661dd54ff55d616a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mutex.html#ga4d4eb9afe5965fa2661dd54ff55d616a">sys_mutex_lock</a> (sys_mutex_t *mutex)</td></tr>
<tr class="separator:ga4d4eb9afe5965fa2661dd54ff55d616a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5568f68898fe9d5735f9ce2f665624fb" id="r_ga5568f68898fe9d5735f9ce2f665624fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mutex.html#ga5568f68898fe9d5735f9ce2f665624fb">sys_mutex_unlock</a> (sys_mutex_t *mutex)</td></tr>
<tr class="separator:ga5568f68898fe9d5735f9ce2f665624fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16336ce68b741e98204102ca4bc84dd9" id="r_ga16336ce68b741e98204102ca4bc84dd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mutex.html#ga16336ce68b741e98204102ca4bc84dd9">sys_mutex_free</a> (sys_mutex_t *mutex)</td></tr>
<tr class="separator:ga16336ce68b741e98204102ca4bc84dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebe83ba90a6d9c23cdb3eb5d49562c4a" id="r_gaebe83ba90a6d9c23cdb3eb5d49562c4a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mutex.html#gaebe83ba90a6d9c23cdb3eb5d49562c4a">sys_mutex_valid</a> (sys_mutex_t *mutex)</td></tr>
<tr class="separator:gaebe83ba90a6d9c23cdb3eb5d49562c4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f392725971dc837aa56dd7e45fa7ca8" id="r_ga3f392725971dc837aa56dd7e45fa7ca8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mutex.html#ga3f392725971dc837aa56dd7e45fa7ca8">sys_mutex_set_invalid</a> (sys_mutex_t *mutex)</td></tr>
<tr class="separator:ga3f392725971dc837aa56dd7e45fa7ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf99da9e34a71855285c535183133dfde" id="r_gaf99da9e34a71855285c535183133dfde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__sem.html#gaf99da9e34a71855285c535183133dfde">sys_sem_new</a> (sys_sem_t *sem, u8_t count)</td></tr>
<tr class="separator:gaf99da9e34a71855285c535183133dfde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf800273061fcc3f8200fd4e1b9ca875" id="r_gaaf800273061fcc3f8200fd4e1b9ca875"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__sem.html#gaaf800273061fcc3f8200fd4e1b9ca875">sys_sem_signal</a> (sys_sem_t *sem)</td></tr>
<tr class="separator:gaaf800273061fcc3f8200fd4e1b9ca875"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d364c5037778acb21c3df675db81b4f" id="r_ga8d364c5037778acb21c3df675db81b4f"><td class="memItemLeft" align="right" valign="top">u32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__sem.html#ga8d364c5037778acb21c3df675db81b4f">sys_arch_sem_wait</a> (sys_sem_t *sem, u32_t timeout)</td></tr>
<tr class="separator:ga8d364c5037778acb21c3df675db81b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83b781f96c30e915c752065a757da283" id="r_ga83b781f96c30e915c752065a757da283"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__sem.html#ga83b781f96c30e915c752065a757da283">sys_sem_free</a> (sys_sem_t *sem)</td></tr>
<tr class="separator:ga83b781f96c30e915c752065a757da283"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09a6c052ddaf799139efc56adfa087e4" id="r_ga09a6c052ddaf799139efc56adfa087e4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__sem.html#ga09a6c052ddaf799139efc56adfa087e4">sys_sem_valid</a> (sys_sem_t *sem)</td></tr>
<tr class="separator:ga09a6c052ddaf799139efc56adfa087e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42a2ab32afbf41a4146a9d135224ef33" id="r_ga42a2ab32afbf41a4146a9d135224ef33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__sem.html#ga42a2ab32afbf41a4146a9d135224ef33">sys_sem_set_invalid</a> (sys_sem_t *sem)</td></tr>
<tr class="separator:ga42a2ab32afbf41a4146a9d135224ef33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b8786f43e779953e8b74e983c88682e" id="r_ga6b8786f43e779953e8b74e983c88682e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__misc.html#ga6b8786f43e779953e8b74e983c88682e">sys_msleep</a> (u32_t ms)</td></tr>
<tr class="separator:ga6b8786f43e779953e8b74e983c88682e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9793f30642de06ce87827e9adbe30cc" id="r_gab9793f30642de06ce87827e9adbe30cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#gab9793f30642de06ce87827e9adbe30cc">sys_mbox_new</a> (sys_mbox_t *mbox, int size)</td></tr>
<tr class="separator:gab9793f30642de06ce87827e9adbe30cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d068386a3c53dd01b8af99c3ef77555" id="r_ga9d068386a3c53dd01b8af99c3ef77555"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#ga9d068386a3c53dd01b8af99c3ef77555">sys_mbox_post</a> (sys_mbox_t *mbox, void *msg)</td></tr>
<tr class="separator:ga9d068386a3c53dd01b8af99c3ef77555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa36345e48a49d67cbb0878cd4cbd2195" id="r_gaa36345e48a49d67cbb0878cd4cbd2195"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#gaa36345e48a49d67cbb0878cd4cbd2195">sys_mbox_trypost</a> (sys_mbox_t *mbox, void *msg)</td></tr>
<tr class="separator:gaa36345e48a49d67cbb0878cd4cbd2195"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf677a6e76adb7650a3020fdb3cb8429a" id="r_gaf677a6e76adb7650a3020fdb3cb8429a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#gaf677a6e76adb7650a3020fdb3cb8429a">sys_mbox_trypost_fromisr</a> (sys_mbox_t *mbox, void *msg)</td></tr>
<tr class="separator:gaf677a6e76adb7650a3020fdb3cb8429a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6464cd77cf6799bd8b3d6c840166a2e8" id="r_ga6464cd77cf6799bd8b3d6c840166a2e8"><td class="memItemLeft" align="right" valign="top">u32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#ga6464cd77cf6799bd8b3d6c840166a2e8">sys_arch_mbox_fetch</a> (sys_mbox_t *mbox, void **msg, u32_t timeout)</td></tr>
<tr class="separator:ga6464cd77cf6799bd8b3d6c840166a2e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafab441b130b4ec417012835dbe1e497c" id="r_gafab441b130b4ec417012835dbe1e497c"><td class="memItemLeft" align="right" valign="top">u32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#gafab441b130b4ec417012835dbe1e497c">sys_arch_mbox_tryfetch</a> (sys_mbox_t *mbox, void **msg)</td></tr>
<tr class="separator:gafab441b130b4ec417012835dbe1e497c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac641a45812155d2234ef80dd6412882f" id="r_gac641a45812155d2234ef80dd6412882f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#gac641a45812155d2234ef80dd6412882f">sys_mbox_free</a> (sys_mbox_t *mbox)</td></tr>
<tr class="separator:gac641a45812155d2234ef80dd6412882f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bcfab4bd791dd33f69a778e7585275d" id="r_ga8bcfab4bd791dd33f69a778e7585275d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#ga8bcfab4bd791dd33f69a778e7585275d">sys_mbox_valid</a> (sys_mbox_t *mbox)</td></tr>
<tr class="separator:ga8bcfab4bd791dd33f69a778e7585275d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53ddec9d7f5500c5b1d982cd17493172" id="r_ga53ddec9d7f5500c5b1d982cd17493172"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__mbox.html#ga53ddec9d7f5500c5b1d982cd17493172">sys_mbox_set_invalid</a> (sys_mbox_t *mbox)</td></tr>
<tr class="separator:ga53ddec9d7f5500c5b1d982cd17493172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d596afdd8dbcfad320172d39b0f607a" id="r_ga0d596afdd8dbcfad320172d39b0f607a"><td class="memItemLeft" align="right" valign="top">sys_thread_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__misc.html#ga0d596afdd8dbcfad320172d39b0f607a">sys_thread_new</a> (const char *name, <a class="el" href="#ae30a77bf6bd69bfcc5f235eaad54f2b9">lwip_thread_fn</a> thread, void *arg, int stacksize, int prio)</td></tr>
<tr class="separator:ga0d596afdd8dbcfad320172d39b0f607a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf411a8bc6b7ed4b0af9114e10c959448" id="r_gaf411a8bc6b7ed4b0af9114e10c959448"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__misc.html#gaf411a8bc6b7ed4b0af9114e10c959448">sys_init</a> (void)</td></tr>
<tr class="separator:gaf411a8bc6b7ed4b0af9114e10c959448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac89f307e8b360eaf821b461a4f26753a" id="r_ac89f307e8b360eaf821b461a4f26753a"><td class="memItemLeft" align="right" valign="top">u32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac89f307e8b360eaf821b461a4f26753a">sys_jiffies</a> (void)</td></tr>
<tr class="separator:ac89f307e8b360eaf821b461a4f26753a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11316ac1e77418c6fa4ab8869e3fa199" id="r_ga11316ac1e77418c6fa4ab8869e3fa199"><td class="memItemLeft" align="right" valign="top">u32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__time.html#ga11316ac1e77418c6fa4ab8869e3fa199">sys_now</a> (void)</td></tr>
<tr class="separator:ga11316ac1e77418c6fa4ab8869e3fa199"><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>OS abstraction layer </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a7bada49634cd3b28b28bdcedd763a1e6" name="a7bada49634cd3b28b28bdcedd763a1e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bada49634cd3b28b28bdcedd763a1e6">&#9670;&#160;</a></span>LWIP_COMPAT_MUTEX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_COMPAT_MUTEX&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Define LWIP_COMPAT_MUTEX if the port has no mutexes and binary semaphores should be used instead </p>
</div>
</div>
<a id="ac1495030a8ab5e1f3c89e42ced527c5b" name="ac1495030a8ab5e1f3c89e42ced527c5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1495030a8ab5e1f3c89e42ced527c5b">&#9670;&#160;</a></span>SYS_ARCH_TIMEOUT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SYS_ARCH_TIMEOUT&#160;&#160;&#160;0xffffffffUL</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return code for timeouts from sys_arch_mbox_fetch and sys_arch_sem_wait </p>
</div>
</div>
<a id="ab0571e67edca0132b144106e9b319ef9" name="ab0571e67edca0132b144106e9b319ef9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0571e67edca0132b144106e9b319ef9">&#9670;&#160;</a></span>SYS_MBOX_EMPTY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SYS_MBOX_EMPTY&#160;&#160;&#160;<a class="el" href="#ac1495030a8ab5e1f3c89e42ced527c5b">SYS_ARCH_TIMEOUT</a></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="#ab7841780b31ba9c0a39a440aad1fca13">sys_mbox_tryfetch()</a> returns SYS_MBOX_EMPTY if appropriate. For now we use the same magic value, but we allow this to change in future. </p>
</div>
</div>
<a id="ae293feebb61d36f2db99be53702b8203" name="ae293feebb61d36f2db99be53702b8203"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae293feebb61d36f2db99be53702b8203">&#9670;&#160;</a></span>sys_mbox_set_invalid_val</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sys_mbox_set_invalid_val</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>mbox</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_function" href="group__sys__mbox.html#ga53ddec9d7f5500c5b1d982cd17493172">sys_mbox_set_invalid</a>(&amp;(mbox))</div>
<div class="ttc" id="agroup__sys__mbox_html_ga53ddec9d7f5500c5b1d982cd17493172"><div class="ttname"><a href="group__sys__mbox.html#ga53ddec9d7f5500c5b1d982cd17493172">sys_mbox_set_invalid</a></div><div class="ttdeci">void sys_mbox_set_invalid(sys_mbox_t *mbox)</div></div>
</div><!-- fragment --><p>Same as <a class="el" href="group__sys__mbox.html#ga53ddec9d7f5500c5b1d982cd17493172">sys_mbox_set_invalid()</a> but taking a value, not a pointer </p>
</div>
</div>
<a id="ab7841780b31ba9c0a39a440aad1fca13" name="ab7841780b31ba9c0a39a440aad1fca13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7841780b31ba9c0a39a440aad1fca13">&#9670;&#160;</a></span>sys_mbox_tryfetch</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sys_mbox_tryfetch</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>mbox</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>msg</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_function" href="group__sys__mbox.html#gafab441b130b4ec417012835dbe1e497c">sys_arch_mbox_tryfetch</a>(mbox, msg)</div>
<div class="ttc" id="agroup__sys__mbox_html_gafab441b130b4ec417012835dbe1e497c"><div class="ttname"><a href="group__sys__mbox.html#gafab441b130b4ec417012835dbe1e497c">sys_arch_mbox_tryfetch</a></div><div class="ttdeci">u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg)</div></div>
</div><!-- fragment --><p>For now, we map straight to sys_arch implementation. </p>
</div>
</div>
<a id="aae82640d0bdbeec7b9b6511b3f8d99cb" name="aae82640d0bdbeec7b9b6511b3f8d99cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae82640d0bdbeec7b9b6511b3f8d99cb">&#9670;&#160;</a></span>sys_mbox_valid_val</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sys_mbox_valid_val</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>mbox</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_function" href="group__sys__mbox.html#ga8bcfab4bd791dd33f69a778e7585275d">sys_mbox_valid</a>(&amp;(mbox))</div>
<div class="ttc" id="agroup__sys__mbox_html_ga8bcfab4bd791dd33f69a778e7585275d"><div class="ttname"><a href="group__sys__mbox.html#ga8bcfab4bd791dd33f69a778e7585275d">sys_mbox_valid</a></div><div class="ttdeci">int sys_mbox_valid(sys_mbox_t *mbox)</div></div>
</div><!-- fragment --><p>Same as <a class="el" href="group__sys__mbox.html#ga8bcfab4bd791dd33f69a778e7585275d">sys_mbox_valid()</a> but taking a value, not a pointer </p>
</div>
</div>
<a id="a2556e570f6973a6f4d57d0e76ef190d8" name="a2556e570f6973a6f4d57d0e76ef190d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2556e570f6973a6f4d57d0e76ef190d8">&#9670;&#160;</a></span>sys_sem_set_invalid_val</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sys_sem_set_invalid_val</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>sem</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_function" href="group__sys__sem.html#ga42a2ab32afbf41a4146a9d135224ef33">sys_sem_set_invalid</a>(&amp;(sem))</div>
<div class="ttc" id="agroup__sys__sem_html_ga42a2ab32afbf41a4146a9d135224ef33"><div class="ttname"><a href="group__sys__sem.html#ga42a2ab32afbf41a4146a9d135224ef33">sys_sem_set_invalid</a></div><div class="ttdeci">void sys_sem_set_invalid(sys_sem_t *sem)</div></div>
</div><!-- fragment --><p>Same as <a class="el" href="group__sys__sem.html#ga42a2ab32afbf41a4146a9d135224ef33">sys_sem_set_invalid()</a> but taking a value, not a pointer </p>
</div>
</div>
<a id="a9e8ad541356786936f23ab83b8f550cc" name="a9e8ad541356786936f23ab83b8f550cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e8ad541356786936f23ab83b8f550cc">&#9670;&#160;</a></span>sys_sem_valid_val</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sys_sem_valid_val</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>sem</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_function" href="group__sys__sem.html#ga09a6c052ddaf799139efc56adfa087e4">sys_sem_valid</a>(&amp;(sem))</div>
<div class="ttc" id="agroup__sys__sem_html_ga09a6c052ddaf799139efc56adfa087e4"><div class="ttname"><a href="group__sys__sem.html#ga09a6c052ddaf799139efc56adfa087e4">sys_sem_valid</a></div><div class="ttdeci">int sys_sem_valid(sys_sem_t *sem)</div></div>
</div><!-- fragment --><p>Same as <a class="el" href="group__sys__sem.html#ga09a6c052ddaf799139efc56adfa087e4">sys_sem_valid()</a> but taking a value, not a pointer </p>
</div>
</div>
<a id="a84e7e4bc00255aee84e6e7289a985703" name="a84e7e4bc00255aee84e6e7289a985703"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84e7e4bc00255aee84e6e7289a985703">&#9670;&#160;</a></span>sys_sem_wait</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sys_sem_wait</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>sem</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_function" href="group__sys__sem.html#ga8d364c5037778acb21c3df675db81b4f">sys_arch_sem_wait</a>(sem, 0)</div>
<div class="ttc" id="agroup__sys__sem_html_ga8d364c5037778acb21c3df675db81b4f"><div class="ttname"><a href="group__sys__sem.html#ga8d364c5037778acb21c3df675db81b4f">sys_arch_sem_wait</a></div><div class="ttdeci">u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)</div></div>
</div><!-- fragment --><p>Wait for a semaphore - forever/no timeout </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ae30a77bf6bd69bfcc5f235eaad54f2b9" name="ae30a77bf6bd69bfcc5f235eaad54f2b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae30a77bf6bd69bfcc5f235eaad54f2b9">&#9670;&#160;</a></span>lwip_thread_fn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* lwip_thread_fn) (void *arg)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Function prototype for thread functions </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ac89f307e8b360eaf821b461a4f26753a" name="ac89f307e8b360eaf821b461a4f26753a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac89f307e8b360eaf821b461a4f26753a">&#9670;&#160;</a></span>sys_jiffies()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32_t sys_jiffies </td>
<td>(</td>
<td class="paramtype">void</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ticks/jiffies since power up. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b0856f6b0d80ccb263b2f415c91f9e17.html">include</a></li><li class="navelem"><a class="el" href="dir_4e6b3cf33a61b6caac9c8ac30c866f37.html">lwip</a></li><li class="navelem"><a class="el" href="sys_8h.html">sys.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
</ul>
</div>
</body>
</html>