gnuk/ChibiOS_2.0.8/docs/html/chthreads_8h.html

159 lines
27 KiB
HTML
Raw Normal View History

2010-08-10 03:11:02 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ChibiOS/RT: chthreads.h File Reference</title>
<link href="custom.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<table style="text-align: center; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 80px;"><img alt="ChibiOS/RT Logo" src="logo_small.png"></td>
<td><big><big>ChibiOS/RT</big></big><br><br>Architecture - Reference Manual - Guides</td>
<td style="width: 80px;"></td>
</tr>
</tbody>
</table>
<hr size="1">
2010-11-22 05:53:37 +00:00
<!-- Generated by Doxygen 1.7.1 -->
2010-08-10 03:11:02 +00:00
<div class="navigation" id="top">
<div class="tabs">
2010-11-22 05:53:37 +00:00
<ul class="tablist">
2010-08-10 03:11:02 +00:00
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
2010-11-22 05:53:37 +00:00
<div class="tabs2">
<ul class="tablist">
2010-08-10 03:11:02 +00:00
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
2010-11-22 05:53:37 +00:00
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<h1>chthreads.h File Reference</h1> </div>
</div>
2010-08-10 03:11:02 +00:00
<div class="contents">
2010-11-22 05:53:37 +00:00
2010-08-10 03:11:02 +00:00
<p>Threads macros and structures.
<a href="#_details">More...</a></p>
<p><a href="chthreads_8h_source.html">Go to the source code of this file.</a></p>
2010-11-22 05:53:37 +00:00
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_thread.html">Thread</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure representing a thread. <a href="struct_thread.html#_details">More...</a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga1f7b83c73a5b850a3f33bddbdb024fb3">THD_STATE_READY</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Ready to run, waiting on the ready list. <a href="group__threads.html#ga1f7b83c73a5b850a3f33bddbdb024fb3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga247c4d33e862f51e90df9a602175f80b">THD_STATE_CURRENT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Currently running. <a href="group__threads.html#ga247c4d33e862f51e90df9a602175f80b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gace00089d9d68ba83bb866396332c15d8">THD_STATE_SUSPENDED</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: <a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> created in suspended state. <a href="group__threads.html#gace00089d9d68ba83bb866396332c15d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gad0b81cae859c0a6bc6a0d2036aa8e272">THD_STATE_WTSEM</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting on a semaphore. <a href="group__threads.html#gad0b81cae859c0a6bc6a0d2036aa8e272"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gac18de5096ff3c841e69672cab0868cdf">THD_STATE_WTMTX</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting on a mutex. <a href="group__threads.html#gac18de5096ff3c841e69672cab0868cdf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga286c5b1a6459d654d5794fc17e93c939">THD_STATE_WTCOND</a>&nbsp;&nbsp;&nbsp;5</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting in <code><a class="el" href="group__condvars.html#ga466f912bc9b09b133fae862993004ffe" title="Waits on the condition variable releasing the mutex lock.">chCondWait()</a></code>. <a href="group__threads.html#ga286c5b1a6459d654d5794fc17e93c939"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga1b56c4f78480669018aea61711430048">THD_STATE_SLEEPING</a>&nbsp;&nbsp;&nbsp;6</td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting in <code><a class="el" href="group__threads.html#ga8b10a49e2ec522a5ddecabdc453afcab" title="Suspends the invoking thread for the specified time.">chThdSleep()</a></code> or <code><a class="el" href="group__threads.html#ga9e6e2f8d46d415e8f0862daf0be1d984" title="Suspends the invoking thread until the system time arrives to the specified value.">chThdSleepUntil()</a></code>. <a href="group__threads.html#ga1b56c4f78480669018aea61711430048"></a><br/></td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gaf726245829b74db3a77a5f4bcc17bf67">THD_STATE_WTEXIT</a>&nbsp;&nbsp;&nbsp;7</td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting in <code><a class="el" href="group__threads.html#ga94a5727ecdbe0f738dfc8e1ede1c3409" title="Blocks the execution of the invoking thread until the specified thread terminates then the exit code ...">chThdWait()</a></code>. <a href="group__threads.html#gaf726245829b74db3a77a5f4bcc17bf67"></a><br/></td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gacd5f28475be26c300aa3444b9bad8feb">THD_STATE_WTOREVT</a>&nbsp;&nbsp;&nbsp;8</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting in <code>chEvtWaitXXX()</code>. <a href="group__threads.html#gacd5f28475be26c300aa3444b9bad8feb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga1227eb701b7ecaa8e8cd03edeeb79a92">THD_STATE_WTANDEVT</a>&nbsp;&nbsp;&nbsp;9</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting in <code><a class="el" href="group__events.html#ga90d702300eecee3d05f83e95b155c3ee" title="Waits for all the specified events.">chEvtWaitAllTimeout()</a></code>. <a href="group__threads.html#ga1227eb701b7ecaa8e8cd03edeeb79a92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gaff813590802bfd53cbf0560b680b89f5">THD_STATE_SNDMSG</a>&nbsp;&nbsp;&nbsp;10</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting in <code><a class="el" href="group__messages.html#ga29a48a438e97dc47cb798a84e13764cb" title="Sends a message to the specified thread.">chMsgSend()</a></code>. <a href="group__threads.html#gaff813590802bfd53cbf0560b680b89f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gaf46c55b4468f0dad5cd0b3ef73e1be26">THD_STATE_WTMSG</a>&nbsp;&nbsp;&nbsp;11</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: Waiting in <code><a class="el" href="group__messages.html#gae68fefbf9d0404bbf56ae354961fae41" title="Suspends the thread and waits for an incoming message.">chMsgWait()</a></code>. <a href="group__threads.html#gaf46c55b4468f0dad5cd0b3ef73e1be26"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga10583a3a3fb4c62693bb08796f8d13ae">THD_STATE_FINAL</a>&nbsp;&nbsp;&nbsp;12</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> state: After termination. <a href="group__threads.html#ga10583a3a3fb4c62693bb08796f8d13ae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga03fc66bb40f45829816cd4e8353fead2">THD_MEM_MODE_MASK</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> memory mode mask. <a href="group__threads.html#ga03fc66bb40f45829816cd4e8353fead2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga222e36a338ac4048b1da998f112771ea">THD_MEM_MODE_STATIC</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> memory mode: static. <a href="group__threads.html#ga222e36a338ac4048b1da998f112771ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga706ca53f21d35623480e8e5a239c3fcb">THD_MEM_MODE_HEAP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> memory mode: heap. <a href="group__threads.html#ga706ca53f21d35623480e8e5a239c3fcb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga70a7c2fa69d7ca90e6f191c2ebd8cc6f">THD_MEM_MODE_MEMPOOL</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> memory mode: pool. <a href="group__threads.html#ga70a7c2fa69d7ca90e6f191c2ebd8cc6f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga756a0e7dec9a4d374b6b9e913c5adf81">THD_TERMINATE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Termination requested. <a href="group__threads.html#ga756a0e7dec9a4d374b6b9e913c5adf81"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gaa36662628234799d205ff8c0cc6745c5">chThdSelf</a>()&nbsp;&nbsp;&nbsp;currp</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the current <code><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a></code>. <a href="group__threads.html#gaa36662628234799d205ff8c0cc6745c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gac71903de6268d886ff58022854b8b6dd">chThdGetPriority</a>()&nbsp;&nbsp;&nbsp;(currp-&gt;p_prio)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current thread priority. <a href="group__threads.html#gac71903de6268d886ff58022854b8b6dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga44ea29c71507ec19cf668de199fcbcca">chThdLS</a>()&nbsp;&nbsp;&nbsp;(void *)(currp + 1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer to the <code><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a></code> local storage area, if any. <a href="group__threads.html#ga44ea29c71507ec19cf668de199fcbcca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga91fad809cfc40e5e989b5bc893741f30">chThdTerminated</a>(tp)&nbsp;&nbsp;&nbsp;((tp)-&gt;p_state == THD_STATE_FINAL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verifies if the specified thread is in the <code>THD_STATE_FINAL</code> state. <a href="group__threads.html#ga91fad809cfc40e5e989b5bc893741f30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga5591a9f97ff77b40bd5fc29f16f12a6b">chThdShouldTerminate</a>()&nbsp;&nbsp;&nbsp;(currp-&gt;p_flags &amp; THD_TERMINATE)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verifies if the current thread has a termination request pending. <a href="group__threads.html#ga5591a9f97ff77b40bd5fc29f16f12a6b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gaca27314f95f0b691d5a83a017157fd09">chThdResumeI</a>(tp)&nbsp;&nbsp;&nbsp;chSchReadyI(tp)</td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resumes a thread created with <code>chThdInit()</code>. <a href="group__threads.html#gaca27314f95f0b691d5a83a017157fd09"></a><br/></td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga851dc0c4ac72885bf09feebdef4673ac">chThdSleepS</a>(time)&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS(THD_STATE_SLEEPING, time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Suspends the invoking thread for the specified time. <a href="group__threads.html#ga851dc0c4ac72885bf09feebdef4673ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga5fc3d014124e558bc59c423a74668c8d">chThdSleepSeconds</a>(sec)&nbsp;&nbsp;&nbsp;chThdSleep(S2ST(sec))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delays the invoking thread for the specified number of seconds. <a href="group__threads.html#ga5fc3d014124e558bc59c423a74668c8d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga5aebc25e053a0094714abce4cad9f56f">chThdSleepMilliseconds</a>(msec)&nbsp;&nbsp;&nbsp;chThdSleep(MS2ST(msec))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delays the invoking thread for the specified number of milliseconds. <a href="group__threads.html#ga5aebc25e053a0094714abce4cad9f56f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga596f4015871a919694911bc50ba8bd94">chThdSleepMicroseconds</a>(usec)&nbsp;&nbsp;&nbsp;chThdSleep(US2ST(usec))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delays the invoking thread for the specified number of microseconds. <a href="group__threads.html#ga596f4015871a919694911bc50ba8bd94"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gabfe59aa7d2ed1b8e57a2ce17bcbc1189">tfunc_t</a> )(void *)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="struct_thread.html" title="Structure representing a thread.">Thread</a> function. <a href="group__threads.html#gabfe59aa7d2ed1b8e57a2ce17bcbc1189"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga4f6ae58bb3cedfc03aacde6d49e49d35">init_thread</a> (<a class="el" href="struct_thread.html">Thread</a> *tp, <a class="el" href="group__types.html#ga5f2488ba73e5969cbc0f7033735374ee">tprio_t</a> prio)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes a thread structure. <a href="group__threads.html#ga4f6ae58bb3cedfc03aacde6d49e49d35"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gac6de13d4044b32d3ae9e2066b5d4c030">chThdCreateI</a> (void *wsp, size_t size, <a class="el" href="group__types.html#ga5f2488ba73e5969cbc0f7033735374ee">tprio_t</a> prio, <a class="el" href="group__threads.html#gabfe59aa7d2ed1b8e57a2ce17bcbc1189">tfunc_t</a> pf, void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new thread into a static memory area. <a href="group__threads.html#gac6de13d4044b32d3ae9e2066b5d4c030"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga048e588238dd336c6059133b3d0c3435">chThdCreateStatic</a> (void *wsp, size_t size, <a class="el" href="group__types.html#ga5f2488ba73e5969cbc0f7033735374ee">tprio_t</a> prio, <a class="el" href="group__threads.html#gabfe59aa7d2ed1b8e57a2ce17bcbc1189">tfunc_t</a> pf, void *arg)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new thread into a static memory area. <a href="group__threads.html#ga048e588238dd336c6059133b3d0c3435"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga50b84e3e82a4e09c1066e1d422e4c780">chThdCreateFromHeap</a> (<a class="el" href="structmemory__heap.html">MemoryHeap</a> *heapp, size_t size, <a class="el" href="group__types.html#ga5f2488ba73e5969cbc0f7033735374ee">tprio_t</a> prio, <a class="el" href="group__threads.html#gabfe59aa7d2ed1b8e57a2ce17bcbc1189">tfunc_t</a> pf, void *arg)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new thread allocating the memory from the heap. <a href="group__threads.html#ga50b84e3e82a4e09c1066e1d422e4c780"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gad3ccc1a6f054c543258ed2fe97ed2f58">chThdCreateFromMemoryPool</a> (<a class="el" href="struct_memory_pool.html">MemoryPool</a> *mp, <a class="el" href="group__types.html#ga5f2488ba73e5969cbc0f7033735374ee">tprio_t</a> prio, <a class="el" href="group__threads.html#gabfe59aa7d2ed1b8e57a2ce17bcbc1189">tfunc_t</a> pf, void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new thread allocating the memory from the specified memory pool. <a href="group__threads.html#gad3ccc1a6f054c543258ed2fe97ed2f58"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga5f2488ba73e5969cbc0f7033735374ee">tprio_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga5a5d9388c64e4c1a3aec129d2831eefe">chThdSetPriority</a> (<a class="el" href="group__types.html#ga5f2488ba73e5969cbc0f7033735374ee">tprio_t</a> newprio)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the running thread priority level then reschedules if necessary. <a href="group__threads.html#ga5a5d9388c64e4c1a3aec129d2831eefe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga2c1ce2be73cd177af7e577b282232a7d">chThdResume</a> (<a class="el" href="struct_thread.html">Thread</a> *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resumes a suspended thread. <a href="group__threads.html#ga2c1ce2be73cd177af7e577b282232a7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga7ea7371fa41598ebd523622587ce3f22">chThdTerminate</a> (<a class="el" href="struct_thread.html">Thread</a> *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Requests a thread termination. <a href="group__threads.html#ga7ea7371fa41598ebd523622587ce3f22"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga8b10a49e2ec522a5ddecabdc453afcab">chThdSleep</a> (<a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a> time)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Suspends the invoking thread for the specified time. <a href="group__threads.html#ga8b10a49e2ec522a5ddecabdc453afcab"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga9e6e2f8d46d415e8f0862daf0be1d984">chThdSleepUntil</a> (<a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a> time)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Suspends the invoking thread until the system time arrives to the specified value. <a href="group__threads.html#ga9e6e2f8d46d415e8f0862daf0be1d984"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gacb0a8f22a8358487eaebab3c84b1c4a1">chThdYield</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Yields the time slot. <a href="group__threads.html#gacb0a8f22a8358487eaebab3c84b1c4a1"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga24ab3a3a4d70214ee360867a1c3c75ac">chThdExit</a> (<a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a> msg)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminates the current thread by specifying an exit status code. <a href="group__threads.html#ga24ab3a3a4d70214ee360867a1c3c75ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_thread.html">Thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gabefc5734beaf29ae0bcd52cd41744930">chThdAddRef</a> (<a class="el" href="struct_thread.html">Thread</a> *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a reference to a thread object. <a href="group__threads.html#gabefc5734beaf29ae0bcd52cd41744930"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#gaa22f80040cf192015be4607f31a0ac80">chThdRelease</a> (<a class="el" href="struct_thread.html">Thread</a> *tp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Releases a reference to a thread object. <a href="group__threads.html#gaa22f80040cf192015be4607f31a0ac80"></a><br/></td></tr>
2010-11-22 05:53:37 +00:00
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__threads.html#ga94a5727ecdbe0f738dfc8e1ede1c3409">chThdWait</a> (<a class="el" href="struct_thread.html">Thread</a> *tp)</td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Blocks the execution of the invoking thread until the specified thread terminates then the exit code is returned. <a href="group__threads.html#ga94a5727ecdbe0f738dfc8e1ede1c3409"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Threads macros and structures. </p>
<p>Definition in file <a class="el" href="chthreads_8h_source.html">chthreads.h</a>.</p>
</div>
<hr size="1"><address style="text-align: right;"><small>
2010-11-30 04:54:43 +00:00
Generated on Sun Nov 28 2010 14:09:49 for ChibiOS/RT by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.1</small></address>
2010-08-10 03:11:02 +00:00
</body>
</html>