sdk-ameba-v4.0b_without_nda.../doc/api_doc/osdep__service_8h.html

593 lines
90 KiB
HTML
Raw Normal View History

2017-10-15 06:36:37 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>SDK4.0: osdep_service.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">SDK4.0
</div>
<div id="projectbrief">This document shows Ameba SDK 4.0 APIs</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</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_59865070466a2d887ccae359ce349522.html">sdk-ameba</a></li><li class="navelem"><a class="el" href="dir_da6bad2e2c5a50fa6b6edae596f8e89f.html">component</a></li><li class="navelem"><a class="el" href="dir_06ad8601b5326a8d3233cc0ad1522a15.html">os</a></li><li class="navelem"><a class="el" href="dir_03b44ecc3243a9168fb6ce38cb4fc543.html">os_dep</a></li><li class="navelem"><a class="el" href="dir_dd6f08a356f2893d3414e1efee6ac036.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<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">osdep_service.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This file provides the OS dependent API.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &quot;platform_autoconf.h&quot;</code><br />
</div><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="structtimer__list.html">timer_list</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtask__struct.html">task_struct</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrtw__worker__thread__t.html">rtw_worker_thread_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrtw__event__message__t.html">rtw_event_message_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structworker__timer__entry.html">worker_timer_entry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structosdep__service__ops.html">osdep_service_ops</a></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="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gae7aa4ab80e47562096de5dea9018fe9e"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CONFIG_LITTLE_ENDIAN</b></td></tr>
<tr class="separator:gae7aa4ab80e47562096de5dea9018fe9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72a2977ac786e669d9a4d999b432fffe"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CONFIG_PLATFORM_AMEBA_X</b></td></tr>
<tr class="separator:ga72a2977ac786e669d9a4d999b432fffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97a3b761cdfc15bca396375e5407d295"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CONFIG_USE_TCM_HEAP</b>&#160;&#160;&#160;1 /* USE TCM HEAP */</td></tr>
<tr class="separator:ga97a3b761cdfc15bca396375e5407d295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga810ba498cf3df3dfbaef5736b7d9e4c4"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>USE_MUTEX_FOR_SPINLOCK</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga810ba498cf3df3dfbaef5736b7d9e4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5999cfc9deca4934f3bf08480c9a63a8"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CONFIG_MEM_MONITOR</b>&#160;&#160;&#160;MEM_MONITOR_SIMPLE</td></tr>
<tr class="separator:ga5999cfc9deca4934f3bf08480c9a63a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d53df5793f88905078a606d6f29bdef"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_MAX_DELAY</b>&#160;&#160;&#160;0xFFFFFFFF</td></tr>
<tr class="separator:ga3d53df5793f88905078a606d6f29bdef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59e46be4e0aa9881c0e90ce749fc209f"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_WAIT_FOREVER</b>&#160;&#160;&#160;0xFFFFFFFF</td></tr>
<tr class="separator:ga59e46be4e0aa9881c0e90ce749fc209f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f249d12436c36922610f0bca03dea8c"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga6f249d12436c36922610f0bca03dea8c">OS_SCHEDULER_NOT_STARTED</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga6f249d12436c36922610f0bca03dea8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Definitions returned by xTaskGetSchedulerState(). <br /></td></tr>
<tr class="separator:ga6f249d12436c36922610f0bca03dea8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a2e309070a1c96533effaabe7ff92cf"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OS_SCHEDULER_RUNNING</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga0a2e309070a1c96533effaabe7ff92cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf71237da99a9abda665afd3ad6642d4b"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>OS_SCHEDULER_SUSPENDED</b>&#160;&#160;&#160;2</td></tr>
<tr class="separator:gaf71237da99a9abda665afd3ad6642d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac46ac9ff39be1d9d0c6029d8b2182e3"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CONFIG_THREAD_COMM_SEMA</b></td></tr>
<tr class="separator:gaac46ac9ff39be1d9d0c6029d8b2182e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga922dcfb6780fbc756eb18fc312d5998d"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MEM_MONITOR_SIMPLE</b>&#160;&#160;&#160;0x1</td></tr>
<tr class="separator:ga922dcfb6780fbc756eb18fc312d5998d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdb4c589a8445076b669c5da26830863"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MEM_MONITOR_LEAK</b>&#160;&#160;&#160;0x2</td></tr>
<tr class="separator:gacdb4c589a8445076b669c5da26830863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac55c180e8f652082490b3d68543a178d"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MEM_MONITOR_FLAG_WIFI_DRV</b>&#160;&#160;&#160;0x1</td></tr>
<tr class="separator:gac55c180e8f652082490b3d68543a178d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23b8991b7fcce1ba4c7abe1897c52226"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>MEM_MONITOR_FLAG_WPAS</b>&#160;&#160;&#160;0x2</td></tr>
<tr class="separator:ga23b8991b7fcce1ba4c7abe1897c52226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga43250be7a398a32f22c8feec261b7469"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_free</b>(buf)&#160;&#160;&#160;<a class="el" href="group___r_t_o_s.html#ga210903829e249ee36ebbae895fdfeb68">rtw_mfree</a>((u8 *)buf, 0)</td></tr>
<tr class="separator:ga43250be7a398a32f22c8feec261b7469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae150446a018bdcb59572b60083b1c249"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_warn_on</b>(condition)&#160;&#160;&#160;do {} while (0)</td></tr>
<tr class="separator:gae150446a018bdcb59572b60083b1c249"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bfda6cec3a25c381bc9d963027dc6fd"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LIST_CONTAINOR</b>(ptr, type, member)&#160;&#160;&#160;((type *)((char *)(ptr)-(SIZE_T)((char *)&amp;((type *)ptr)-&gt;member - (char *)ptr)))</td></tr>
<tr class="separator:ga9bfda6cec3a25c381bc9d963027dc6fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bd5db6be926c295db072f48fa3d02f9"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>time_after</b>(a, b)&#160;&#160;&#160;((long)(b) - (long)(a) &lt; 0)</td></tr>
<tr class="separator:ga8bd5db6be926c295db072f48fa3d02f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16870f08add529f9c5af2645a5487916"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>time_before</b>(a, b)&#160;&#160;&#160;time_after(b,a)</td></tr>
<tr class="separator:ga16870f08add529f9c5af2645a5487916"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64995b9410ad33a2cb3882358ebf41a6"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>time_after_eq</b>(a, b)&#160;&#160;&#160;((long)(a) - (long)(b) &gt;= 0)</td></tr>
<tr class="separator:ga64995b9410ad33a2cb3882358ebf41a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabadb6c4d407d73782c92b127582862a7"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>time_before_eq</b>(a, b)&#160;&#160;&#160;time_after_eq(b,a)</td></tr>
<tr class="separator:gabadb6c4d407d73782c92b127582862a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ec6216a91b8dc36cb51c32d7a1dc15e"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>_RND</b>(sz, r)&#160;&#160;&#160;((((sz)+((r)-1))/(r))*(r))</td></tr>
<tr class="separator:ga5ec6216a91b8dc36cb51c32d7a1dc15e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e62516fc329adf48668d29d543a373c"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RND4</b>(x)&#160;&#160;&#160;(((x &gt;&gt; 2) + (((x &amp; 3) == 0) ? 0: 1)) &lt;&lt; 2)</td></tr>
<tr class="separator:ga1e62516fc329adf48668d29d543a373c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd44c52adac2e9e5923a4bdf479ea317"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_GET_BE16</b>(a)&#160;&#160;&#160;((u16) (((a)[0] &lt;&lt; 8) | (a)[1]))</td></tr>
<tr class="separator:gadd44c52adac2e9e5923a4bdf479ea317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8a5cd0c239b58d737934b1dbefaeef2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_PUT_BE16</b>(a, val)</td></tr>
<tr class="separator:gaf8a5cd0c239b58d737934b1dbefaeef2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb71550f4c87ec21e8b95aa49048685f"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_GET_LE16</b>(a)&#160;&#160;&#160;((u16) (((a)[1] &lt;&lt; 8) | (a)[0]))</td></tr>
<tr class="separator:gafb71550f4c87ec21e8b95aa49048685f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46da4bb0f1e8e6a0ea2edf215982ad74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_PUT_LE16</b>(a, val)</td></tr>
<tr class="separator:ga46da4bb0f1e8e6a0ea2edf215982ad74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga592123cf56c9aeabafcc783601a36452"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_GET_BE24</b>(a)</td></tr>
<tr class="separator:ga592123cf56c9aeabafcc783601a36452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b02f1c8b1df8fdda4526b155a2e9091"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_PUT_BE24</b>(a, val)</td></tr>
<tr class="separator:ga5b02f1c8b1df8fdda4526b155a2e9091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c38b624f39f243da2643fc04b358bba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_GET_BE32</b>(a)</td></tr>
<tr class="separator:ga2c38b624f39f243da2643fc04b358bba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac951831f0fd8455570ec653c182d8a79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_PUT_BE32</b>(a, val)</td></tr>
<tr class="separator:gac951831f0fd8455570ec653c182d8a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ad23c2122b4bb62cc3f5649e5478fef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_GET_LE32</b>(a)</td></tr>
<tr class="separator:ga6ad23c2122b4bb62cc3f5649e5478fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2eb6b7068ce6758250c1a80a37935606"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_PUT_LE32</b>(a, val)</td></tr>
<tr class="separator:ga2eb6b7068ce6758250c1a80a37935606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf7c7c44ee1223e2505f7aa98d4e0c31"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_GET_BE64</b>(a)</td></tr>
<tr class="separator:gabf7c7c44ee1223e2505f7aa98d4e0c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac848d5110bc47b050c0058bd4a77c105"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_PUT_BE64</b>(a, val)</td></tr>
<tr class="separator:gac848d5110bc47b050c0058bd4a77c105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga740cf4e0432dc89071e939f5f643a89a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>RTW_GET_LE64</b>(a)</td></tr>
<tr class="separator:ga740cf4e0432dc89071e939f5f643a89a"><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:ga117baf4440fdac93925d863f0f1839b2"><td class="memItemLeft" align="right" valign="top">
typedef thread_return(*&#160;</td><td class="memItemRight" valign="bottom"><b>thread_func_t</b>) (thread_context context)</td></tr>
<tr class="separator:ga117baf4440fdac93925d863f0f1839b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18f10d211eed8a651c0cc76f218364ed"><td class="memItemLeft" align="right" valign="top">
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>TIMER_FUN</b>) (void *context)</td></tr>
<tr class="separator:ga18f10d211eed8a651c0cc76f218364ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae83a3878243b5da85a8463b9d675e1c6"><td class="memItemLeft" align="right" valign="top">
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><b>event_handler_t</b>) (char *buf, int buf_len, int flags, void *user_data)</td></tr>
<tr class="separator:gae83a3878243b5da85a8463b9d675e1c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9f8235595e6f9b556f30025bcc149f21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga9f8235595e6f9b556f30025bcc149f21">init_mem_monitor</a> (_list *pmem_table, int *used_num)</td></tr>
<tr class="memdesc:ga9f8235595e6f9b556f30025bcc149f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes a memory table. <a href="group___r_t_o_s.html#ga9f8235595e6f9b556f30025bcc149f21">More...</a><br /></td></tr>
<tr class="separator:ga9f8235595e6f9b556f30025bcc149f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37363e084632199f1870b3105a7dc454"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga37363e084632199f1870b3105a7dc454">deinit_mem_monitor</a> (_list *pmem_table, int *used_num)</td></tr>
<tr class="memdesc:ga37363e084632199f1870b3105a7dc454"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deinitializes a memory table. <a href="group___r_t_o_s.html#ga37363e084632199f1870b3105a7dc454">More...</a><br /></td></tr>
<tr class="separator:ga37363e084632199f1870b3105a7dc454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa8fba4d853a4b5981aaaa0e37cdae7de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaa8fba4d853a4b5981aaaa0e37cdae7de">add_mem_usage</a> (_list *pmem_table, void *ptr, int size, int *used_num, int flag)</td></tr>
<tr class="memdesc:gaa8fba4d853a4b5981aaaa0e37cdae7de"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function alloc mem_entry to the memory table. <a href="group___r_t_o_s.html#gaa8fba4d853a4b5981aaaa0e37cdae7de">More...</a><br /></td></tr>
<tr class="separator:gaa8fba4d853a4b5981aaaa0e37cdae7de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf74d3a405d503e2465988dffa6f1a64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gadf74d3a405d503e2465988dffa6f1a64">del_mem_usage</a> (_list *pmem_table, void *ptr, int *used_num, int flag)</td></tr>
<tr class="memdesc:gadf74d3a405d503e2465988dffa6f1a64"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function frees memory from the memory table. <a href="group___r_t_o_s.html#gadf74d3a405d503e2465988dffa6f1a64">More...</a><br /></td></tr>
<tr class="separator:gadf74d3a405d503e2465988dffa6f1a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa56f111283bb33a374b7d4d0bc1c94c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaa56f111283bb33a374b7d4d0bc1c94c2">get_mem_usage</a> (_list *pmem_table)</td></tr>
<tr class="memdesc:gaa56f111283bb33a374b7d4d0bc1c94c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function get the memory usage of a memory table. <a href="group___r_t_o_s.html#gaa56f111283bb33a374b7d4d0bc1c94c2">More...</a><br /></td></tr>
<tr class="separator:gaa56f111283bb33a374b7d4d0bc1c94c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76cffedcd6c0dfdf619d8f74b0d14fbb"><td class="memItemLeft" align="right" valign="top">
u8 *&#160;</td><td class="memItemRight" valign="bottom"><b>_rtw_vmalloc</b> (u32 sz)</td></tr>
<tr class="separator:ga76cffedcd6c0dfdf619d8f74b0d14fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga318b4a6ed66ac06542d3a35ea27f8aaf"><td class="memItemLeft" align="right" valign="top">
u8 *&#160;</td><td class="memItemRight" valign="bottom"><b>_rtw_zvmalloc</b> (u32 sz)</td></tr>
<tr class="separator:ga318b4a6ed66ac06542d3a35ea27f8aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5b456162805d1bd55db3944a8f83c2e"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>_rtw_vmfree</b> (u8 *pbuf, u32 sz)</td></tr>
<tr class="separator:gaf5b456162805d1bd55db3944a8f83c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee7dfae34a99cc861487bc077ce0c830"><td class="memItemLeft" align="right" valign="top">
u8 *&#160;</td><td class="memItemRight" valign="bottom"><b>_rtw_zmalloc</b> (u32 sz)</td></tr>
<tr class="separator:gaee7dfae34a99cc861487bc077ce0c830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace303c4e7e2412d2da8a06e44e73cfd4"><td class="memItemLeft" align="right" valign="top">
u8 *&#160;</td><td class="memItemRight" valign="bottom"><b>_rtw_malloc</b> (u32 sz)</td></tr>
<tr class="separator:gace303c4e7e2412d2da8a06e44e73cfd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga473ae2d56fd110772c8e2934084bed76"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>_rtw_mfree</b> (u8 *pbuf, u32 sz)</td></tr>
<tr class="separator:ga473ae2d56fd110772c8e2934084bed76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5627853bef70ebbcccb913093b2a3c3"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gae5627853bef70ebbcccb913093b2a3c3">rtw_vmalloc</a> (u32 sz)</td></tr>
<tr class="memdesc:gae5627853bef70ebbcccb913093b2a3c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function allocates the virtually contiguous memory. <a href="group___r_t_o_s.html#gae5627853bef70ebbcccb913093b2a3c3">More...</a><br /></td></tr>
<tr class="separator:gae5627853bef70ebbcccb913093b2a3c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2cd73358028cae5a8c9970bfe41b996"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaa2cd73358028cae5a8c9970bfe41b996">rtw_zvmalloc</a> (u32 sz)</td></tr>
<tr class="memdesc:gaa2cd73358028cae5a8c9970bfe41b996"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function allocates the virtually contiguous memory and the values of the memory are setted to 0. <a href="group___r_t_o_s.html#gaa2cd73358028cae5a8c9970bfe41b996">More...</a><br /></td></tr>
<tr class="separator:gaa2cd73358028cae5a8c9970bfe41b996"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga510c5826df487b958b88a22574cc0e53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga510c5826df487b958b88a22574cc0e53">rtw_vmfree</a> (u8 *pbuf, u32 sz)</td></tr>
<tr class="memdesc:ga510c5826df487b958b88a22574cc0e53"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function frees the virtually contiguous memory. <a href="group___r_t_o_s.html#ga510c5826df487b958b88a22574cc0e53">More...</a><br /></td></tr>
<tr class="separator:ga510c5826df487b958b88a22574cc0e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40bfe4cd4df674a0b6c8ada337314885"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga40bfe4cd4df674a0b6c8ada337314885">rtw_zmalloc</a> (u32 sz)</td></tr>
<tr class="memdesc:ga40bfe4cd4df674a0b6c8ada337314885"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function allocates the memory and the values of the memory are setted to 0. <a href="group___r_t_o_s.html#ga40bfe4cd4df674a0b6c8ada337314885">More...</a><br /></td></tr>
<tr class="separator:ga40bfe4cd4df674a0b6c8ada337314885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac38480df2657a06473435aebecf3f0f0"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gac38480df2657a06473435aebecf3f0f0">rtw_malloc</a> (u32 sz)</td></tr>
<tr class="memdesc:gac38480df2657a06473435aebecf3f0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function allocates the memory. <a href="group___r_t_o_s.html#gac38480df2657a06473435aebecf3f0f0">More...</a><br /></td></tr>
<tr class="separator:gac38480df2657a06473435aebecf3f0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga210903829e249ee36ebbae895fdfeb68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga210903829e249ee36ebbae895fdfeb68">rtw_mfree</a> (u8 *pbuf, u32 sz)</td></tr>
<tr class="memdesc:ga210903829e249ee36ebbae895fdfeb68"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function frees the virtually contiguous memory. <a href="group___r_t_o_s.html#ga210903829e249ee36ebbae895fdfeb68">More...</a><br /></td></tr>
<tr class="separator:ga210903829e249ee36ebbae895fdfeb68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e5cfcf0bfa0cf4d12b3140c927474a9"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga7e5cfcf0bfa0cf4d12b3140c927474a9">rtw_malloc2d</a> (int h, int w, int size)</td></tr>
<tr class="memdesc:ga7e5cfcf0bfa0cf4d12b3140c927474a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function allocates a 2 dimensional array memory. <a href="group___r_t_o_s.html#ga7e5cfcf0bfa0cf4d12b3140c927474a9">More...</a><br /></td></tr>
<tr class="separator:ga7e5cfcf0bfa0cf4d12b3140c927474a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b960a8744e7f4d12336cbcce554f10b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga9b960a8744e7f4d12336cbcce554f10b">rtw_mfree2d</a> (void *pbuf, int h, int w, int size)</td></tr>
<tr class="memdesc:ga9b960a8744e7f4d12336cbcce554f10b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deallocates the block of memory previously allocated to make it available again. <a href="group___r_t_o_s.html#ga9b960a8744e7f4d12336cbcce554f10b">More...</a><br /></td></tr>
<tr class="separator:ga9b960a8744e7f4d12336cbcce554f10b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b31fb541897d351bcf322467e7626ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga8b31fb541897d351bcf322467e7626ed">rtw_memcpy</a> (void *dst, void *src, u32 sz)</td></tr>
<tr class="memdesc:ga8b31fb541897d351bcf322467e7626ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function copies the values of "sz" bytes from the location pointed to by "src" directly to the memory block pointed to by "des". <a href="group___r_t_o_s.html#ga8b31fb541897d351bcf322467e7626ed">More...</a><br /></td></tr>
<tr class="separator:ga8b31fb541897d351bcf322467e7626ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa049f0f8d4f7f3dc1dccaa7cab8b00e2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaa049f0f8d4f7f3dc1dccaa7cab8b00e2">rtw_memcmp</a> (void *dst, void *src, u32 sz)</td></tr>
<tr class="memdesc:gaa049f0f8d4f7f3dc1dccaa7cab8b00e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function compares the first "sz" bytes of the block of memory pointed by "dst" to the first "sz" bytes pointed by "src". <a href="group___r_t_o_s.html#gaa049f0f8d4f7f3dc1dccaa7cab8b00e2">More...</a><br /></td></tr>
<tr class="separator:gaa049f0f8d4f7f3dc1dccaa7cab8b00e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5db16ab98682918647b010a65daf179"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaa5db16ab98682918647b010a65daf179">rtw_memset</a> (void *pbuf, int c, u32 sz)</td></tr>
<tr class="memdesc:gaa5db16ab98682918647b010a65daf179"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the first "sz" bytes of the block of memory pointed by "pbuf" to the specified "c". <a href="group___r_t_o_s.html#gaa5db16ab98682918647b010a65daf179">More...</a><br /></td></tr>
<tr class="separator:gaa5db16ab98682918647b010a65daf179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e3c7baf89d8fd411e5ed5dc9682c2ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga4e3c7baf89d8fd411e5ed5dc9682c2ba">rtw_init_listhead</a> (_list *list)</td></tr>
<tr class="memdesc:ga4e3c7baf89d8fd411e5ed5dc9682c2ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the head of the list. <a href="group___r_t_o_s.html#ga4e3c7baf89d8fd411e5ed5dc9682c2ba">More...</a><br /></td></tr>
<tr class="separator:ga4e3c7baf89d8fd411e5ed5dc9682c2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfab29b24ba6eac2f7daf8a37946eed0"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gabfab29b24ba6eac2f7daf8a37946eed0">rtw_is_list_empty</a> (_list *phead)</td></tr>
<tr class="memdesc:gabfab29b24ba6eac2f7daf8a37946eed0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function tests whether a list is empty. <a href="group___r_t_o_s.html#gabfab29b24ba6eac2f7daf8a37946eed0">More...</a><br /></td></tr>
<tr class="separator:gabfab29b24ba6eac2f7daf8a37946eed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga804faac1fb48202fb596096d27679fbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga804faac1fb48202fb596096d27679fbd">rtw_list_insert_head</a> (_list *plist, _list *phead)</td></tr>
<tr class="memdesc:ga804faac1fb48202fb596096d27679fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function adds a new entry after "phead" for the list. <a href="group___r_t_o_s.html#ga804faac1fb48202fb596096d27679fbd">More...</a><br /></td></tr>
<tr class="separator:ga804faac1fb48202fb596096d27679fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f342e747430bbf855b1b0f845bf9d87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga5f342e747430bbf855b1b0f845bf9d87">rtw_list_insert_tail</a> (_list *plist, _list *phead)</td></tr>
<tr class="memdesc:ga5f342e747430bbf855b1b0f845bf9d87"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function adds a new entry before "phead" for the list. <a href="group___r_t_o_s.html#ga5f342e747430bbf855b1b0f845bf9d87">More...</a><br /></td></tr>
<tr class="separator:ga5f342e747430bbf855b1b0f845bf9d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2f1bf966f380681638ec580b709ee77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad2f1bf966f380681638ec580b709ee77">rtw_list_delete</a> (_list *plist)</td></tr>
<tr class="memdesc:gad2f1bf966f380681638ec580b709ee77"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deletes entry from list and reinitialize it. <a href="group___r_t_o_s.html#gad2f1bf966f380681638ec580b709ee77">More...</a><br /></td></tr>
<tr class="separator:gad2f1bf966f380681638ec580b709ee77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga672f0efc2e47205a5379fe474e7a176b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga672f0efc2e47205a5379fe474e7a176b">rtw_init_sema</a> (_sema *sema, int init_val)</td></tr>
<tr class="memdesc:ga672f0efc2e47205a5379fe474e7a176b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the unnamed semaphore referred to by "sema" to the value "init_val". <a href="group___r_t_o_s.html#ga672f0efc2e47205a5379fe474e7a176b">More...</a><br /></td></tr>
<tr class="separator:ga672f0efc2e47205a5379fe474e7a176b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae38a2d622f9867e03a61245badd4a481"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gae38a2d622f9867e03a61245badd4a481">rtw_free_sema</a> (_sema *sema)</td></tr>
<tr class="memdesc:gae38a2d622f9867e03a61245badd4a481"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deletes the semaphore. <a href="group___r_t_o_s.html#gae38a2d622f9867e03a61245badd4a481">More...</a><br /></td></tr>
<tr class="separator:gae38a2d622f9867e03a61245badd4a481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96ec8c04aa355f3b8f793ab2bd203708"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga96ec8c04aa355f3b8f793ab2bd203708">rtw_up_sema</a> (_sema *sema)</td></tr>
<tr class="memdesc:ga96ec8c04aa355f3b8f793ab2bd203708"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases the semaphore. This macro must not be used from an ISR. <a href="group___r_t_o_s.html#ga96ec8c04aa355f3b8f793ab2bd203708">More...</a><br /></td></tr>
<tr class="separator:ga96ec8c04aa355f3b8f793ab2bd203708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d38da5c99a8b7a89e101aee8ffd69b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga6d38da5c99a8b7a89e101aee8ffd69b9">rtw_up_sema_from_isr</a> (_sema *sema)</td></tr>
<tr class="memdesc:ga6d38da5c99a8b7a89e101aee8ffd69b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases the semaphore. This macro can be used from an ISR. <a href="group___r_t_o_s.html#ga6d38da5c99a8b7a89e101aee8ffd69b9">More...</a><br /></td></tr>
<tr class="separator:ga6d38da5c99a8b7a89e101aee8ffd69b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8866f237041311efe4a0096a901c82c6"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga8866f237041311efe4a0096a901c82c6">rtw_down_sema</a> (_sema *sema)</td></tr>
<tr class="memdesc:ga8866f237041311efe4a0096a901c82c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function acquires the semaphore. If no more tasks are allowed to acquire the semaphore, calling this function will put the task to sleep until the semaphore is up. <a href="group___r_t_o_s.html#ga8866f237041311efe4a0096a901c82c6">More...</a><br /></td></tr>
<tr class="separator:ga8866f237041311efe4a0096a901c82c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef950465b7b07566a08e6ae45803de5d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaef950465b7b07566a08e6ae45803de5d">rtw_down_timeout_sema</a> (_sema *sema, u32 timeout)</td></tr>
<tr class="memdesc:gaef950465b7b07566a08e6ae45803de5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function acquires the semaphore. If no more tasks are allowed to acquire the semaphore, calling this function will put the task to sleep until the semaphore is up. <a href="group___r_t_o_s.html#gaef950465b7b07566a08e6ae45803de5d">More...</a><br /></td></tr>
<tr class="separator:gaef950465b7b07566a08e6ae45803de5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46eb1c50c29acf8e4052707ab51e768c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga46eb1c50c29acf8e4052707ab51e768c">rtw_mutex_init</a> (_mutex *pmutex)</td></tr>
<tr class="memdesc:ga46eb1c50c29acf8e4052707ab51e768c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function implements a mutex semaphore by using the existing queue mechanism. <a href="group___r_t_o_s.html#ga46eb1c50c29acf8e4052707ab51e768c">More...</a><br /></td></tr>
<tr class="separator:ga46eb1c50c29acf8e4052707ab51e768c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a2f29a11830cdc9030a91f6ed49f74a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga0a2f29a11830cdc9030a91f6ed49f74a">rtw_mutex_free</a> (_mutex *pmutex)</td></tr>
<tr class="memdesc:ga0a2f29a11830cdc9030a91f6ed49f74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deletes the mutex semaphore. <a href="group___r_t_o_s.html#ga0a2f29a11830cdc9030a91f6ed49f74a">More...</a><br /></td></tr>
<tr class="separator:ga0a2f29a11830cdc9030a91f6ed49f74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61df40838863df72ef65ad766aee3fa4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga61df40838863df72ef65ad766aee3fa4">rtw_mutex_put</a> (_mutex *pmutex)</td></tr>
<tr class="memdesc:ga61df40838863df72ef65ad766aee3fa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases a mutex semaphore. <a href="group___r_t_o_s.html#ga61df40838863df72ef65ad766aee3fa4">More...</a><br /></td></tr>
<tr class="separator:ga61df40838863df72ef65ad766aee3fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62acfe38de294d000720de79d20ea3e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga62acfe38de294d000720de79d20ea3e9">rtw_mutex_get</a> (_mutex *pmutex)</td></tr>
<tr class="memdesc:ga62acfe38de294d000720de79d20ea3e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function obtains a mutex semaphore. <a href="group___r_t_o_s.html#ga62acfe38de294d000720de79d20ea3e9">More...</a><br /></td></tr>
<tr class="separator:ga62acfe38de294d000720de79d20ea3e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29651aa1be8c5cfaa8dcbecb5917bb3c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga29651aa1be8c5cfaa8dcbecb5917bb3c">rtw_mutex_get_timeout</a> (_mutex *pmutex, u32 timeout_ms)</td></tr>
<tr class="memdesc:ga29651aa1be8c5cfaa8dcbecb5917bb3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function obtains a mutex semaphore with a timeout setting. <a href="group___r_t_o_s.html#ga29651aa1be8c5cfaa8dcbecb5917bb3c">More...</a><br /></td></tr>
<tr class="separator:ga29651aa1be8c5cfaa8dcbecb5917bb3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25ebf88345d437f95ac6db2534a9f3bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga25ebf88345d437f95ac6db2534a9f3bd">rtw_enter_critical</a> (_lock *plock, _irqL *pirqL)</td></tr>
<tr class="memdesc:ga25ebf88345d437f95ac6db2534a9f3bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function marks the start of a critical code region. Preemptive context switches cannot occur when in a critical region. <a href="group___r_t_o_s.html#ga25ebf88345d437f95ac6db2534a9f3bd">More...</a><br /></td></tr>
<tr class="separator:ga25ebf88345d437f95ac6db2534a9f3bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0a8793d6348a9b8875163fd04961b38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gab0a8793d6348a9b8875163fd04961b38">rtw_exit_critical</a> (_lock *plock, _irqL *pirqL)</td></tr>
<tr class="memdesc:gab0a8793d6348a9b8875163fd04961b38"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function marks end of a critical code region. Preemptive context switches cannot occur when in a critical region. <a href="group___r_t_o_s.html#gab0a8793d6348a9b8875163fd04961b38">More...</a><br /></td></tr>
<tr class="separator:gab0a8793d6348a9b8875163fd04961b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8b05366edfa20347cbd6501b9e77ec9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad8b05366edfa20347cbd6501b9e77ec9">rtw_enter_critical_from_isr</a> (_lock *plock, _irqL *pirqL)</td></tr>
<tr class="memdesc:gad8b05366edfa20347cbd6501b9e77ec9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function marks the start of a critical code region from isr. <a href="group___r_t_o_s.html#gad8b05366edfa20347cbd6501b9e77ec9">More...</a><br /></td></tr>
<tr class="separator:gad8b05366edfa20347cbd6501b9e77ec9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58e735aa05f4c73300225a4b9ccb2bfa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga58e735aa05f4c73300225a4b9ccb2bfa">rtw_exit_critical_from_isr</a> (_lock *plock, _irqL *pirqL)</td></tr>
<tr class="memdesc:ga58e735aa05f4c73300225a4b9ccb2bfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function marks the end of a critical code region from isr. <a href="group___r_t_o_s.html#ga58e735aa05f4c73300225a4b9ccb2bfa">More...</a><br /></td></tr>
<tr class="separator:ga58e735aa05f4c73300225a4b9ccb2bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c65ec3e920cf2096815d65cb73c417c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga3c65ec3e920cf2096815d65cb73c417c">rtw_enter_critical_bh</a> (_lock *plock, _irqL *pirqL)</td></tr>
<tr class="memdesc:ga3c65ec3e920cf2096815d65cb73c417c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function obtains a spin lock semaphore. <a href="group___r_t_o_s.html#ga3c65ec3e920cf2096815d65cb73c417c">More...</a><br /></td></tr>
<tr class="separator:ga3c65ec3e920cf2096815d65cb73c417c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga098121bd2ccffdb029660cab44ebeede"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga098121bd2ccffdb029660cab44ebeede">rtw_exit_critical_bh</a> (_lock *plock, _irqL *pirqL)</td></tr>
<tr class="memdesc:ga098121bd2ccffdb029660cab44ebeede"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases a spin lock semaphore. <a href="group___r_t_o_s.html#ga098121bd2ccffdb029660cab44ebeede">More...</a><br /></td></tr>
<tr class="separator:ga098121bd2ccffdb029660cab44ebeede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24f292f35f2f61373ff4727e42786a0d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga24f292f35f2f61373ff4727e42786a0d">rtw_enter_critical_mutex</a> (_mutex *pmutex, _irqL *pirqL)</td></tr>
<tr class="memdesc:ga24f292f35f2f61373ff4727e42786a0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function obtains a semaphore. <a href="group___r_t_o_s.html#ga24f292f35f2f61373ff4727e42786a0d">More...</a><br /></td></tr>
<tr class="separator:ga24f292f35f2f61373ff4727e42786a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga658ee4891ddc4170afcf48224a6417ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga658ee4891ddc4170afcf48224a6417ee">rtw_exit_critical_mutex</a> (_mutex *pmutex, _irqL *pirqL)</td></tr>
<tr class="memdesc:ga658ee4891ddc4170afcf48224a6417ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases a semaphore. <a href="group___r_t_o_s.html#ga658ee4891ddc4170afcf48224a6417ee">More...</a><br /></td></tr>
<tr class="separator:ga658ee4891ddc4170afcf48224a6417ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37001b820c09b1a19cf192ded723010d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga37001b820c09b1a19cf192ded723010d">rtw_spinlock_init</a> (_lock *plock)</td></tr>
<tr class="memdesc:ga37001b820c09b1a19cf192ded723010d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function implements a spin lock semaphore by using the existing queue mechanism. <a href="group___r_t_o_s.html#ga37001b820c09b1a19cf192ded723010d">More...</a><br /></td></tr>
<tr class="separator:ga37001b820c09b1a19cf192ded723010d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef28ab6984d1cf7146af03b748c84454"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaef28ab6984d1cf7146af03b748c84454">rtw_spinlock_free</a> (_lock *plock)</td></tr>
<tr class="memdesc:gaef28ab6984d1cf7146af03b748c84454"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deletes the spin lock semaphore. <a href="group___r_t_o_s.html#gaef28ab6984d1cf7146af03b748c84454">More...</a><br /></td></tr>
<tr class="separator:gaef28ab6984d1cf7146af03b748c84454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4f01ed4e9126a09d40b702fe3d4525c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad4f01ed4e9126a09d40b702fe3d4525c">rtw_spin_lock</a> (_lock *plock)</td></tr>
<tr class="memdesc:gad4f01ed4e9126a09d40b702fe3d4525c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function obtains a spin lock semaphore. <a href="group___r_t_o_s.html#gad4f01ed4e9126a09d40b702fe3d4525c">More...</a><br /></td></tr>
<tr class="separator:gad4f01ed4e9126a09d40b702fe3d4525c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7267f308d095c538c0d897eaf63035e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad7267f308d095c538c0d897eaf63035e">rtw_spin_unlock</a> (_lock *plock)</td></tr>
<tr class="memdesc:gad7267f308d095c538c0d897eaf63035e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases a spin lock semaphore. <a href="group___r_t_o_s.html#gad7267f308d095c538c0d897eaf63035e">More...</a><br /></td></tr>
<tr class="separator:gad7267f308d095c538c0d897eaf63035e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6ad8236244e673850643924ce5078de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gac6ad8236244e673850643924ce5078de">rtw_spinlock_irqsave</a> (_lock *plock, _irqL *irqL)</td></tr>
<tr class="memdesc:gac6ad8236244e673850643924ce5078de"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function marks the start of a critical code region and obtains a spin lock semaphore. <a href="group___r_t_o_s.html#gac6ad8236244e673850643924ce5078de">More...</a><br /></td></tr>
<tr class="separator:gac6ad8236244e673850643924ce5078de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac87035e791ade7f016b995a6de36b113"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gac87035e791ade7f016b995a6de36b113">rtw_spinunlock_irqsave</a> (_lock *plock, _irqL *irqL)</td></tr>
<tr class="memdesc:gac87035e791ade7f016b995a6de36b113"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function releases a spin lock semaphore and marks the end of a critical code region. <a href="group___r_t_o_s.html#gac87035e791ade7f016b995a6de36b113">More...</a><br /></td></tr>
<tr class="separator:gac87035e791ade7f016b995a6de36b113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac436de1bb8861d23654d3a7791cb15da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gac436de1bb8861d23654d3a7791cb15da">rtw_init_xqueue</a> (_xqueue *queue, const char *name, u32 message_size, u32 number_of_messages)</td></tr>
<tr class="memdesc:gac436de1bb8861d23654d3a7791cb15da"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates a new queue instance. <a href="group___r_t_o_s.html#gac436de1bb8861d23654d3a7791cb15da">More...</a><br /></td></tr>
<tr class="separator:gac436de1bb8861d23654d3a7791cb15da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga441c8d4a290d6686a80bebb8e41c59f1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga441c8d4a290d6686a80bebb8e41c59f1">rtw_push_to_xqueue</a> (_xqueue *queue, void *message, u32 timeout_ms)</td></tr>
<tr class="memdesc:ga441c8d4a290d6686a80bebb8e41c59f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function posts a message to the back of a queue. The message is queued by copy, not by reference. <a href="group___r_t_o_s.html#ga441c8d4a290d6686a80bebb8e41c59f1">More...</a><br /></td></tr>
<tr class="separator:ga441c8d4a290d6686a80bebb8e41c59f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga455fb88ce04abec31355991e71d32274"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga455fb88ce04abec31355991e71d32274">rtw_pop_from_xqueue</a> (_xqueue *queue, void *message, u32 timeout_ms)</td></tr>
<tr class="memdesc:ga455fb88ce04abec31355991e71d32274"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function receives a message from a queue. The message is recieved by copy so a buffer adequate size must be provided. <a href="group___r_t_o_s.html#ga455fb88ce04abec31355991e71d32274">More...</a><br /></td></tr>
<tr class="separator:ga455fb88ce04abec31355991e71d32274"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64fd7ef8908a2640802c672327d4d46f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga64fd7ef8908a2640802c672327d4d46f">rtw_deinit_xqueue</a> (_xqueue *queue)</td></tr>
<tr class="memdesc:ga64fd7ef8908a2640802c672327d4d46f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a queue - freeing all the memory allocated for storing of messages placed on the queue. <a href="group___r_t_o_s.html#ga64fd7ef8908a2640802c672327d4d46f">More...</a><br /></td></tr>
<tr class="separator:ga64fd7ef8908a2640802c672327d4d46f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37abdd1a993f77351644abed9c5468c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga37abdd1a993f77351644abed9c5468c4">rtw_init_queue</a> (_queue *pqueue)</td></tr>
<tr class="memdesc:ga37abdd1a993f77351644abed9c5468c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates a new queue instance. <a href="group___r_t_o_s.html#ga37abdd1a993f77351644abed9c5468c4">More...</a><br /></td></tr>
<tr class="separator:ga37abdd1a993f77351644abed9c5468c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb597346ec4381df572c9ae692db7d5c"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_deinit_queue</b> (_queue *pqueue)</td></tr>
<tr class="separator:gafb597346ec4381df572c9ae692db7d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c35c1d7ca06a947b589c21fe87b7a7f"><td class="memItemLeft" align="right" valign="top">
u32&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_is_queue_empty</b> (_queue *pqueue)</td></tr>
<tr class="separator:ga7c35c1d7ca06a947b589c21fe87b7a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09e9d6fa920cee8cfd10c4d7848a5206"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga09e9d6fa920cee8cfd10c4d7848a5206">rtw_queue_empty</a> (_queue *pqueue)</td></tr>
<tr class="memdesc:ga09e9d6fa920cee8cfd10c4d7848a5206"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function tests whether the queue is empty. <a href="group___r_t_o_s.html#ga09e9d6fa920cee8cfd10c4d7848a5206">More...</a><br /></td></tr>
<tr class="separator:ga09e9d6fa920cee8cfd10c4d7848a5206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e31ec8ce94b8c465ffb686047b47c14"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga9e31ec8ce94b8c465ffb686047b47c14">rtw_end_of_queue_search</a> (_list *queue, _list *pelement)</td></tr>
<tr class="memdesc:ga9e31ec8ce94b8c465ffb686047b47c14"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function tests whether the "pelement" is at the "queue". <a href="group___r_t_o_s.html#ga9e31ec8ce94b8c465ffb686047b47c14">More...</a><br /></td></tr>
<tr class="separator:ga9e31ec8ce94b8c465ffb686047b47c14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9476f68866e5ade8b95be4da6c4b741c"><td class="memItemLeft" align="right" valign="top">
_list *&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_get_queue_head</b> (_queue *queue)</td></tr>
<tr class="separator:ga9476f68866e5ade8b95be4da6c4b741c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga388ad68fb55be66baa224afcf504dddd"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga388ad68fb55be66baa224afcf504dddd">rtw_get_current_time</a> (void)</td></tr>
<tr class="memdesc:ga388ad68fb55be66baa224afcf504dddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the count of ticks since the vTaskStartScheduler was called. <a href="group___r_t_o_s.html#ga388ad68fb55be66baa224afcf504dddd">More...</a><br /></td></tr>
<tr class="separator:ga388ad68fb55be66baa224afcf504dddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8674586494dd8574362f90ffa8401a54"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga8674586494dd8574362f90ffa8401a54">rtw_systime_to_ms</a> (u32 systime)</td></tr>
<tr class="memdesc:ga8674586494dd8574362f90ffa8401a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert system time to milliseconds. <a href="group___r_t_o_s.html#ga8674586494dd8574362f90ffa8401a54">More...</a><br /></td></tr>
<tr class="separator:ga8674586494dd8574362f90ffa8401a54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d180388ea1f302c61467595c44e6ab5"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga6d180388ea1f302c61467595c44e6ab5">rtw_systime_to_sec</a> (u32 systime)</td></tr>
<tr class="memdesc:ga6d180388ea1f302c61467595c44e6ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert system time to seconds. <a href="group___r_t_o_s.html#ga6d180388ea1f302c61467595c44e6ab5">More...</a><br /></td></tr>
<tr class="separator:ga6d180388ea1f302c61467595c44e6ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3cc21a9fcd329ae2a3e7f399d230176"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad3cc21a9fcd329ae2a3e7f399d230176">rtw_ms_to_systime</a> (u32 ms)</td></tr>
<tr class="memdesc:gad3cc21a9fcd329ae2a3e7f399d230176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert milliseconds to system time. <a href="group___r_t_o_s.html#gad3cc21a9fcd329ae2a3e7f399d230176">More...</a><br /></td></tr>
<tr class="separator:gad3cc21a9fcd329ae2a3e7f399d230176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a5babf897e2d8284329aeae10c88520"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga6a5babf897e2d8284329aeae10c88520">rtw_sec_to_systime</a> (u32 sec)</td></tr>
<tr class="memdesc:ga6a5babf897e2d8284329aeae10c88520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert seconds to system time. <a href="group___r_t_o_s.html#ga6a5babf897e2d8284329aeae10c88520">More...</a><br /></td></tr>
<tr class="separator:ga6a5babf897e2d8284329aeae10c88520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab29555dec53b9cfd459ca0c7b3a0afa8"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gab29555dec53b9cfd459ca0c7b3a0afa8">rtw_get_passing_time_ms</a> (u32 start)</td></tr>
<tr class="memdesc:gab29555dec53b9cfd459ca0c7b3a0afa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the passing time from the "start" in milliseconds. <a href="group___r_t_o_s.html#gab29555dec53b9cfd459ca0c7b3a0afa8">More...</a><br /></td></tr>
<tr class="separator:gab29555dec53b9cfd459ca0c7b3a0afa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bc34bd42ed88ca127f481165bdb9b63"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga8bc34bd42ed88ca127f481165bdb9b63">rtw_get_time_interval_ms</a> (u32 start, u32 end)</td></tr>
<tr class="memdesc:ga8bc34bd42ed88ca127f481165bdb9b63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the interval time from the "start" to "end" in milliseconds. <a href="group___r_t_o_s.html#ga8bc34bd42ed88ca127f481165bdb9b63">More...</a><br /></td></tr>
<tr class="separator:ga8bc34bd42ed88ca127f481165bdb9b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab46a8d1780b6f053d1ac91e1609a23be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gab46a8d1780b6f053d1ac91e1609a23be">rtw_msleep_os</a> (int ms)</td></tr>
<tr class="memdesc:gab46a8d1780b6f053d1ac91e1609a23be"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function suspends execution of the calling thread for "ms" milliseconds. <a href="group___r_t_o_s.html#gab46a8d1780b6f053d1ac91e1609a23be">More...</a><br /></td></tr>
<tr class="separator:gab46a8d1780b6f053d1ac91e1609a23be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32743271ed298e09a4a5d6d55ab8736e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga32743271ed298e09a4a5d6d55ab8736e">rtw_usleep_os</a> (int us)</td></tr>
<tr class="memdesc:ga32743271ed298e09a4a5d6d55ab8736e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function suspends execution of the calling thread for "us" microseconds. <a href="group___r_t_o_s.html#ga32743271ed298e09a4a5d6d55ab8736e">More...</a><br /></td></tr>
<tr class="separator:ga32743271ed298e09a4a5d6d55ab8736e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf5382ca9167916b15af0880f5efe838"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaaf5382ca9167916b15af0880f5efe838">rtw_atoi</a> (u8 *s)</td></tr>
<tr class="memdesc:gaaf5382ca9167916b15af0880f5efe838"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function converts the initial portion of the string to integer. <a href="group___r_t_o_s.html#gaaf5382ca9167916b15af0880f5efe838">More...</a><br /></td></tr>
<tr class="separator:gaaf5382ca9167916b15af0880f5efe838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8f2c25e0e8525260b0283938acf3e5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad8f2c25e0e8525260b0283938acf3e5f">rtw_mdelay_os</a> (int ms)</td></tr>
<tr class="memdesc:gad8f2c25e0e8525260b0283938acf3e5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function delays a task for the giving time in milliseconds. <a href="group___r_t_o_s.html#gad8f2c25e0e8525260b0283938acf3e5f">More...</a><br /></td></tr>
<tr class="separator:gad8f2c25e0e8525260b0283938acf3e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2a43ba4d719a9577d717e7f047a44eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaf2a43ba4d719a9577d717e7f047a44eb">rtw_udelay_os</a> (int us)</td></tr>
<tr class="memdesc:gaf2a43ba4d719a9577d717e7f047a44eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function delays a task for the giving time in microseconds. <a href="group___r_t_o_s.html#gaf2a43ba4d719a9577d717e7f047a44eb">More...</a><br /></td></tr>
<tr class="separator:gaf2a43ba4d719a9577d717e7f047a44eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1d04350f2daf1172a7c4baf27f023e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad1d04350f2daf1172a7c4baf27f023e4">rtw_yield_os</a> (void)</td></tr>
<tr class="memdesc:gad1d04350f2daf1172a7c4baf27f023e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function for forcing a context switch. <a href="group___r_t_o_s.html#gad1d04350f2daf1172a7c4baf27f023e4">More...</a><br /></td></tr>
<tr class="separator:gad1d04350f2daf1172a7c4baf27f023e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga773eff3884ab09b0b2adfae502c6fbb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga773eff3884ab09b0b2adfae502c6fbb3">ATOMIC_SET</a> (ATOMIC_T *v, int i)</td></tr>
<tr class="memdesc:ga773eff3884ab09b0b2adfae502c6fbb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function atomically sets the value of the variable. <a href="group___r_t_o_s.html#ga773eff3884ab09b0b2adfae502c6fbb3">More...</a><br /></td></tr>
<tr class="separator:ga773eff3884ab09b0b2adfae502c6fbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea3db066675908db9b865ce38db5abc1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaea3db066675908db9b865ce38db5abc1">ATOMIC_READ</a> (ATOMIC_T *v)</td></tr>
<tr class="memdesc:gaea3db066675908db9b865ce38db5abc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function atomically reads the value of the variable. <a href="group___r_t_o_s.html#gaea3db066675908db9b865ce38db5abc1">More...</a><br /></td></tr>
<tr class="separator:gaea3db066675908db9b865ce38db5abc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae40eb2eab2fe72770b747959a37c9dfa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gae40eb2eab2fe72770b747959a37c9dfa">ATOMIC_ADD</a> (ATOMIC_T *v, int i)</td></tr>
<tr class="memdesc:gae40eb2eab2fe72770b747959a37c9dfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function adds "i" to the contained "v". <a href="group___r_t_o_s.html#gae40eb2eab2fe72770b747959a37c9dfa">More...</a><br /></td></tr>
<tr class="separator:gae40eb2eab2fe72770b747959a37c9dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc182a9a76b9ab086fb850ef4a3fa9d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gadc182a9a76b9ab086fb850ef4a3fa9d4">ATOMIC_SUB</a> (ATOMIC_T *v, int i)</td></tr>
<tr class="memdesc:gadc182a9a76b9ab086fb850ef4a3fa9d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function subtracts "i" from th econtained "v". <a href="group___r_t_o_s.html#gadc182a9a76b9ab086fb850ef4a3fa9d4">More...</a><br /></td></tr>
<tr class="separator:gadc182a9a76b9ab086fb850ef4a3fa9d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37d5eb980755600e00f7870dddfc9201"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga37d5eb980755600e00f7870dddfc9201">ATOMIC_INC</a> (ATOMIC_T *v)</td></tr>
<tr class="memdesc:ga37d5eb980755600e00f7870dddfc9201"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function adds 1 to the contained "v". <a href="group___r_t_o_s.html#ga37d5eb980755600e00f7870dddfc9201">More...</a><br /></td></tr>
<tr class="separator:ga37d5eb980755600e00f7870dddfc9201"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ed19ec7dd00eb7f86e731973e503d38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga6ed19ec7dd00eb7f86e731973e503d38">ATOMIC_DEC</a> (ATOMIC_T *v)</td></tr>
<tr class="memdesc:ga6ed19ec7dd00eb7f86e731973e503d38"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function subtracts 1 from th econtained "v". <a href="group___r_t_o_s.html#ga6ed19ec7dd00eb7f86e731973e503d38">More...</a><br /></td></tr>
<tr class="separator:ga6ed19ec7dd00eb7f86e731973e503d38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafe4466dbf996db5b4f65b2154184374"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaafe4466dbf996db5b4f65b2154184374">ATOMIC_ADD_RETURN</a> (ATOMIC_T *v, int i)</td></tr>
<tr class="memdesc:gaafe4466dbf996db5b4f65b2154184374"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function adds "i" to the contained "v" and returns the result. <a href="group___r_t_o_s.html#gaafe4466dbf996db5b4f65b2154184374">More...</a><br /></td></tr>
<tr class="separator:gaafe4466dbf996db5b4f65b2154184374"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2a0f53c84834521a0794d3c317fcdd7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gab2a0f53c84834521a0794d3c317fcdd7">ATOMIC_SUB_RETURN</a> (ATOMIC_T *v, int i)</td></tr>
<tr class="memdesc:gab2a0f53c84834521a0794d3c317fcdd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function subtracts "i" from th econtained "v" and returns the result. <a href="group___r_t_o_s.html#gab2a0f53c84834521a0794d3c317fcdd7">More...</a><br /></td></tr>
<tr class="separator:gab2a0f53c84834521a0794d3c317fcdd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ec0db9ec483df31ae5543c47c9ddaa5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga8ec0db9ec483df31ae5543c47c9ddaa5">ATOMIC_INC_RETURN</a> (ATOMIC_T *v)</td></tr>
<tr class="memdesc:ga8ec0db9ec483df31ae5543c47c9ddaa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function adds 1 to the contained "v" and returns the result. <a href="group___r_t_o_s.html#ga8ec0db9ec483df31ae5543c47c9ddaa5">More...</a><br /></td></tr>
<tr class="separator:ga8ec0db9ec483df31ae5543c47c9ddaa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9fc2abd337dff5eb39d0dcaf245096c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad9fc2abd337dff5eb39d0dcaf245096c">ATOMIC_DEC_RETURN</a> (ATOMIC_T *v)</td></tr>
<tr class="memdesc:gad9fc2abd337dff5eb39d0dcaf245096c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function subtracts 1 from th econtained "v" and returns the result. <a href="group___r_t_o_s.html#gad9fc2abd337dff5eb39d0dcaf245096c">More...</a><br /></td></tr>
<tr class="separator:gad9fc2abd337dff5eb39d0dcaf245096c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9fec214a366463f97068abc3d5bfb687"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga9fec214a366463f97068abc3d5bfb687">ATOMIC_DEC_AND_TEST</a> (ATOMIC_T *v)</td></tr>
<tr class="memdesc:ga9fec214a366463f97068abc3d5bfb687"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function subtracts 1 from th econtained "v" and test if the result equals 0. <a href="group___r_t_o_s.html#ga9fec214a366463f97068abc3d5bfb687">More...</a><br /></td></tr>
<tr class="separator:ga9fec214a366463f97068abc3d5bfb687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9dc460001f4896c25c187a1bf9b5f858"><td class="memItemLeft" align="right" valign="top">
u64&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_modular64</b> (u64 x, u64 y)</td></tr>
<tr class="separator:ga9dc460001f4896c25c187a1bf9b5f858"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga544cb429c5677ce1d0bd5f354c2b7673"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga544cb429c5677ce1d0bd5f354c2b7673">rtw_get_random_bytes</a> (void *dst, u32 size)</td></tr>
<tr class="memdesc:ga544cb429c5677ce1d0bd5f354c2b7673"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function generates random bytes. <a href="group___r_t_o_s.html#ga544cb429c5677ce1d0bd5f354c2b7673">More...</a><br /></td></tr>
<tr class="separator:ga544cb429c5677ce1d0bd5f354c2b7673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfe16158e1e19265e765c0b85399919d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gacfe16158e1e19265e765c0b85399919d">rtw_getFreeHeapSize</a> (void)</td></tr>
<tr class="memdesc:gacfe16158e1e19265e765c0b85399919d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the available heap size. <a href="group___r_t_o_s.html#gacfe16158e1e19265e765c0b85399919d">More...</a><br /></td></tr>
<tr class="separator:gacfe16158e1e19265e765c0b85399919d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga902a5016ea1baf4937382c579b3f83b1"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>flush_signals_thread</b> (void)</td></tr>
<tr class="separator:ga902a5016ea1baf4937382c579b3f83b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf87f11f7a0f0b78efc5fd5156bfa83c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gacf87f11f7a0f0b78efc5fd5156bfa83c">rtw_acquire_wakelock</a> (void)</td></tr>
<tr class="memdesc:gacf87f11f7a0f0b78efc5fd5156bfa83c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function indicates that the WLAN needs to stay on which means cannot go into power saving mode. <a href="group___r_t_o_s.html#gacf87f11f7a0f0b78efc5fd5156bfa83c">More...</a><br /></td></tr>
<tr class="separator:gacf87f11f7a0f0b78efc5fd5156bfa83c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1471dbb012522a892cc24edb3d93ba21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga1471dbb012522a892cc24edb3d93ba21">rtw_release_wakelock</a> (void)</td></tr>
<tr class="memdesc:ga1471dbb012522a892cc24edb3d93ba21"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function indicates that the WLAN does not need to stay on which means can go into power saving mode. <a href="group___r_t_o_s.html#ga1471dbb012522a892cc24edb3d93ba21">More...</a><br /></td></tr>
<tr class="separator:ga1471dbb012522a892cc24edb3d93ba21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf05bab7536fa13a124a6d4ca30aa8db1"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_wakelock_timeout</b> (u32 timeout)</td></tr>
<tr class="separator:gaf05bab7536fa13a124a6d4ca30aa8db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa51afb2660acc623a9b423e6f8d5f7ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gaa51afb2660acc623a9b423e6f8d5f7ec">rtw_create_task</a> (struct <a class="el" href="structtask__struct.html">task_struct</a> *task, const char *name, u32 stack_size, u32 priority, thread_func_t func, void *thctx)</td></tr>
<tr class="memdesc:gaa51afb2660acc623a9b423e6f8d5f7ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates a new task and adds it to the list of tasks that are ready to run. <a href="group___r_t_o_s.html#gaa51afb2660acc623a9b423e6f8d5f7ec">More...</a><br /></td></tr>
<tr class="separator:gaa51afb2660acc623a9b423e6f8d5f7ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2c40877bebfdd7c08484792e7a0bc24"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gad2c40877bebfdd7c08484792e7a0bc24">rtw_delete_task</a> (struct <a class="el" href="structtask__struct.html">task_struct</a> *task)</td></tr>
<tr class="memdesc:gad2c40877bebfdd7c08484792e7a0bc24"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deletes a task. <a href="group___r_t_o_s.html#gad2c40877bebfdd7c08484792e7a0bc24">More...</a><br /></td></tr>
<tr class="separator:gad2c40877bebfdd7c08484792e7a0bc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d259d21a6ce29d0805e8f36f4ddfcc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga9d259d21a6ce29d0805e8f36f4ddfcc4">rtw_wakeup_task</a> (struct <a class="el" href="structtask__struct.html">task_struct</a> *task)</td></tr>
<tr class="memdesc:ga9d259d21a6ce29d0805e8f36f4ddfcc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function wake up a task. <a href="group___r_t_o_s.html#ga9d259d21a6ce29d0805e8f36f4ddfcc4">More...</a><br /></td></tr>
<tr class="separator:ga9d259d21a6ce29d0805e8f36f4ddfcc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb9c7c644b1163085e9f196d8a543b7d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gabb9c7c644b1163085e9f196d8a543b7d">rtw_create_worker_thread</a> (<a class="el" href="structrtw__worker__thread__t.html">rtw_worker_thread_t</a> *worker_thread, u8 priority, u32 stack_size, u32 event_queue_size)</td></tr>
<tr class="memdesc:gabb9c7c644b1163085e9f196d8a543b7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates a new worker thread. <a href="group___r_t_o_s.html#gabb9c7c644b1163085e9f196d8a543b7d">More...</a><br /></td></tr>
<tr class="separator:gabb9c7c644b1163085e9f196d8a543b7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d7555282b121476074275d0a3b3eb70"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga3d7555282b121476074275d0a3b3eb70">rtw_delete_worker_thread</a> (<a class="el" href="structrtw__worker__thread__t.html">rtw_worker_thread_t</a> *worker_thread)</td></tr>
<tr class="memdesc:ga3d7555282b121476074275d0a3b3eb70"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deletes a worker thread. <a href="group___r_t_o_s.html#ga3d7555282b121476074275d0a3b3eb70">More...</a><br /></td></tr>
<tr class="separator:ga3d7555282b121476074275d0a3b3eb70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f70a3abe91f6e1958eabce586f3b704"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga4f70a3abe91f6e1958eabce586f3b704">rtw_thread_enter</a> (char *name)</td></tr>
<tr class="memdesc:ga4f70a3abe91f6e1958eabce586f3b704"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function prints the name of the thread in DBG_INFO. <a href="group___r_t_o_s.html#ga4f70a3abe91f6e1958eabce586f3b704">More...</a><br /></td></tr>
<tr class="separator:ga4f70a3abe91f6e1958eabce586f3b704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac86052516c9cb6c3a4c1bc90e1cca303"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gac86052516c9cb6c3a4c1bc90e1cca303">rtw_thread_exit</a> (void)</td></tr>
<tr class="memdesc:gac86052516c9cb6c3a4c1bc90e1cca303"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function exits the calling thread. <a href="group___r_t_o_s.html#gac86052516c9cb6c3a4c1bc90e1cca303">More...</a><br /></td></tr>
<tr class="separator:gac86052516c9cb6c3a4c1bc90e1cca303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15a2aff5d28a079185ae68f78ff1ce7f"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga15a2aff5d28a079185ae68f78ff1ce7f">rtw_get_scheduler_state</a> (void)</td></tr>
<tr class="memdesc:ga15a2aff5d28a079185ae68f78ff1ce7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the scheduler state of the calling thread. <a href="group___r_t_o_s.html#ga15a2aff5d28a079185ae68f78ff1ce7f">More...</a><br /></td></tr>
<tr class="separator:ga15a2aff5d28a079185ae68f78ff1ce7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac584192034fe149a89a9c6ff816cb824"><td class="memItemLeft" align="right" valign="top">_timerHandle&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gac584192034fe149a89a9c6ff816cb824">rtw_timerCreate</a> (const signed char *pcTimerName, osdepTickType xTimerPeriodInTicks, u32 uxAutoReload, void *pvTimerID, TIMER_FUN pxCallbackFunction)</td></tr>
<tr class="memdesc:gac584192034fe149a89a9c6ff816cb824"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates a new software timer instance. <a href="group___r_t_o_s.html#gac584192034fe149a89a9c6ff816cb824">More...</a><br /></td></tr>
<tr class="separator:gac584192034fe149a89a9c6ff816cb824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70c7ca6935ebab8b73083de9893afd09"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga70c7ca6935ebab8b73083de9893afd09">rtw_timerDelete</a> (_timerHandle xTimer, osdepTickType xBlockTime)</td></tr>
<tr class="memdesc:ga70c7ca6935ebab8b73083de9893afd09"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function deletes a timer that was previously created using rtw_timerCreate. <a href="group___r_t_o_s.html#ga70c7ca6935ebab8b73083de9893afd09">More...</a><br /></td></tr>
<tr class="separator:ga70c7ca6935ebab8b73083de9893afd09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a7497759cd3304af7e1ea19fe9d3627"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga2a7497759cd3304af7e1ea19fe9d3627">rtw_timerIsTimerActive</a> (_timerHandle xTimer)</td></tr>
<tr class="memdesc:ga2a7497759cd3304af7e1ea19fe9d3627"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function queries a timer to see if it is active or dormant. <a href="group___r_t_o_s.html#ga2a7497759cd3304af7e1ea19fe9d3627">More...</a><br /></td></tr>
<tr class="separator:ga2a7497759cd3304af7e1ea19fe9d3627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga658aea6db26460a6d9d9b3c4d1f46d21"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#ga658aea6db26460a6d9d9b3c4d1f46d21">rtw_timerStop</a> (_timerHandle xTimer, osdepTickType xBlockTime)</td></tr>
<tr class="memdesc:ga658aea6db26460a6d9d9b3c4d1f46d21"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function stops a timer that was previously started. <a href="group___r_t_o_s.html#ga658aea6db26460a6d9d9b3c4d1f46d21">More...</a><br /></td></tr>
<tr class="separator:ga658aea6db26460a6d9d9b3c4d1f46d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbc6483e7d29c8ab1918784d20724ff6"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_t_o_s.html#gabbc6483e7d29c8ab1918784d20724ff6">rtw_timerChangePeriod</a> (_timerHandle xTimer, osdepTickType xNewPeriod, osdepTickType xBlockTime)</td></tr>
<tr class="memdesc:gabbc6483e7d29c8ab1918784d20724ff6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function changes the period of a timer that was previously created. <a href="group___r_t_o_s.html#gabbc6483e7d29c8ab1918784d20724ff6">More...</a><br /></td></tr>
<tr class="separator:gabbc6483e7d29c8ab1918784d20724ff6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b8024a79fa980c8f84f1f8b136371df"><td class="memItemLeft" align="right" valign="top">
void *&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_timerGetID</b> (_timerHandle xTimer)</td></tr>
<tr class="separator:ga5b8024a79fa980c8f84f1f8b136371df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga870f0629ff9abd4c65e6b23d3ff033b0"><td class="memItemLeft" align="right" valign="top">
u32&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_timerStart</b> (_timerHandle xTimer, osdepTickType xBlockTime)</td></tr>
<tr class="separator:ga870f0629ff9abd4c65e6b23d3ff033b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2bcbeec1f2b6241ab5260cb315cee9b"><td class="memItemLeft" align="right" valign="top">
u32&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_timerStartFromISR</b> (_timerHandle xTimer, osdepBASE_TYPE *pxHigherPriorityTaskWoken)</td></tr>
<tr class="separator:gaf2bcbeec1f2b6241ab5260cb315cee9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f3c7b4acb0442110b221865a24d464f"><td class="memItemLeft" align="right" valign="top">
u32&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_timerStopFromISR</b> (_timerHandle xTimer, osdepBASE_TYPE *pxHigherPriorityTaskWoken)</td></tr>
<tr class="separator:ga3f3c7b4acb0442110b221865a24d464f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c095d925bf041e148c49b7a88d059ac"><td class="memItemLeft" align="right" valign="top">
u32&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_timerResetFromISR</b> (_timerHandle xTimer, osdepBASE_TYPE *pxHigherPriorityTaskWoken)</td></tr>
<tr class="separator:ga6c095d925bf041e148c49b7a88d059ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae02ea10456b91eca9171ad79e028d13b"><td class="memItemLeft" align="right" valign="top">
u32&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_timerChangePeriodFromISR</b> (_timerHandle xTimer, osdepTickType xNewPeriod, osdepBASE_TYPE *pxHigherPriorityTaskWoken)</td></tr>
<tr class="separator:gae02ea10456b91eca9171ad79e028d13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab34d0513b0f4fe83f00fb4b9d1337374"><td class="memItemLeft" align="right" valign="top">
u32&#160;</td><td class="memItemRight" valign="bottom"><b>rtw_timerReset</b> (_timerHandle xTimer, osdepTickType xBlockTime)</td></tr>
<tr class="separator:gab34d0513b0f4fe83f00fb4b9d1337374"><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 file provides the OS dependent API. </p>
<dl class="section author"><dt>Author</dt><dd></dd></dl>
<dl class="section version"><dt>Version</dt><dd></dd></dl>
<dl class="section attention"><dt>Attention</dt><dd></dd></dl>
<p>This module is a confidential and proprietary property of RealTek and possession or use of this module requires written permission of RealTek.</p>
<p>Copyright(c) 2016, Realtek Semiconductor Corporation. All rights reserved. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>