194 lines
29 KiB
HTML
194 lines
29 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<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.18"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>MyOS Kernel: kernel/tasking.h Source File</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="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.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;">
|
|
<div id="projectname">MyOS Kernel
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.18 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&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>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('tasking_8h_source.html',''); initResizable(); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">tasking.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="tasking_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>  </div>
|
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#ifndef KERN_TASKING_H</span></div>
|
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#define KERN_TASKING_H</span></div>
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  </div>
|
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <stdint.h></span></div>
|
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <sys/types.h></span></div>
|
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  </div>
|
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#ifndef TASKING_H</span></div>
|
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  </div>
|
|
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207"> 16</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207">thread_state</a> {</div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207aa5639ff4eff3f959406116db9e020c44"> 17</a></span>  <a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207aa5639ff4eff3f959406116db9e020c44">THREAD_RUNNING</a>, </div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207adc6a307a71277ce8d642b5b916e05042"> 18</a></span>  <a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207adc6a307a71277ce8d642b5b916e05042">THREAD_READY</a>, </div>
|
|
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207ac9087b7375864c084808109e1e1af5bb"> 19</a></span>  <a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207ac9087b7375864c084808109e1e1af5bb">THREAD_EXITED</a>, </div>
|
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207a4aeda0a1e7e9882ce8b0310833fee46e">THREAD_BLOCKED</a> </div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207a4aeda0a1e7e9882ce8b0310833fee46e"> 21</a></span> } <a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207">thread_state</a>;</div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div>
|
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#endif</span></div>
|
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">struct </span><a class="code" href="structThread.html">Thread</a>;</div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div>
|
|
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="structProcess.html"> 30</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structProcess.html">Process</a> {</div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structProcess.html#af6d80a830e83c92cf1524041130ecda8"> 31</a></span>  <span class="keywordtype">char</span> <a class="code" href="structProcess.html#af6d80a830e83c92cf1524041130ecda8">priv</a>; </div>
|
|
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structProcess.html#a2097d5c8b6b2049b837d9e8f37b7176f"> 32</a></span>  pid_t <a class="code" href="structProcess.html#a2097d5c8b6b2049b837d9e8f37b7176f">pid</a>; </div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structProcess.html#ade42afe3b9fb94ce3c4baff8aa0e740f"> 33</a></span>  pid_t <a class="code" href="structProcess.html#ade42afe3b9fb94ce3c4baff8aa0e740f">next_tid</a>; </div>
|
|
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structProcess.html#ab6a9356bdc1ccce9be96c863ed81a160"> 34</a></span>  <span class="keywordtype">int</span> <a class="code" href="structProcess.html#ab6a9356bdc1ccce9be96c863ed81a160">num_threads</a>; </div>
|
|
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structProcess.html#a48d146893ce0e6d35cb3b950e9f9b3bd"> 35</a></span>  <span class="keywordtype">int</span> <a class="code" href="structProcess.html#a48d146893ce0e6d35cb3b950e9f9b3bd">num_threads_blocked</a>; </div>
|
|
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structProcess.html#af6aa293cc982154a6b4880067258d66b"> 36</a></span>  <span class="keyword">struct </span><a class="code" href="structThread.html">Thread</a>* <a class="code" href="structProcess.html#af6aa293cc982154a6b4880067258d66b">first_thread</a>; </div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> } <a class="code" href="structProcess.html">Process</a>;</div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
|
|
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structThread.html"> 42</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structThread.html">Thread</a> {</div>
|
|
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="structThread.html#a5c7be841d425e4383daccdce34d7aa29"> 43</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structThread.html#a5c7be841d425e4383daccdce34d7aa29">kernel_esp</a>; </div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structThread.html#ad587532fcef04437ad95e1cfea76ba2f"> 44</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structThread.html#ad587532fcef04437ad95e1cfea76ba2f">kernel_esp_top</a>; </div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structThread.html#a41198f851a921c04cce111e5d5f4cb0c"> 45</a></span>  <span class="keywordtype">void</span>* <a class="code" href="structThread.html#a41198f851a921c04cce111e5d5f4cb0c">address_space</a>; </div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structThread.html#a85915c03a5847d0f7c08660c8181a74e"> 46</a></span>  pid_t <a class="code" href="structThread.html#a85915c03a5847d0f7c08660c8181a74e">tid</a>; </div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="structThread.html#a05ff1695379212103807ae341e995344"> 47</a></span>  <a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207">thread_state</a> <a class="code" href="structThread.html#a05ff1695379212103807ae341e995344">state</a>; </div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structThread.html#acb2fe83a77f2e2eea943869b40e472b0"> 48</a></span>  <span class="keywordtype">int</span> <a class="code" href="structThread.html#acb2fe83a77f2e2eea943869b40e472b0">errno</a>; </div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="structThread.html#a2e36472c509fe52f73133906c1f26aac"> 49</a></span>  <span class="keyword">struct </span><a class="code" href="structThread.html">Thread</a>* <a class="code" href="structThread.html#a2e36472c509fe52f73133906c1f26aac">next_thread_in_process</a>; </div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="structThread.html#adfbbeb19a2571fa9c650ea9755aa2da7"> 50</a></span>  <span class="keyword">struct </span><a class="code" href="structThread.html">Thread</a>* <a class="code" href="structThread.html#adfbbeb19a2571fa9c650ea9755aa2da7">prev_thread_in_process</a>; </div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structThread.html#a7bd6ad78697d0bd0e20334a6aca7babb"> 51</a></span>  <span class="keyword">struct </span><a class="code" href="structThread.html">Thread</a>* <a class="code" href="structThread.html#a7bd6ad78697d0bd0e20334a6aca7babb">next_ready_to_run</a>; </div>
|
|
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="structThread.html#a446b54c14f79942f79e2e78cf10b2f22"> 52</a></span>  <span class="keyword">struct </span><a class="code" href="structThread.html">Thread</a>* <a class="code" href="structThread.html#a446b54c14f79942f79e2e78cf10b2f22">prev_ready_to_run</a>; </div>
|
|
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="structThread.html#a13b09b855703f94e0431cb650ce50161"> 53</a></span>  <a class="code" href="structProcess.html">Process</a>* <a class="code" href="structThread.html#a13b09b855703f94e0431cb650ce50161">process</a>; </div>
|
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> } <a class="code" href="structThread.html">Thread</a>;</div>
|
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div>
|
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">extern</span> <a class="code" href="structThread.html">Thread</a>* <a class="code" href="tasking_8h.html#aac59f73081d1aff0293b54c543b552ca">current_thread</a>;</div>
|
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
|
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">void</span> <a class="code" href="tasking_8h.html#aab3a61933f2bb9b94aee37b3cd078740">tasking_create_task</a>(<span class="keywordtype">void</span>* eip,<span class="keywordtype">void</span>* <a class="code" href="structThread.html#a41198f851a921c04cce111e5d5f4cb0c">address_space</a>,<span class="keywordtype">char</span> kmode,<span class="keywordtype">char</span> param1_exists,<span class="keywordtype">void</span>* param1_arg,<span class="keywordtype">char</span> param2_exists,<span class="keywordtype">void</span>* param2_arg,<span class="keywordtype">char</span> isThread);</div>
|
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">void</span> <a class="code" href="tasking_8h.html#a45f6d4112f15e33ba7a0e356f821d056">tasking_init</a>();</div>
|
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">char</span> <a class="code" href="tasking_8h.html#a47f424f3474f4298f1d6b65eeee5d0f6">tasking_is_privleged</a>();</div>
|
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> pid_t <a class="code" href="tasking_8h.html#a9555a59dc2340ce36ae1a84c984b3af0">tasking_get_PID</a>();</div>
|
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">int</span>* <a class="code" href="tasking_8h.html#a347fac6db01ff796e5dc6d1fc44c2eef">tasking_get_errno_address</a>();</div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> pid_t <a class="code" href="tasking_8h.html#ab4d000931b7ca87b83905b6172471d0e">tasking_new_thread</a>(<span class="keywordtype">void</span>* start,pid_t pid,<span class="keywordtype">char</span> param_exists,<span class="keywordtype">void</span>* param_arg);</div>
|
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div>
|
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">void</span> <a class="code" href="tasking_8h.html#acf62dd83316df4b63f4a93587c9b791e">tasking_exit</a>(<span class="keywordtype">int</span> code);</div>
|
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">void</span> <a class="code" href="tasking_8h.html#a021c821360fc28b1a509b585f8d21769">tasking_block</a>(<a class="code" href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207">thread_state</a> newstate);</div>
|
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">void</span> <a class="code" href="tasking_8h.html#a8daf634972bbe78df522aade52c180bf">tasking_unblock</a>(pid_t pid,pid_t <a class="code" href="structThread.html#a85915c03a5847d0f7c08660c8181a74e">tid</a>);</div>
|
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">void</span> <a class="code" href="tasking_8h.html#a78aa02f7e342d1a6f76fb2c692086f50">tasking_yield</a>();</div>
|
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div>
|
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#endif</span></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<div class="ttc" id="atasking_8h_html_aac59f73081d1aff0293b54c543b552ca"><div class="ttname"><a href="tasking_8h.html#aac59f73081d1aff0293b54c543b552ca">current_thread</a></div><div class="ttdeci">Thread * current_thread</div><div class="ttdoc">Currently running thread.</div><div class="ttdef"><b>Definition:</b> tasking.c:22</div></div>
|
|
<div class="ttc" id="astructProcess_html_ab6a9356bdc1ccce9be96c863ed81a160"><div class="ttname"><a href="structProcess.html#ab6a9356bdc1ccce9be96c863ed81a160">Process::num_threads</a></div><div class="ttdeci">int num_threads</div><div class="ttdoc">The number of threads in this process.</div><div class="ttdef"><b>Definition:</b> tasking.h:34</div></div>
|
|
<div class="ttc" id="astructThread_html_adfbbeb19a2571fa9c650ea9755aa2da7"><div class="ttname"><a href="structThread.html#adfbbeb19a2571fa9c650ea9755aa2da7">Thread::prev_thread_in_process</a></div><div class="ttdeci">struct Thread * prev_thread_in_process</div><div class="ttdoc">The previous thread in the process.</div><div class="ttdef"><b>Definition:</b> tasking.h:50</div></div>
|
|
<div class="ttc" id="atasking_8h_html_aab3a61933f2bb9b94aee37b3cd078740"><div class="ttname"><a href="tasking_8h.html#aab3a61933f2bb9b94aee37b3cd078740">tasking_create_task</a></div><div class="ttdeci">void tasking_create_task(void *eip, void *address_space, char kmode, char param1_exists, void *param1_arg, char param2_exists, void *param2_arg, char isThread)</div><div class="ttdef"><b>Definition:</b> tasking.c:62</div></div>
|
|
<div class="ttc" id="astructThread_html_a05ff1695379212103807ae341e995344"><div class="ttname"><a href="structThread.html#a05ff1695379212103807ae341e995344">Thread::state</a></div><div class="ttdeci">thread_state state</div><div class="ttdoc">The state of this thread. (running,ready to run,blocked,etc.)</div><div class="ttdef"><b>Definition:</b> tasking.h:47</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a347fac6db01ff796e5dc6d1fc44c2eef"><div class="ttname"><a href="tasking_8h.html#a347fac6db01ff796e5dc6d1fc44c2eef">tasking_get_errno_address</a></div><div class="ttdeci">int * tasking_get_errno_address()</div><div class="ttdef"><b>Definition:</b> tasking.c:159</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a78aa02f7e342d1a6f76fb2c692086f50"><div class="ttname"><a href="tasking_8h.html#a78aa02f7e342d1a6f76fb2c692086f50">tasking_yield</a></div><div class="ttdeci">void tasking_yield()</div><div class="ttdef"><b>Definition:</b> tasking.c:230</div></div>
|
|
<div class="ttc" id="astructProcess_html_a48d146893ce0e6d35cb3b950e9f9b3bd"><div class="ttname"><a href="structProcess.html#a48d146893ce0e6d35cb3b950e9f9b3bd">Process::num_threads_blocked</a></div><div class="ttdeci">int num_threads_blocked</div><div class="ttdoc">The number of blocked threads in this process.</div><div class="ttdef"><b>Definition:</b> tasking.h:35</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a4b1b32c1fc744438f665f0f1932dd207"><div class="ttname"><a href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207">thread_state</a></div><div class="ttdeci">thread_state</div><div class="ttdef"><b>Definition:</b> tasking.h:16</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a4b1b32c1fc744438f665f0f1932dd207a4aeda0a1e7e9882ce8b0310833fee46e"><div class="ttname"><a href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207a4aeda0a1e7e9882ce8b0310833fee46e">THREAD_BLOCKED</a></div><div class="ttdeci">@ THREAD_BLOCKED</div><div class="ttdoc">The state of a generically blocked thread.</div><div class="ttdef"><b>Definition:</b> tasking.h:20</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a4b1b32c1fc744438f665f0f1932dd207aa5639ff4eff3f959406116db9e020c44"><div class="ttname"><a href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207aa5639ff4eff3f959406116db9e020c44">THREAD_RUNNING</a></div><div class="ttdeci">@ THREAD_RUNNING</div><div class="ttdoc">The state of a running thread.</div><div class="ttdef"><b>Definition:</b> tasking.h:17</div></div>
|
|
<div class="ttc" id="astructThread_html_a2e36472c509fe52f73133906c1f26aac"><div class="ttname"><a href="structThread.html#a2e36472c509fe52f73133906c1f26aac">Thread::next_thread_in_process</a></div><div class="ttdeci">struct Thread * next_thread_in_process</div><div class="ttdoc">The next thread in the process.</div><div class="ttdef"><b>Definition:</b> tasking.h:49</div></div>
|
|
<div class="ttc" id="astructThread_html_a13b09b855703f94e0431cb650ce50161"><div class="ttname"><a href="structThread.html#a13b09b855703f94e0431cb650ce50161">Thread::process</a></div><div class="ttdeci">Process * process</div><div class="ttdoc">The thread's process.</div><div class="ttdef"><b>Definition:</b> tasking.h:53</div></div>
|
|
<div class="ttc" id="astructProcess_html_ade42afe3b9fb94ce3c4baff8aa0e740f"><div class="ttname"><a href="structProcess.html#ade42afe3b9fb94ce3c4baff8aa0e740f">Process::next_tid</a></div><div class="ttdeci">pid_t next_tid</div><div class="ttdoc">The TID that the next created thread will use.</div><div class="ttdef"><b>Definition:</b> tasking.h:33</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a47f424f3474f4298f1d6b65eeee5d0f6"><div class="ttname"><a href="tasking_8h.html#a47f424f3474f4298f1d6b65eeee5d0f6">tasking_is_privleged</a></div><div class="ttdeci">char tasking_is_privleged()</div><div class="ttdef"><b>Definition:</b> tasking.c:151</div></div>
|
|
<div class="ttc" id="astructThread_html_a85915c03a5847d0f7c08660c8181a74e"><div class="ttname"><a href="structThread.html#a85915c03a5847d0f7c08660c8181a74e">Thread::tid</a></div><div class="ttdeci">pid_t tid</div><div class="ttdoc">The TID of this thread.</div><div class="ttdef"><b>Definition:</b> tasking.h:46</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a8daf634972bbe78df522aade52c180bf"><div class="ttname"><a href="tasking_8h.html#a8daf634972bbe78df522aade52c180bf">tasking_unblock</a></div><div class="ttdeci">void tasking_unblock(pid_t pid, pid_t tid)</div><div class="ttdef"><b>Definition:</b> tasking.c:287</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a9555a59dc2340ce36ae1a84c984b3af0"><div class="ttname"><a href="tasking_8h.html#a9555a59dc2340ce36ae1a84c984b3af0">tasking_get_PID</a></div><div class="ttdeci">pid_t tasking_get_PID()</div><div class="ttdef"><b>Definition:</b> tasking.c:155</div></div>
|
|
<div class="ttc" id="atasking_8h_html_acf62dd83316df4b63f4a93587c9b791e"><div class="ttname"><a href="tasking_8h.html#acf62dd83316df4b63f4a93587c9b791e">tasking_exit</a></div><div class="ttdeci">void tasking_exit(int code)</div><div class="ttdef"><b>Definition:</b> tasking.c:324</div></div>
|
|
<div class="ttc" id="astructThread_html"><div class="ttname"><a href="structThread.html">Thread</a></div><div class="ttdef"><b>Definition:</b> tasking.h:42</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a4b1b32c1fc744438f665f0f1932dd207ac9087b7375864c084808109e1e1af5bb"><div class="ttname"><a href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207ac9087b7375864c084808109e1e1af5bb">THREAD_EXITED</a></div><div class="ttdeci">@ THREAD_EXITED</div><div class="ttdoc">The state of an exited thread.</div><div class="ttdef"><b>Definition:</b> tasking.h:19</div></div>
|
|
<div class="ttc" id="astructProcess_html_af6d80a830e83c92cf1524041130ecda8"><div class="ttname"><a href="structProcess.html#af6d80a830e83c92cf1524041130ecda8">Process::priv</a></div><div class="ttdeci">char priv</div><div class="ttdoc">Whether the process is privileged (can execute syscalls to acesss all of memory/has acess to IO ports...</div><div class="ttdef"><b>Definition:</b> tasking.h:31</div></div>
|
|
<div class="ttc" id="astructThread_html_a5c7be841d425e4383daccdce34d7aa29"><div class="ttname"><a href="structThread.html#a5c7be841d425e4383daccdce34d7aa29">Thread::kernel_esp</a></div><div class="ttdeci">void * kernel_esp</div><div class="ttdoc">The thread's kernel stack.</div><div class="ttdef"><b>Definition:</b> tasking.h:43</div></div>
|
|
<div class="ttc" id="astructProcess_html_af6aa293cc982154a6b4880067258d66b"><div class="ttname"><a href="structProcess.html#af6aa293cc982154a6b4880067258d66b">Process::first_thread</a></div><div class="ttdeci">struct Thread * first_thread</div><div class="ttdoc">A pointer to the head of the linked list of threads for this process.</div><div class="ttdef"><b>Definition:</b> tasking.h:36</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a021c821360fc28b1a509b585f8d21769"><div class="ttname"><a href="tasking_8h.html#a021c821360fc28b1a509b585f8d21769">tasking_block</a></div><div class="ttdeci">void tasking_block(thread_state newstate)</div><div class="ttdef"><b>Definition:</b> tasking.c:257</div></div>
|
|
<div class="ttc" id="astructProcess_html_a2097d5c8b6b2049b837d9e8f37b7176f"><div class="ttname"><a href="structProcess.html#a2097d5c8b6b2049b837d9e8f37b7176f">Process::pid</a></div><div class="ttdeci">pid_t pid</div><div class="ttdoc">The PID of this process.</div><div class="ttdef"><b>Definition:</b> tasking.h:32</div></div>
|
|
<div class="ttc" id="astructProcess_html"><div class="ttname"><a href="structProcess.html">Process</a></div><div class="ttdef"><b>Definition:</b> tasking.h:30</div></div>
|
|
<div class="ttc" id="atasking_8h_html_ab4d000931b7ca87b83905b6172471d0e"><div class="ttname"><a href="tasking_8h.html#ab4d000931b7ca87b83905b6172471d0e">tasking_new_thread</a></div><div class="ttdeci">pid_t tasking_new_thread(void *start, pid_t pid, char param_exists, void *param_arg)</div><div class="ttdef"><b>Definition:</b> tasking.c:163</div></div>
|
|
<div class="ttc" id="astructThread_html_a7bd6ad78697d0bd0e20334a6aca7babb"><div class="ttname"><a href="structThread.html#a7bd6ad78697d0bd0e20334a6aca7babb">Thread::next_ready_to_run</a></div><div class="ttdeci">struct Thread * next_ready_to_run</div><div class="ttdoc">If the thread is in the ready to run list, this is the next ready to run thread. (potentially in a di...</div><div class="ttdef"><b>Definition:</b> tasking.h:51</div></div>
|
|
<div class="ttc" id="astructThread_html_acb2fe83a77f2e2eea943869b40e472b0"><div class="ttname"><a href="structThread.html#acb2fe83a77f2e2eea943869b40e472b0">Thread::errno</a></div><div class="ttdeci">int errno</div><div class="ttdoc">The errno value for this thread.</div><div class="ttdef"><b>Definition:</b> tasking.h:48</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a45f6d4112f15e33ba7a0e356f821d056"><div class="ttname"><a href="tasking_8h.html#a45f6d4112f15e33ba7a0e356f821d056">tasking_init</a></div><div class="ttdeci">void tasking_init()</div><div class="ttdef"><b>Definition:</b> tasking.c:143</div></div>
|
|
<div class="ttc" id="astructThread_html_ad587532fcef04437ad95e1cfea76ba2f"><div class="ttname"><a href="structThread.html#ad587532fcef04437ad95e1cfea76ba2f">Thread::kernel_esp_top</a></div><div class="ttdeci">void * kernel_esp_top</div><div class="ttdoc">The top of the thread's kernel stack.</div><div class="ttdef"><b>Definition:</b> tasking.h:44</div></div>
|
|
<div class="ttc" id="astructThread_html_a446b54c14f79942f79e2e78cf10b2f22"><div class="ttname"><a href="structThread.html#a446b54c14f79942f79e2e78cf10b2f22">Thread::prev_ready_to_run</a></div><div class="ttdeci">struct Thread * prev_ready_to_run</div><div class="ttdoc">If the thread is in the ready to run list, this is the previous ready to run thread....</div><div class="ttdef"><b>Definition:</b> tasking.h:52</div></div>
|
|
<div class="ttc" id="astructThread_html_a41198f851a921c04cce111e5d5f4cb0c"><div class="ttname"><a href="structThread.html#a41198f851a921c04cce111e5d5f4cb0c">Thread::address_space</a></div><div class="ttdeci">void * address_space</div><div class="ttdoc">The address space of this thread. (it is in here and not in the process to simplify the task switch a...</div><div class="ttdef"><b>Definition:</b> tasking.h:45</div></div>
|
|
<div class="ttc" id="atasking_8h_html_a4b1b32c1fc744438f665f0f1932dd207adc6a307a71277ce8d642b5b916e05042"><div class="ttname"><a href="tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207adc6a307a71277ce8d642b5b916e05042">THREAD_READY</a></div><div class="ttdeci">@ THREAD_READY</div><div class="ttdoc">The state of a ready to run thread.</div><div class="ttdef"><b>Definition:</b> tasking.h:18</div></div>
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_dc43877d82dd332f9fb2071fcca799d6.html">kernel</a></li><li class="navelem"><a class="el" href="tasking_8h.html">tasking.h</a></li>
|
|
<li class="footer">Generated by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|