2020-07-25 23:50:03 +00:00
<!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" / >
2020-08-23 13:52:37 +00:00
< meta name = "generator" content = "Doxygen 1.8.19" / >
2020-07-25 23:50:03 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > MyOS Kernel: kernel/tasking.h File Reference< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "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 -->
2020-08-23 13:52:37 +00:00
<!-- Generated by Doxygen 1.8.19 -->
2020-07-25 23:50:03 +00:00
< 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.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 = "summary" >
< a href = "#nested-classes" > Data Structures< / a > |
< a href = "#enum-members" > Enumerations< / a > |
< a href = "#func-members" > Functions< / a > |
< a href = "#var-members" > Variables< / a > < / div >
< div class = "headertitle" >
< div class = "title" > tasking.h File Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< div class = "textblock" > < code > #include < stdint.h> < / code > < br / >
< code > #include < sys/types.h> < / code > < br / >
2020-08-02 19:37:55 +00:00
< code > #include " < a class = "el" href = "rpc_8h_source.html" > rpc.h< / a > " < / code > < br / >
2020-07-25 23:50:03 +00:00
< / div >
< p > < a href = "tasking_8h_source.html" > Go to the source code of this file.< / a > < / p >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Data Structures< / h2 > < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structProcess.html" > Process< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structThread.html" > Thread< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "enum-members" > < / a >
Enumerations< / h2 > < / td > < / tr >
2020-08-02 19:37:55 +00:00
< tr class = "memitem:a4b1b32c1fc744438f665f0f1932dd207" > < td class = "memItemLeft" align = "right" valign = "top" > enum   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207" > thread_state< / a > { < br / >
    < a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207aa5639ff4eff3f959406116db9e020c44" > THREAD_RUNNING< / a > ,
2020-07-25 23:50:03 +00:00
< a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207adc6a307a71277ce8d642b5b916e05042" > THREAD_READY< / a > ,
< a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207ac9087b7375864c084808109e1e1af5bb" > THREAD_EXITED< / a > ,
2020-08-02 19:37:55 +00:00
< a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207a4aeda0a1e7e9882ce8b0310833fee46e" > THREAD_BLOCKED< / a > ,
< br / >
    < a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207acd01ee7d9777106ac78018c1a4c9d0c5" > THREAD_WAITING_FOR_RPC< / a > ,
< a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207aacdc779922a036c6e1bf65ddeea471b8" > THREAD_WAITING_FOR_RPC_INIT< / a >
< br / >
2020-07-25 23:50:03 +00:00
}< / td > < / tr >
< tr class = "separator:a4b1b32c1fc744438f665f0f1932dd207" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
2020-07-30 15:10:45 +00:00
< tr class = "memitem:ac90817d992a64d95d80e4505343ed13c" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#ac90817d992a64d95d80e4505343ed13c" > tasking_create_task< / a > (void *eip, void *address_space, char kmode, void *param1, void *param2, char isThread)< / td > < / tr >
< tr class = "separator:ac90817d992a64d95d80e4505343ed13c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-07-25 23:50:03 +00:00
< tr class = "memitem:a45f6d4112f15e33ba7a0e356f821d056" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a45f6d4112f15e33ba7a0e356f821d056" > tasking_init< / a > ()< / td > < / tr >
< tr class = "separator:a45f6d4112f15e33ba7a0e356f821d056" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a47f424f3474f4298f1d6b65eeee5d0f6" > < td class = "memItemLeft" align = "right" valign = "top" > char  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a47f424f3474f4298f1d6b65eeee5d0f6" > tasking_is_privleged< / a > ()< / td > < / tr >
< tr class = "separator:a47f424f3474f4298f1d6b65eeee5d0f6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9555a59dc2340ce36ae1a84c984b3af0" > < td class = "memItemLeft" align = "right" valign = "top" > pid_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a9555a59dc2340ce36ae1a84c984b3af0" > tasking_get_PID< / a > ()< / td > < / tr >
< tr class = "separator:a9555a59dc2340ce36ae1a84c984b3af0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-08-02 19:37:55 +00:00
< tr class = "memitem:a579bdf6585f7b466257320a1ad51429a" > < td class = "memItemLeft" align = "right" valign = "top" > pid_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a579bdf6585f7b466257320a1ad51429a" > tasking_get_TID< / a > ()< / td > < / tr >
< tr class = "separator:a579bdf6585f7b466257320a1ad51429a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-07-25 23:50:03 +00:00
< tr class = "memitem:a347fac6db01ff796e5dc6d1fc44c2eef" > < td class = "memItemLeft" align = "right" valign = "top" > int *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a347fac6db01ff796e5dc6d1fc44c2eef" > tasking_get_errno_address< / a > ()< / td > < / tr >
< tr class = "separator:a347fac6db01ff796e5dc6d1fc44c2eef" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-07-30 15:10:45 +00:00
< tr class = "memitem:a8a911d2c94f4a15da6dbbf9fdccdda7e" > < td class = "memItemLeft" align = "right" valign = "top" > pid_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a8a911d2c94f4a15da6dbbf9fdccdda7e" > tasking_new_thread< / a > (void *start, pid_t pid, void *param)< / td > < / tr >
< tr class = "separator:a8a911d2c94f4a15da6dbbf9fdccdda7e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-07-25 23:50:03 +00:00
< tr class = "memitem:acf62dd83316df4b63f4a93587c9b791e" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#acf62dd83316df4b63f4a93587c9b791e" > tasking_exit< / a > (int code)< / td > < / tr >
< tr class = "separator:acf62dd83316df4b63f4a93587c9b791e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a021c821360fc28b1a509b585f8d21769" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a021c821360fc28b1a509b585f8d21769" > tasking_block< / a > (< a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207" > thread_state< / a > newstate)< / td > < / tr >
< tr class = "separator:a021c821360fc28b1a509b585f8d21769" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8daf634972bbe78df522aade52c180bf" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a8daf634972bbe78df522aade52c180bf" > tasking_unblock< / a > (pid_t pid, pid_t tid)< / td > < / tr >
< tr class = "separator:a8daf634972bbe78df522aade52c180bf" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a78aa02f7e342d1a6f76fb2c692086f50" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a78aa02f7e342d1a6f76fb2c692086f50" > tasking_yield< / a > ()< / td > < / tr >
< tr class = "separator:a78aa02f7e342d1a6f76fb2c692086f50" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-08-01 17:10:21 +00:00
< tr class = "memitem:a85f3e86dc7ddee108196d0557e307f9a" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a85f3e86dc7ddee108196d0557e307f9a" > tasking_get_address_space< / a > (pid_t pid)< / td > < / tr >
< tr class = "separator:a85f3e86dc7ddee108196d0557e307f9a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-08-02 19:37:55 +00:00
< tr class = "memitem:ad04e43c483d045987f614582a4203082" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#ad04e43c483d045987f614582a4203082" > tasking_set_rpc_calling_thread< / a > (pid_t pid, pid_t tid)< / td > < / tr >
< tr class = "separator:ad04e43c483d045987f614582a4203082" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a25a4a19651c904d1611592f57d255c13" > < td class = "memItemLeft" align = "right" valign = "top" > pid_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a25a4a19651c904d1611592f57d255c13" > tasking_get_rpc_calling_thread< / a > (pid_t *tid)< / td > < / tr >
< tr class = "separator:a25a4a19651c904d1611592f57d255c13" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:adb458c9afaae981717f509dd3fe27123" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#adb458c9afaae981717f509dd3fe27123" > tasking_set_rpc_ret_buf< / a > (void *buf)< / td > < / tr >
< tr class = "separator:adb458c9afaae981717f509dd3fe27123" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a475df75594db94effc24fcbe1e726f3e" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#a475df75594db94effc24fcbe1e726f3e" > tasking_get_rpc_ret_buf< / a > ()< / td > < / tr >
< tr class = "separator:a475df75594db94effc24fcbe1e726f3e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad6ae5d8a6f880c32173f67ce8164f8f5" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#ad6ae5d8a6f880c32173f67ce8164f8f5" > tasking_thread_exit< / a > ()< / td > < / tr >
< tr class = "separator:ad6ae5d8a6f880c32173f67ce8164f8f5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:afc5aaab63d5bde8a7e35e57605ab4e1d" > < td class = "memItemLeft" align = "right" valign = "top" > char  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#afc5aaab63d5bde8a7e35e57605ab4e1d" > tasking_check_proc_exists< / a > (pid_t pid)< / td > < / tr >
< tr class = "separator:afc5aaab63d5bde8a7e35e57605ab4e1d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-07-25 23:50:03 +00:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "var-members" > < / a >
Variables< / h2 > < / td > < / tr >
< tr class = "memitem:aac59f73081d1aff0293b54c543b552ca" > < td class = "memItemLeft" align = "right" valign = "top" > < a id = "aac59f73081d1aff0293b54c543b552ca" > < / a >
< a class = "el" href = "structThread.html" > Thread< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "tasking_8h.html#aac59f73081d1aff0293b54c543b552ca" > current_thread< / a > < / td > < / tr >
< tr class = "memdesc:aac59f73081d1aff0293b54c543b552ca" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Currently running thread. < br / > < / td > < / tr >
< tr class = "separator:aac59f73081d1aff0293b54c543b552ca" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table >
< h2 class = "groupheader" > Enumeration Type Documentation< / h2 >
< a id = "a4b1b32c1fc744438f665f0f1932dd207" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a4b1b32c1fc744438f665f0f1932dd207" > ◆ < / a > < / span > thread_state< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > enum < a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207" > thread_state< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Represents the state of a thread < / p >
< table class = "fieldtable" >
< tr > < th colspan = "2" > Enumerator< / th > < / tr > < tr > < td class = "fieldname" > < a id = "a4b1b32c1fc744438f665f0f1932dd207aa5639ff4eff3f959406116db9e020c44" > < / a > THREAD_RUNNING  < / td > < td class = "fielddoc" > < p > The state of a running thread. < / p >
< / td > < / tr >
< tr > < td class = "fieldname" > < a id = "a4b1b32c1fc744438f665f0f1932dd207adc6a307a71277ce8d642b5b916e05042" > < / a > THREAD_READY  < / td > < td class = "fielddoc" > < p > The state of a ready to run thread. < / p >
< / td > < / tr >
< tr > < td class = "fieldname" > < a id = "a4b1b32c1fc744438f665f0f1932dd207ac9087b7375864c084808109e1e1af5bb" > < / a > THREAD_EXITED  < / td > < td class = "fielddoc" > < p > The state of an exited thread. < / p >
< / td > < / tr >
< tr > < td class = "fieldname" > < a id = "a4b1b32c1fc744438f665f0f1932dd207a4aeda0a1e7e9882ce8b0310833fee46e" > < / a > THREAD_BLOCKED  < / td > < td class = "fielddoc" > < p > The state of a generically blocked thread. < / p >
< / td > < / tr >
2020-08-02 19:37:55 +00:00
< tr > < td class = "fieldname" > < a id = "a4b1b32c1fc744438f665f0f1932dd207acd01ee7d9777106ac78018c1a4c9d0c5" > < / a > THREAD_WAITING_FOR_RPC  < / td > < td class = "fielddoc" > < p > The state of a thread waiting for an RPC call to return. < / p >
< / td > < / tr >
< tr > < td class = "fieldname" > < a id = "a4b1b32c1fc744438f665f0f1932dd207aacdc779922a036c6e1bf65ddeea471b8" > < / a > THREAD_WAITING_FOR_RPC_INIT  < / td > < td class = "fielddoc" > < p > The state of a thread waiting for a process to fully initilaize it's RPC functions. < / p >
< / td > < / tr >
2020-07-25 23:50:03 +00:00
< / table >
< / div >
< / div >
< h2 class = "groupheader" > Function Documentation< / h2 >
< a id = "a021c821360fc28b1a509b585f8d21769" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a021c821360fc28b1a509b585f8d21769" > ◆ < / a > < / span > tasking_block()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_block < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "tasking_8h.html#a4b1b32c1fc744438f665f0f1932dd207" > thread_state< / a >   < / td >
< td class = "paramname" > < em > newstate< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Block the current thread & yield < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > newstate< / td > < td > The state to block it in < / td > < / tr >
< / table >
< / dd >
< / dl >
2020-08-02 19:37:55 +00:00
< / div >
< / div >
< a id = "afc5aaab63d5bde8a7e35e57605ab4e1d" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#afc5aaab63d5bde8a7e35e57605ab4e1d" > ◆ < / a > < / span > tasking_check_proc_exists()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > char tasking_check_proc_exists < / td >
< td > (< / td >
< td class = "paramtype" > pid_t  < / td >
< td class = "paramname" > < em > pid< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Check if a process exists < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > pid< / td > < td > The param of the process to check < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > Whether the process exists < / dd > < / dl >
2020-07-25 23:50:03 +00:00
< / div >
< / div >
2020-07-30 15:10:45 +00:00
< a id = "ac90817d992a64d95d80e4505343ed13c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac90817d992a64d95d80e4505343ed13c" > ◆ < / a > < / span > tasking_create_task()< / h2 >
2020-07-25 23:50:03 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_create_task < / td >
< td > (< / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > eip< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
2020-07-29 13:11:44 +00:00
< td class = "paramname" > < em > address_space< / em > , < / td >
2020-07-25 23:50:03 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > char  < / td >
< td class = "paramname" > < em > kmode< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
2020-07-30 15:10:45 +00:00
< td class = "paramname" > < em > param1< / em > , < / td >
2020-07-25 23:50:03 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
2020-07-30 15:10:45 +00:00
< td class = "paramname" > < em > param2< / em > , < / td >
2020-07-25 23:50:03 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > char  < / td >
< td class = "paramname" > < em > isThread< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Create a task < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > eip< / td > < td > The start address of the task < / td > < / tr >
2020-07-29 13:11:44 +00:00
< tr > < td class = "paramname" > address_space< / td > < td > The address space of the task < / td > < / tr >
2020-07-25 23:50:03 +00:00
< tr > < td class = "paramname" > kmode< / td > < td > Whether the task is a kernel mode task < / td > < / tr >
2020-07-30 15:10:45 +00:00
< tr > < td class = "paramname" > param1< / td > < td > The thread's start function first parameter < / td > < / tr >
< tr > < td class = "paramname" > param2< / td > < td > The thread's start function second parameter < / td > < / tr >
< tr > < td class = "paramname" > isThread< / td > < td > Whether we are creating a new process or a thread in a process. If we are creating a theead, param2_arg becomes the PID for the newly created thread. < / td > < / tr >
2020-07-25 23:50:03 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a id = "acf62dd83316df4b63f4a93587c9b791e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#acf62dd83316df4b63f4a93587c9b791e" > ◆ < / a > < / span > tasking_exit()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_exit < / td >
< td > (< / td >
< td class = "paramtype" > int  < / td >
< td class = "paramname" > < em > code< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Terminate the current thread If the main thread terminates, the whole process terminates. < / p > < dl class = "section note" > < dt > Note< / dt > < dd > Currently, calling tasking_exit from any thread terminates the whole process. < / dd > < / dl >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > code< / td > < td > The exit code of the thread < / td > < / tr >
< / table >
< / dd >
< / dl >
2020-08-01 17:10:21 +00:00
< / div >
< / div >
< a id = "a85f3e86dc7ddee108196d0557e307f9a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a85f3e86dc7ddee108196d0557e307f9a" > ◆ < / a > < / span > tasking_get_address_space()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* tasking_get_address_space < / td >
< td > (< / td >
< td class = "paramtype" > pid_t  < / td >
< td class = "paramname" > < em > pid< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Get the address_space of a process < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > pid< / td > < td > the PID of the process < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > the address_space of the process < / dd > < / dl >
2020-07-25 23:50:03 +00:00
< / div >
< / div >
< a id = "a347fac6db01ff796e5dc6d1fc44c2eef" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a347fac6db01ff796e5dc6d1fc44c2eef" > ◆ < / a > < / span > tasking_get_errno_address()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > int* tasking_get_errno_address < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Get the adddress of errno for the current thread < / p > < dl class = "section return" > < dt > Returns< / dt > < dd > The address of errno < / dd > < / dl >
< / div >
< / div >
< a id = "a9555a59dc2340ce36ae1a84c984b3af0" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a9555a59dc2340ce36ae1a84c984b3af0" > ◆ < / a > < / span > tasking_get_PID()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > pid_t tasking_get_PID < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Get the PID of the current thread. < / p > < dl class = "section return" > < dt > Returns< / dt > < dd > The current thread's PID < / dd > < / dl >
2020-08-02 19:37:55 +00:00
< / div >
< / div >
< a id = "a25a4a19651c904d1611592f57d255c13" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a25a4a19651c904d1611592f57d255c13" > ◆ < / a > < / span > tasking_get_rpc_calling_thread()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > pid_t tasking_get_rpc_calling_thread < / td >
< td > (< / td >
< td class = "paramtype" > pid_t *  < / td >
< td class = "paramname" > < em > tid< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Get the RPC calling thread for the current thread < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > tid< / td > < td > A pointer to a pid_t to store the return TID < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > the return PID < / dd > < / dl >
< dl class = "section note" > < dt > Note< / dt > < dd > This is only applicable for an RPC handler thread < / dd > < / dl >
< / div >
< / div >
< a id = "a475df75594db94effc24fcbe1e726f3e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a475df75594db94effc24fcbe1e726f3e" > ◆ < / a > < / span > tasking_get_rpc_ret_buf()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void* tasking_get_rpc_ret_buf < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Get the RPC return buffer for the current thread < / p > < dl class = "section return" > < dt > Returns< / dt > < dd > the return buffer < / dd > < / dl >
< / div >
< / div >
< a id = "a579bdf6585f7b466257320a1ad51429a" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a579bdf6585f7b466257320a1ad51429a" > ◆ < / a > < / span > tasking_get_TID()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > pid_t tasking_get_TID < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Get the TID of the current thread. < / p > < dl class = "section return" > < dt > Returns< / dt > < dd > The current thread's TID < / dd > < / dl >
2020-07-25 23:50:03 +00:00
< / div >
< / div >
< a id = "a45f6d4112f15e33ba7a0e356f821d056" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a45f6d4112f15e33ba7a0e356f821d056" > ◆ < / a > < / span > tasking_init()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_init < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Initialize tasking < / p >
< / div >
< / div >
< a id = "a47f424f3474f4298f1d6b65eeee5d0f6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a47f424f3474f4298f1d6b65eeee5d0f6" > ◆ < / a > < / span > tasking_is_privleged()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > char tasking_is_privleged < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Check whether the current process is privleged < / p > < dl class = "section return" > < dt > Returns< / dt > < dd > whether the current process is privleged < / dd > < / dl >
< / div >
< / div >
2020-07-30 15:10:45 +00:00
< a id = "a8a911d2c94f4a15da6dbbf9fdccdda7e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a8a911d2c94f4a15da6dbbf9fdccdda7e" > ◆ < / a > < / span > tasking_new_thread()< / h2 >
2020-07-25 23:50:03 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > pid_t tasking_new_thread < / td >
< td > (< / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > start< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > pid_t  < / td >
< td class = "paramname" > < em > pid< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void *  < / td >
2020-07-30 15:10:45 +00:00
< td class = "paramname" > < em > param< / em >   < / td >
2020-07-25 23:50:03 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Create a new thread < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > start< / td > < td > The start address of the task < / td > < / tr >
< tr > < td class = "paramname" > pid< / td > < td > The PID that gets the new thread < / td > < / tr >
2020-07-30 15:10:45 +00:00
< tr > < td class = "paramname" > param< / td > < td > The thread's start function parameter < / td > < / tr >
2020-07-25 23:50:03 +00:00
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > the TID of the thread < / dd > < / dl >
2020-08-02 19:37:55 +00:00
< / div >
< / div >
< a id = "ad04e43c483d045987f614582a4203082" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad04e43c483d045987f614582a4203082" > ◆ < / a > < / span > tasking_set_rpc_calling_thread()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_set_rpc_calling_thread < / td >
< td > (< / td >
< td class = "paramtype" > pid_t  < / td >
< td class = "paramname" > < em > pid< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > pid_t  < / td >
< td class = "paramname" > < em > tid< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Set the RPC calling thread for an RPC handler thread to the current threasd < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > pid< / td > < td > The PID of the handler thread < / td > < / tr >
< tr > < td class = "paramname" > tid< / td > < td > The TID of the handler thread < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a id = "adb458c9afaae981717f509dd3fe27123" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#adb458c9afaae981717f509dd3fe27123" > ◆ < / a > < / span > tasking_set_rpc_ret_buf()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_set_rpc_ret_buf < / td >
< td > (< / td >
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > buf< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Set the RPC return buffer for the calling thread < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > buf< / td > < td > The return buffer < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a id = "ad6ae5d8a6f880c32173f67ce8164f8f5" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad6ae5d8a6f880c32173f67ce8164f8f5" > ◆ < / a > < / span > tasking_thread_exit()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_thread_exit < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Terminate the current thread < / p >
2020-07-25 23:50:03 +00:00
< / div >
< / div >
< a id = "a8daf634972bbe78df522aade52c180bf" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a8daf634972bbe78df522aade52c180bf" > ◆ < / a > < / span > tasking_unblock()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_unblock < / td >
< td > (< / td >
< td class = "paramtype" > pid_t  < / td >
< td class = "paramname" > < em > pid< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > pid_t  < / td >
< td class = "paramname" > < em > tid< / em >   < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Unblock a thread < / p > < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > pid< / td > < td > The PID that contains the thread to unblock < / td > < / tr >
< tr > < td class = "paramname" > tid< / td > < td > The TID in the process to unblock. < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a id = "a78aa02f7e342d1a6f76fb2c692086f50" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a78aa02f7e342d1a6f76fb2c692086f50" > ◆ < / a > < / span > tasking_yield()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > void tasking_yield < / td >
< td > (< / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Yield to the next ready thread in any process < / p >
< / div >
< / div >
< / div > <!-- contents -->
< / div > <!-- doc - content -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "navelem" > < a class = "el" href = "dir_dc43877d82dd332f9fb2071fcca799d6.html" > kernel< / a > < / li > < li class = "navelem" > < a class = "el" href = "tasking_8h.html" > tasking.h< / a > < / li >
2020-08-23 13:52:37 +00:00
< li class = "footer" > Generated by < a href = "http://www.doxygen.org/index.html" > < img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" / > < / a > 1.8.19 < / li >
2020-07-25 23:50:03 +00:00
< / ul >
< / div >
< / body >
< / html >