wut/thread_8h_source.html

162 lines
87 KiB
HTML
Raw Normal View History

2019-04-22 10:21:17 +10:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2016-01-07 16:06:06 +00:00
<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"/>
2019-04-22 10:21:17 +10:00
<meta name="generator" content="Doxygen 1.8.15"/>
2018-07-26 20:52:03 +10:00
<meta name="viewport" content="width=device-width, initial-scale=1"/>
2019-04-22 10:21:17 +10:00
<title>wut: /home/ash/src/wut/include/coreinit/thread.h Source File</title>
2016-01-07 16:06:06 +00:00
<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>
<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;">
2018-07-26 20:52:03 +10:00
<div id="projectname">wut
2019-04-22 10:21:17 +10:00
&#160;<span id="projectnumber">1.0.0-beta8</span>
2016-01-07 16:06:06 +00:00
</div>
<div id="projectbrief">Wii U Toolchain</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
2019-04-22 10:21:17 +10:00
<!-- Generated by Doxygen 1.8.15 -->
2016-01-07 16:06:06 +00:00
<script type="text/javascript">
2018-07-26 20:52:03 +10:00
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
2016-01-07 16:06:06 +00:00
var searchBox = new SearchBox("searchBox", "search",false,'Search');
2018-07-26 20:52:03 +10:00
/* @license-end */
2016-01-07 16:06:06 +00:00
</script>
2018-07-26 20:52:03 +10:00
<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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
2016-01-07 16:06:06 +00:00
<!-- 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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_5050f3de292bd66075be80c4b119f1df.html">coreinit</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">thread.h</div> </div>
</div><!--header-->
<div class="contents">
2019-04-22 10:21:17 +10:00
<a href="thread_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="wut_8h.html">wut.h</a>&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="coreinit_2context_8h.html">context.h</a>&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="time_8h.html">time.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="threadqueue_8h.html">threadqueue.h</a>&quot;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="group__coreinit__thread.html#ga1a46c02caff79a13ecf041e55a454696"> 33</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__coreinit__fastmutex.html#structOSFastMutex">OSFastMutex</a> <a class="code" href="group__coreinit__fastmutex.html#structOSFastMutex">OSFastMutex</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="group__coreinit__thread.html#ga6ab521577a62122534149c14253952cb"> 34</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__coreinit__thread.html#structOSFastMutexQueue">OSFastMutexQueue</a> <a class="code" href="group__coreinit__thread.html#structOSFastMutexQueue">OSFastMutexQueue</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="group__coreinit__thread.html#ga42b7c5a07043d7f6c8324f51ac1747c8"> 35</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__coreinit__mutex.html#structOSMutex">OSMutex</a> <a class="code" href="group__coreinit__mutex.html#structOSMutex">OSMutex</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="group__coreinit__thread.html#ga585231e15c29fd8485e2ef645623fdec"> 36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__coreinit__thread.html#structOSMutexQueue">OSMutexQueue</a> <a class="code" href="group__coreinit__thread.html#structOSMutexQueue">OSMutexQueue</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="group__coreinit__thread.html#ga21cc46877b04baece01ef544fa06a906"> 37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__coreinit__mutex.html#ga21cc46877b04baece01ef544fa06a906">OSThread</a> <a class="code" href="group__coreinit__mutex.html#ga21cc46877b04baece01ef544fa06a906">OSThread</a>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="group__coreinit__thread.html#ga1c33fd51f40dec4bfff9d98992c7e2cc"> 40</a></span>&#160;<span class="keyword">typedef</span> uint8_t <a class="code" href="group__coreinit__thread.html#ga1c33fd51f40dec4bfff9d98992
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_a0896610fffd2641ab3f42ea99b6d147a"><div class="ttname"><a href="group__coreinit__thread.html#a0896610fffd2641ab3f42ea99b6d147a">OSMutexQueue::head</a></div><div class="ttdeci">OSMutex * head</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00099">thread.h:99</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga558f8aecea78aa6a81817c1d1fcbe8b1"><div class="ttname"><a href="group__coreinit__thread.html#ga558f8aecea78aa6a81817c1d1fcbe8b1">OSCreateThread</a></div><div class="ttdeci">BOOL OSCreateThread(OSThread *thread, OSThreadEntryPointFn entry, int32_t argc, char *argv, void *stack, uint32_t stackSize, int32_t priority, OSThreadAttributes attributes)</div><div class="ttdoc">Create a new thread.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga8a726fc00d3ec7659f577eda3b5295b2"><div class="ttname"><a href="group__coreinit__thread.html#ga8a726fc00d3ec7659f577eda3b5295b2">WUT_ALIGNAS</a></div><div class="ttdeci">struct WUT_ALIGNAS(8) OSThread</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00120">thread.h:120</a></div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__time_html_ga4d4f771188f6c29e758ed6b3b8347b4d"><div class="ttname"><a href="group__coreinit__time.html#ga4d4f771188f6c29e758ed6b3b8347b4d">OSTime</a></div><div class="ttdeci">int64_t OSTime</div><div class="ttdef"><b>Definition:</b> <a href="time_8h_source.html#l00018">time.h:18</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga2bfc1c71ab2551fa12c1dd26c8c9efce"><div class="ttname"><a href="group__coreinit__thread.html#ga2bfc1c71ab2551fa12c1dd26c8c9efce">OSCheckThreadStackUsage</a></div><div class="ttdeci">int32_t OSCheckThreadStackUsage(OSThread *thread)</div><div class="ttdoc">Get the maximum amount of stack the thread has used.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gad10a0ac959b7542472ae547a1e38b2b7"><div class="ttname"><a href="group__coreinit__thread.html#gad10a0ac959b7542472ae547a1e38b2b7">OSGetDefaultThread</a></div><div class="ttdeci">OSThread * OSGetDefaultThread(uint32_t coreID)</div><div class="ttdoc">Returns the default thread for a specific core.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_ggac1b924b5c296e435eae41f0bf395d02aab227c9a028b4fb3a9f71afc33995748a"><div class="ttname"><a href="group__coreinit__thread.html#ggac1b924b5c296e435eae41f0bf395d02aab227c9a028b4fb3a9f71afc33995748a">OS_THREAD_REQUEST_CANCEL</a></div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00073">thread.h:73</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga47c38b62e66b6163f6b080a35830897a"><div class="ttname"><a href="group__coreinit__thread.html#ga47c38b62e66b6163f6b080a35830897a">OSThreadAttributes</a></div><div class="ttdeci">uint8_t OSThreadAttributes</div><div class="ttdoc">A bitfield of enum OS_THREAD_ATTRIB.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00046">thread.h:46</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_ga3665f0196d1fc7983ad7a311fa1bfc37"><div class="ttname"><a href="group__coreinit__thread.html#ga3665f0196d1fc7983ad7a311fa1bfc37">OSGetCurrentThread</a></div><div class="ttdeci">OSThread * OSGetCurrentThread()</div><div class="ttdoc">Return pointer to OSThread object for the current thread.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga9e1c9d9b8de8927fb46276114a2f43ec"><div class="ttname"><a href="group__coreinit__thread.html#ga9e1c9d9b8de8927fb46276114a2f43ec">OSGetThreadPriority</a></div><div class="ttdeci">int32_t OSGetThreadPriority(OSThread *thread)</div><div class="ttdoc">Get a thread's base priority.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga4dc00e8b9758c58fbdbb73350637f805"><div class="ttname"><a href="group__coreinit__thread.html#ga4dc00e8b9758c58fbdbb73350637f805">OSCancelThread</a></div><div class="ttdeci">void OSCancelThread(OSThread *thread)</div><div class="ttdoc">Cancels a thread.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga2b4866b3e51f4690fd197462d2cdebe7"><div class="ttname"><a href="group__coreinit__thread.html#ga2b4866b3e51f4690fd197462d2cdebe7">OSThreadRequest</a></div><div class="ttdeci">uint32_t OSThreadRequest</div><div class="ttdoc">A value from enum OS_THREAD_REQUEST.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00043">thread.h:43</a></div></div>
2016-01-07 16:06:06 +00:00
<div class="ttc" id="time_8h_html"><div class="ttname"><a href="time_8h.html">time.h</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_gga2051f6f880e722ee1c16d7a9b33fc285ad2b8ca7ea948310fdce859f2a7fd265b"><div class="ttname"><a href="group__coreinit__thread.html#gga2051f6f880e722ee1c16d7a9b33fc285ad2b8ca7ea948310fdce859f2a7fd265b">OS_THREAD_STATE_RUNNING</a></div><div class="ttdoc">Thread is running.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00060">thread.h:60</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_gaec240f68873bb19c753cfdd346264c17"><div class="ttname"><a href="group__coreinit__thread.html#gaec240f68873bb19c753cfdd346264c17">OSSleepTicks</a></div><div class="ttdeci">void OSSleepTicks(OSTime ticks)</div><div class="ttdoc">Sleep the current thread for a period of time.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_gac8fa3d74d8d161709d327e38eb426422"><div class="ttname"><a href="group__coreinit__thread.html#gac8fa3d74d8d161709d327e38eb426422">OSThreadDeallocatorFn</a></div><div class="ttdeci">void(* OSThreadDeallocatorFn)(OSThread *thread, void *stack)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00050">thread.h:50</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_ad55284e8266fdfe37e1c0900cf3c72dc"><div class="ttname"><a href="group__coreinit__thread.html#ad55284e8266fdfe37e1c0900cf3c72dc">OSFastMutexQueue::head</a></div><div class="ttdeci">OSFastMutex * head</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00111">thread.h:111</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga0074df288baf29c18a7c823c258ba353"><div class="ttname"><a href="group__coreinit__thread.html#ga0074df288baf29c18a7c823c258ba353">OSIsThreadSuspended</a></div><div class="ttdeci">BOOL OSIsThreadSuspended(OSThread *thread)</div><div class="ttdoc">Returns TRUE if a thread is suspended.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gga93f63e1c4e8826006db8878c9a6d0519a643750f290d1a1327e4d6f83a385a923"><div class="ttname"><a href="group__coreinit__thread.html#gga93f63e1c4e8826006db8878c9a6d0519a643750f290d1a1327e4d6f83a385a923">OS_THREAD_ATTRIB_DETACHED</a></div><div class="ttdoc">Start the thread detached.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00091">thread.h:91</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_gaabc089f75f232061a8ba1c2f4d3a9169"><div class="ttname"><a href="group__coreinit__thread.html#gaabc089f75f232061a8ba1c2f4d3a9169">OSYieldThread</a></div><div class="ttdeci">void OSYieldThread()</div><div class="ttdoc">Yield execution to waiting threads with same priority.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga308e195cdc22b0290ea5b84774bf481e"><div class="ttname"><a href="group__coreinit__thread.html#ga308e195cdc22b0290ea5b84774bf481e">OSGetThreadName</a></div><div class="ttdeci">const char * OSGetThreadName(OSThread *thread)</div><div class="ttdoc">Get a thread's name.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga2051f6f880e722ee1c16d7a9b33fc285"><div class="ttname"><a href="group__coreinit__thread.html#ga2051f6f880e722ee1c16d7a9b33fc285">OS_THREAD_STATE</a></div><div class="ttdeci">OS_THREAD_STATE</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00052">thread.h:52</a></div></div>
2016-01-07 16:06:06 +00:00
<div class="ttc" id="threadqueue_8h_html"><div class="ttname"><a href="threadqueue_8h.html">threadqueue.h</a></div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_ggac1b924b5c296e435eae41f0bf395d02aa632959c993cef4fd2735051db6797329"><div class="ttname"><a href="group__coreinit__thread.html#ggac1b924b5c296e435eae41f0bf395d02aa632959c993cef4fd2735051db6797329">OS_THREAD_REQUEST_SUSPEND</a></div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00072">thread.h:72</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_gabcdf5e618af28ab7d0eb1dcc9dfc9d36"><div class="ttname"><a href="group__coreinit__thread.html#gabcdf5e618af28ab7d0eb1dcc9dfc9d36">OSSetThreadRunQuantum</a></div><div class="ttdeci">BOOL OSSetThreadRunQuantum(OSThread *thread, uint32_t quantum)</div><div class="ttdoc">Set a thread's run quantum.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga97d4800cbe08b3e3cd68906a197bf587"><div class="ttname"><a href="group__coreinit__thread.html#ga97d4800cbe08b3e3cd68906a197bf587">OSSuspendThread</a></div><div class="ttdeci">uint32_t OSSuspendThread(OSThread *thread)</div><div class="ttdoc">Suspend a thread.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga5c8cbb581c038073ea97105cbc389e73"><div class="ttname"><a href="group__coreinit__thread.html#ga5c8cbb581c038073ea97105cbc389e73">OSDetachThread</a></div><div class="ttdeci">void OSDetachThread(OSThread *thread)</div><div class="ttdoc">Detach thread.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gga93f63e1c4e8826006db8878c9a6d0519abb854560be1fd9b10763999f08b3591b"><div class="ttname"><a href="group__coreinit__thread.html#gga93f63e1c4e8826006db8878c9a6d0519abb854560be1fd9b10763999f08b3591b">OS_THREAD_ATTRIB_AFFINITY_ANY</a></div><div class="ttdoc">Allow the thread to run any CPU.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00088">thread.h:88</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_ga1c33fd51f40dec4bfff9d98992c7e2cc"><div class="ttname"><a href="group__coreinit__thread.html#ga1c33fd51f40dec4bfff9d98992c7e2cc">OSThreadState</a></div><div class="ttdeci">uint8_t OSThreadState</div><div class="ttdoc">A value from enum OS_THREAD_STATE.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00040">thread.h:40</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_ga5ab3e3f830d155273978285c2ee0670f"><div class="ttname"><a href="group__coreinit__thread.html#ga5ab3e3f830d155273978285c2ee0670f">OSSetThreadCancelState</a></div><div class="ttdeci">BOOL OSSetThreadCancelState(BOOL state)</div><div class="ttdoc">Set a thread's cancellation state.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_a69d02e959411b8ca397138183d931eae"><div class="ttname"><a href="group__coreinit__thread.html#a69d02e959411b8ca397138183d931eae">OSMutexQueue::tail</a></div><div class="ttdeci">OSMutex * tail</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00100">thread.h:100</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_gab5cdc96dcec643891f88be54830acae9"><div class="ttname"><a href="group__coreinit__thread.html#gab5cdc96dcec643891f88be54830acae9">OSThreadEntryPointFn</a></div><div class="ttdeci">int(* OSThreadEntryPointFn)(int argc, const char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00048">thread.h:48</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_gaf949db9990798fe799eef6f10400febc"><div class="ttname"><a href="group__coreinit__thread.html#gaf949db9990798fe799eef6f10400febc">OSSetThreadPriority</a></div><div class="ttdeci">BOOL OSSetThreadPriority(OSThread *thread, int32_t priority)</div><div class="ttdoc">Set a thread's priority.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga8e47bab6ad06370cbb0990d979e1729b"><div class="ttname"><a href="group__coreinit__thread.html#ga8e47bab6ad06370cbb0990d979e1729b">OSResumeThread</a></div><div class="ttdeci">int32_t OSResumeThread(OSThread *thread)</div><div class="ttdoc">Resumes a thread.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__mutex_html_structOSMutex"><div class="ttname"><a href="group__coreinit__mutex.html#structOSMutex">OSMutex</a></div><div class="ttdef"><b>Definition:</b> <a href="mutex_8h_source.html#l00035">mutex.h:35</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_gga2051f6f880e722ee1c16d7a9b33fc285a13a1674553ea65a706ae780c20ae84bc"><div class="ttname"><a href="group__coreinit__thread.html#gga2051f6f880e722ee1c16d7a9b33fc285a13a1674553ea65a706ae780c20ae84bc">OS_THREAD_STATE_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00054">thread.h:54</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_ga93f63e1c4e8826006db8878c9a6d0519"><div class="ttname"><a href="group__coreinit__thread.html#ga93f63e1c4e8826006db8878c9a6d0519">OS_THREAD_ATTRIB</a></div><div class="ttdeci">OS_THREAD_ATTRIB</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00076">thread.h:76</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_gac1b924b5c296e435eae41f0bf395d02a"><div class="ttname"><a href="group__coreinit__thread.html#gac1b924b5c296e435eae41f0bf395d02a">OS_THREAD_REQUEST</a></div><div class="ttdeci">OS_THREAD_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00069">thread.h:69</a></div></div>
<div class="ttc" id="group__coreinit__fastmutex_html_structOSFastMutex"><div class="ttname"><a href="group__coreinit__fastmutex.html#structOSFastMutex">OSFastMutex</a></div><div class="ttdef"><b>Definition:</b> <a href="fastmutex_8h_source.html#l00033">fastmutex.h:33</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga42e2be4ac798739e6b6e947099547921"><div class="ttname"><a href="group__coreinit__thread.html#ga42e2be4ac798739e6b6e947099547921">OSGetStackPointer</a></div><div class="ttdeci">uint32_t OSGetStackPointer()</div><div class="ttdoc">Return current stack pointer, value of r1 register.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_structOSMutexQueue"><div class="ttname"><a href="group__coreinit__thread.html#structOSMutexQueue">OSMutexQueue</a></div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00097">thread.h:97</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga94cfe1592be09c48ba2ee9718297ee3d"><div class="ttname"><a href="group__coreinit__thread.html#ga94cfe1592be09c48ba2ee9718297ee3d">OSGetThreadSpecific</a></div><div class="ttdeci">void * OSGetThreadSpecific(uint32_t id)</div><div class="ttdoc">Get a thread's specific value set by OSSetThreadSpecific.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga541eec9e102156579ad86cc440d741b1"><div class="ttname"><a href="group__coreinit__thread.html#ga541eec9e102156579ad86cc440d741b1">OSGetActiveThreadLink</a></div><div class="ttdeci">void OSGetActiveThreadLink(OSThread *thread, OSThreadLink *link)</div><div class="ttdoc">Get the next and previous thread in the thread's active queue.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gga93f63e1c4e8826006db8878c9a6d0519a1434f284dfb835aa2d0704cebf81345c"><div class="ttname"><a href="group__coreinit__thread.html#gga93f63e1c4e8826006db8878c9a6d0519a1434f284dfb835aa2d0704cebf81345c">OS_THREAD_ATTRIB_AFFINITY_CPU2</a></div><div class="ttdoc">Allow the thread to run on CPU2.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00085">thread.h:85</a></div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__threadq_html_structOSThreadLink"><div class="ttname"><a href="group__coreinit__threadq.html#structOSThreadLink">OSThreadLink</a></div><div class="ttdef"><b>Definition:</b> <a href="threadqueue_8h_source.html#l00020">threadqueue.h:20</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga0b90395dabd5e3077b274f8dd65fe5bb"><div class="ttname"><a href="group__coreinit__thread.html#ga0b90395dabd5e3077b274f8dd65fe5bb">OSCheckActiveThreads</a></div><div class="ttdeci">int32_t OSCheckActiveThreads()</div><div class="ttdoc">Returns the count of active threads.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gga93f63e1c4e8826006db8878c9a6d0519a3ea0c3a38f1342783fd2ddfa6a84a13d"><div class="ttname"><a href="group__coreinit__thread.html#gga93f63e1c4e8826006db8878c9a6d0519a3ea0c3a38f1342783fd2ddfa6a84a13d">OS_THREAD_ATTRIB_AFFINITY_CPU0</a></div><div class="ttdoc">Allow the thread to run on CPU0.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00079">thread.h:79</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_ga64b826e25d3352b17abf9a1e4243837e"><div class="ttname"><a href="group__coreinit__thread.html#ga64b826e25d3352b17abf9a1e4243837e">OSSetThreadAffinity</a></div><div class="ttdeci">BOOL OSSetThreadAffinity(OSThread *thread, uint32_t affinity)</div><div class="ttdoc">Set a thread's affinity.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gabadb986bf587ed067719230d0194e432"><div class="ttname"><a href="group__coreinit__thread.html#gabadb986bf587ed067719230d0194e432">OSJoinThread</a></div><div class="ttdeci">BOOL OSJoinThread(OSThread *thread, int *threadResult)</div><div class="ttdoc">Wait until thread is terminated.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga233d3d678de8dcccceb18424e24950b8"><div class="ttname"><a href="group__coreinit__thread.html#ga233d3d678de8dcccceb18424e24950b8">OSWakeupThread</a></div><div class="ttdeci">void OSWakeupThread(OSThreadQueue *queue)</div><div class="ttdoc">Wake up all threads in queue.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga6aa2bd70bb3560ca3811aa0215971cf8"><div class="ttname"><a href="group__coreinit__thread.html#ga6aa2bd70bb3560ca3811aa0215971cf8">OSContinueThread</a></div><div class="ttdeci">void OSContinueThread(OSThread *thread)</div><div class="ttdoc">Clears a thread's suspend counter and resumes it.</div></div>
2016-01-07 16:06:06 +00:00
<div class="ttc" id="wut_8h_html"><div class="ttname"><a href="wut_8h.html">wut.h</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_gaf73770f5c74390d22caa7e993e667984"><div class="ttname"><a href="group__coreinit__thread.html#gaf73770f5c74390d22caa7e993e667984">OSSetThreadName</a></div><div class="ttdeci">void OSSetThreadName(OSThread *thread, const char *name)</div><div class="ttdoc">Set a thread's name.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga3be0f7ef0eed586ef8bf5d57f3cd1dfa"><div class="ttname"><a href="group__coreinit__thread.html#ga3be0f7ef0eed586ef8bf5d57f3cd1dfa">OSSetThreadStackUsage</a></div><div class="ttdeci">BOOL OSSetThreadStackUsage(OSThread *thread)</div><div class="ttdoc">Set thread stack usage tracking.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gga2051f6f880e722ee1c16d7a9b33fc285a1a499958e89f028b8c3d29f869f97517"><div class="ttname"><a href="group__coreinit__thread.html#gga2051f6f880e722ee1c16d7a9b33fc285a1a499958e89f028b8c3d29f869f97517">OS_THREAD_STATE_MORIBUND</a></div><div class="ttdoc">Thread is about to terminate.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00066">thread.h:66</a></div></div>
<div class="ttc" id="group__coreinit__context_html_ga924296baf430a531adb5135a5cd54207"><div class="ttname"><a href="group__coreinit__context.html#ga924296baf430a531adb5135a5cd54207">OSContext</a></div><div class="ttdeci">struct OSContext OSContext</div><div class="ttdef"><b>Definition:</b> <a href="coreinit_2context_8h_source.html#l00015">context.h:15</a></div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_a1563f8b9f6ceef503288783aa43fcb86"><div class="ttname"><a href="group__coreinit__thread.html#a1563f8b9f6ceef503288783aa43fcb86">OSFastMutexQueue::tail</a></div><div class="ttdeci">OSFastMutex * tail</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00112">thread.h:112</a></div></div>
<div class="ttc" id="wut__types_8h_html_a975dbe9e4396bf9e0064ce01827fa372"><div class="ttname"><a href="wut__types_8h.html#a975dbe9e4396bf9e0064ce01827fa372">BOOL</a></div><div class="ttdeci">int32_t BOOL</div><div class="ttdef"><b>Definition:</b> <a href="wut__types_8h_source.html#l00004">wut_types.h:4</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_gga2051f6f880e722ee1c16d7a9b33fc285a4318e1cf6017f194840a32dd1be1d57f"><div class="ttname"><a href="group__coreinit__thread.html#gga2051f6f880e722ee1c16d7a9b33fc285a4318e1cf6017f194840a32dd1be1d57f">OS_THREAD_STATE_WAITING</a></div><div class="ttdoc">Thread is waiting, i.e. on a mutex.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00063">thread.h:63</a></div></div>
<div class="ttc" id="group__coreinit__thread_html_ga62e2afe54836ced17ce04b005b9be728"><div class="ttname"><a href="group__coreinit__thread.html#ga62e2afe54836ced17ce04b005b9be728">OSGetThreadAffinity</a></div><div class="ttdeci">uint32_t OSGetThreadAffinity(OSThread *thread)</div><div class="ttdoc">Get a thread's affinity.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_ggac1b924b5c296e435eae41f0bf395d02aa46b42c24c445d69479b6a163ada1c3c0"><div class="ttname"><a href="group__coreinit__thread.html#ggac1b924b5c296e435eae41f0bf395d02aa46b42c24c445d69479b6a163ada1c3c0">OS_THREAD_REQUEST_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00071">thread.h:71</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga40601ddddabf312483c9a3da0a924fa6"><div class="ttname"><a href="group__coreinit__thread.html#ga40601ddddabf312483c9a3da0a924fa6">OSSleepThread</a></div><div class="ttdeci">void OSSleepThread(OSThreadQueue *queue)</div><div class="ttdoc">Sleep the current thread and add it to a thread queue.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gaa3241ca6d126d3b4dc4be94d9836f573"><div class="ttname"><a href="group__coreinit__thread.html#gaa3241ca6d126d3b4dc4be94d9836f573">OSRunThread</a></div><div class="ttdeci">BOOL OSRunThread(OSThread *thread, OSThreadEntryPointFn entry, int argc, const char **argv)</div><div class="ttdoc">Run a function on an already created thread.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gaa5ec19889db9ab9d679ed56b49c8dd44"><div class="ttname"><a href="group__coreinit__thread.html#gaa5ec19889db9ab9d679ed56b49c8dd44">OSSetThreadSpecific</a></div><div class="ttdeci">void OSSetThreadSpecific(uint32_t id, void *value)</div><div class="ttdoc">Set a thread specific value.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga3d5f9fe631c3b30a30ee84a2d32a617c"><div class="ttname"><a href="group__coreinit__thread.html#ga3d5f9fe631c3b30a30ee84a2d32a617c">OSTestThreadCancel</a></div><div class="ttdeci">void OSTestThreadCancel()</div><div class="ttdoc">Check to see if the current thread should be cancelled or suspended.</div></div>
<div class="ttc" id="group__coreinit__thread_html_ga481f2365b62f2ed1b7cda3d0bec91ff2"><div class="ttname"><a href="group__coreinit__thread.html#ga481f2365b62f2ed1b7cda3d0bec91ff2">OSExitThread</a></div><div class="ttdeci">void OSExitThread(int32_t result)</div><div class="ttdoc">Exit the current thread with a exit code.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gab5f71458522cd623a26fda4bc7a08706"><div class="ttname"><a href="group__coreinit__thread.html#gab5f71458522cd623a26fda4bc7a08706">OSSetThreadDeallocator</a></div><div class="ttdeci">OSThreadDeallocatorFn OSSetThreadDeallocator(OSThread *thread, OSThreadDeallocatorFn deallocator)</div><div class="ttdoc">Set the callback to be called just after a thread is terminated.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gaddb66bd8a4fcdd50eec34e0eaabaa4ea"><div class="ttname"><a href="group__coreinit__thread.html#gaddb66bd8a4fcdd50eec34e0eaabaa4ea">OSSetThreadCleanupCallback</a></div><div class="ttdeci">OSThreadCleanupCallbackFn OSSetThreadCleanupCallback(OSThread *thread, OSThreadCleanupCallbackFn callback)</div><div class="ttdoc">Set the callback to be called just before a thread is terminated.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gga93f63e1c4e8826006db8878c9a6d0519a6b6ea70f704c863a0a37b03ffbffaa85"><div class="ttname"><a href="group__coreinit__thread.html#gga93f63e1c4e8826006db8878c9a6d0519a6b6ea70f704c863a0a37b03ffbffaa85">OS_THREAD_ATTRIB_STACK_USAGE</a></div><div class="ttdoc">Enables tracking of stack usage.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00094">thread.h:94</a></div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga729a75fba87a2740d7af69aa8978ea5a"><div class="ttname"><a href="group__coreinit__thread.html#ga729a75fba87a2740d7af69aa8978ea5a">OSThreadCleanupCallbackFn</a></div><div class="ttdeci">void(* OSThreadCleanupCallbackFn)(OSThread *thread, void *stack)</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00049">thread.h:49</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_ga0bec4859c6c3575439660463ab58fc14"><div class="ttname"><a href="group__coreinit__thread.html#ga0bec4859c6c3575439660463ab58fc14">OSIsThreadTerminated</a></div><div class="ttdeci">BOOL OSIsThreadTerminated(OSThread *thread)</div><div class="ttdoc">Returns TRUE if a thread is terminated.</div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="group__coreinit__thread_html_a5f450b216725a37cbc0acd54340144d9"><div class="ttname"><a href="group__coreinit__thread.html#a5f450b216725a37cbc0acd54340144d9">OSMutexQueue::parent</a></div><div class="ttdeci">void * parent</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00101">thread.h:101</a></div></div>
<div class="ttc" id="group__coreinit__threadq_html_structOSThreadQueue"><div class="ttname"><a href="group__coreinit__threadq.html#structOSThreadQueue">OSThreadQueue</a></div><div class="ttdef"><b>Definition:</b> <a href="threadqueue_8h_source.html#l00029">threadqueue.h:29</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_gga2051f6f880e722ee1c16d7a9b33fc285aba95f54efb4f40634409efe14ac7aa1f"><div class="ttname"><a href="group__coreinit__thread.html#gga2051f6f880e722ee1c16d7a9b33fc285aba95f54efb4f40634409efe14ac7aa1f">OS_THREAD_STATE_READY</a></div><div class="ttdoc">Thread is ready to run.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00057">thread.h:57</a></div></div>
2018-07-26 20:52:03 +10:00
<div class="ttc" id="coreinit_2context_8h_html"><div class="ttname"><a href="coreinit_2context_8h.html">context.h</a></div></div>
2019-04-22 10:21:17 +10:00
<div class="ttc" id="group__coreinit__thread_html_gaf3ca5305804fa4552529c5912c96ce2b"><div class="ttname"><a href="group__coreinit__thread.html#gaf3ca5305804fa4552529c5912c96ce2b">OSClearThreadStackUsage</a></div><div class="ttdeci">void OSClearThreadStackUsage(OSThread *thread)</div><div class="ttdoc">Disable tracking of thread stack usage.</div></div>
<div class="ttc" id="group__coreinit__thread_html_gga93f63e1c4e8826006db8878c9a6d0519adcea8a57b4636bc5a0c3e283ce83e0f7"><div class="ttname"><a href="group__coreinit__thread.html#gga93f63e1c4e8826006db8878c9a6d0519adcea8a57b4636bc5a0c3e283ce83e0f7">OS_THREAD_ATTRIB_AFFINITY_CPU1</a></div><div class="ttdoc">Allow the thread to run on CPU1.</div><div class="ttdef"><b>Definition:</b> <a href="thread_8h_source.html#l00082">thread.h:82</a></div></div>
<div class="ttc" id="group__coreinit__mutex_html_ga21cc46877b04baece01ef544fa06a906"><div class="ttname"><a href="group__coreinit__mutex.html#ga21cc46877b04baece01ef544fa06a906">OSThread</a></div><div class="ttdeci">struct OSThread OSThread</div><div class="ttdef"><b>Definition:</b> <a href="mutex_8h_source.html#l00019">mutex.h:19</a></div></div>
2016-01-07 16:06:06 +00:00
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
2019-04-22 10:21:17 +10:00
</a> 1.8.15
2016-01-07 16:06:06 +00:00
</small></address>
</body>
</html>