2023-01-26 02:53:53 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.8.5" / >
2024-04-12 13:21:49 +00:00
< title > MCUXpresso SDK API Reference Manual: OSA_Adapter: Operatin System Abstraction Adapter< / title >
2023-01-26 02:53:53 +00:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "resize.js" > < / script >
< script type = "text/javascript" src = "navtree.js" > < / script >
< script type = "text/javascript" >
$(document).ready(initResizable);
$(window).load(resizeHeight);
< / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/javascript" >
$(document).ready(function() { searchBox.OnSelectItem(0); });
< / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< link href = "customdoxygen.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 = "projectlogo" > < img alt = "Logo" src = "fs_logo.gif" / > < / td >
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > MCUXpresso SDK API Reference Manual
2024-04-12 13:21:49 +00:00
  < span id = "projectnumber" > Rev 2.15.000< / span >
2023-01-26 02:53:53 +00:00
< / div >
< div id = "projectbrief" > NXP Semiconductors< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "search",false,'Search');
< / script >
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "pages.html" > < span > Related  Pages< / span > < / a > < / li >
< li > < a href = "modules.html" > < span > API  Reference< / span > < / a > < / li >
< li >
< div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
< img id = "MSearchSelect" src = "search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.png" alt = "" / > < / a >
< / span >
< / div >
< / li >
< / ul >
< / div >
< / div > <!-- 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" >
$(document).ready(function(){initNavTree('a00070.html','');});
< / 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)">
< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(0)" > < span class = "SelectionMark" >   < / span > All< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(1)" > < span class = "SelectionMark" >   < / span > Data Structures< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(2)" > < span class = "SelectionMark" >   < / span > Functions< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(3)" > < span class = "SelectionMark" >   < / span > Variables< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(4)" > < span class = "SelectionMark" >   < / span > Typedefs< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(5)" > < span class = "SelectionMark" >   < / span > Enumerations< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(6)" > < span class = "SelectionMark" >   < / span > Enumerator< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(7)" > < span class = "SelectionMark" >   < / span > Groups< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(8)" > < span class = "SelectionMark" >   < / span > Pages< / a > < / 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" >
2024-04-12 13:21:49 +00:00
< a href = "#groups" > Modules< / a > |
2023-01-26 02:53:53 +00:00
< a href = "#nested-classes" > Data Structures< / a > |
< a href = "#define-members" > Macros< / a > |
2024-04-12 13:21:49 +00:00
< a href = "#typedef-members" > Typedefs< / a > |
2023-01-26 02:53:53 +00:00
< a href = "#enum-members" > Enumerations< / a > |
< a href = "#func-members" > Functions< / a > < / div >
< div class = "headertitle" >
2024-04-12 13:21:49 +00:00
< div class = "title" > OSA_Adapter: Operatin System Abstraction Adapter< / div > < / div >
2023-01-26 02:53:53 +00:00
< / div > <!-- header -->
< div class = "contents" >
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Overview< / h2 >
< table class = "memberdecls" >
2024-04-12 13:21:49 +00:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "groups" > < / a >
Modules< / h2 > < / td > < / tr >
< tr class = "memitem:a00288" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00288.html" > OSA BM< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a00289" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00289.html" > OSA FreeRTOS< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
2023-01-26 02:53:53 +00:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Data Structures< / h2 > < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:a00457" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a00457" > osa_task_def_tag< / a > < / td > < / tr >
< tr class = "memdesc:a00457" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Thread Definition structure contains startup information of a thread. < a href = "a00070.html#a00457" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a00457" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a00458" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a00458" > osa_thread_link_tag< / a > < / td > < / tr >
< tr class = "memdesc:a00458" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Thread Link Definition structure . < a href = "a00070.html#a00458" > More...< / a > < br / > < / td > < / tr >
2023-01-26 02:53:53 +00:00
< tr class = "separator:a00458" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:a00459" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a00459" > osa_time_def_tag< / a > < / td > < / tr >
< tr class = "memdesc:a00459" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Definition structure contains timer parameters. < a href = "a00070.html#a00459" > More...< / a > < br / > < / td > < / tr >
2023-01-26 02:53:53 +00:00
< tr class = "separator:a00459" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "define-members" > < / a >
Macros< / h2 > < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:ga867065c8e88dbdbef0f300f2117e194b" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga867065c8e88dbdbef0f300f2117e194b" > OSA_PRIORITY_IDLE< / a >       (6U)< / td > < / tr >
< tr class = "memdesc:ga867065c8e88dbdbef0f300f2117e194b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Priority setting for OSA. < a href = "#ga867065c8e88dbdbef0f300f2117e194b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga867065c8e88dbdbef0f300f2117e194b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga7cec4a84004bc6c3d110f280d0d95cee" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga7cec4a84004bc6c3d110f280d0d95cee" > osaWaitNone_c< / a >       ((uint32_t)(0))< / td > < / tr >
< tr class = "memdesc:ga7cec4a84004bc6c3d110f280d0d95cee" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Constant to pass as timeout value in order to wait indefinitely. < a href = "#ga7cec4a84004bc6c3d110f280d0d95cee" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga7cec4a84004bc6c3d110f280d0d95cee" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaa5c9288e29c44b484ad2fd9a202ad83b" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" > OSA_SEMAPHORE_HANDLE_DEFINE< / a > (name)      uint32_t name[(< a class = "el" href = "a00294.html#gad3acdbbf97a3cfc8ca5f1693b76b7b08" > OSA_SEM_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td > < / tr >
< tr class = "memdesc:gaa5c9288e29c44b484ad2fd9a202ad83b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the semaphore handle. < a href = "#gaa5c9288e29c44b484ad2fd9a202ad83b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gaa5c9288e29c44b484ad2fd9a202ad83b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga531290d8fe30f775ac60ed51a518f830" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga531290d8fe30f775ac60ed51a518f830" > OSA_MUTEX_HANDLE_DEFINE< / a > (name)      uint32_t name[(< a class = "el" href = "a00294.html#gae182c9d7eb2e70d7a329bef4d7b078ce" > OSA_MUTEX_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td > < / tr >
< tr class = "memdesc:ga531290d8fe30f775ac60ed51a518f830" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the mutex handle. < a href = "#ga531290d8fe30f775ac60ed51a518f830" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga531290d8fe30f775ac60ed51a518f830" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga015211790e7199dbc5c1b644258c9fec" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga015211790e7199dbc5c1b644258c9fec" > OSA_EVENT_HANDLE_DEFINE< / a > (name)      uint32_t name[(< a class = "el" href = "a00294.html#ga4bdb0a2333c1340dd4935603fac49410" > OSA_EVENT_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td > < / tr >
< tr class = "memdesc:ga015211790e7199dbc5c1b644258c9fec" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the event handle. < a href = "#ga015211790e7199dbc5c1b644258c9fec" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga015211790e7199dbc5c1b644258c9fec" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gae72445c7e27eef2fcba730598f1a2c70" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gae72445c7e27eef2fcba730598f1a2c70" > OSA_MSGQ_HANDLE_DEFINE< / a > (name, numberOfMsgs, msgSize)      uint32_t name[((< a class = "el" href = "a00294.html#ga74037fb2a46e4d4d9688de76087c2f38" > OSA_MSGQ_HANDLE_SIZE< / a > + numberOfMsgs * msgSize) + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td > < / tr >
< tr class = "memdesc:gae72445c7e27eef2fcba730598f1a2c70" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the message queue handle. < a href = "#gae72445c7e27eef2fcba730598f1a2c70" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gae72445c7e27eef2fcba730598f1a2c70" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaa2ff8ffb5ce5533212f7ed2b4bb2e3fd" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaa2ff8ffb5ce5533212f7ed2b4bb2e3fd" > OSA_TIMER_HANDLE_DEFINE< / a > (name)      uint32_t name[(< a class = "el" href = "a00294.html#gaf782a5bdda47beea47a55cc72cdebff4" > OSA_TIMER_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td > < / tr >
< tr class = "memdesc:gaa2ff8ffb5ce5533212f7ed2b4bb2e3fd" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the timer handle. < a href = "#gaa2ff8ffb5ce5533212f7ed2b4bb2e3fd" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gaa2ff8ffb5ce5533212f7ed2b4bb2e3fd" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga43087dda9f523fa72c8988d9dad35b4b" > < td class = "memItemLeft" align = "right" valign = "top" > #define  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga43087dda9f523fa72c8988d9dad35b4b" > OSA_TASK_HANDLE_DEFINE< / a > (name)      uint32_t name[(< a class = "el" href = "a00294.html#gad93fc627fa71d0ae31fc42da169b2bb8" > OSA_TASK_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td > < / tr >
< tr class = "memdesc:ga43087dda9f523fa72c8988d9dad35b4b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the TASK handle. < a href = "#ga43087dda9f523fa72c8988d9dad35b4b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga43087dda9f523fa72c8988d9dad35b4b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "typedef-members" > < / a >
Typedefs< / h2 > < / td > < / tr >
< tr class = "memitem:ga9073847cf3f5fa77633bad8284a6255c" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga9073847cf3f5fa77633bad8284a6255c" > < / a >
typedef uint16_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga9073847cf3f5fa77633bad8284a6255c" > osa_task_priority_t< / a > < / td > < / tr >
< tr class = "memdesc:ga9073847cf3f5fa77633bad8284a6255c" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the Task Priority. < br / > < / td > < / tr >
< tr class = "separator:ga9073847cf3f5fa77633bad8284a6255c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaff220797f9205a2563e90247af14b5d0" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "gaff220797f9205a2563e90247af14b5d0" > < / a >
typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaff220797f9205a2563e90247af14b5d0" > osa_task_handle_t< / a > < / td > < / tr >
< tr class = "memdesc:gaff220797f9205a2563e90247af14b5d0" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for a task handler. < br / > < / td > < / tr >
< tr class = "separator:gaff220797f9205a2563e90247af14b5d0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gacf27b88806f35c8682851354a9360310" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "gacf27b88806f35c8682851354a9360310" > < / a >
typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gacf27b88806f35c8682851354a9360310" > osa_task_param_t< / a > < / td > < / tr >
< tr class = "memdesc:gacf27b88806f35c8682851354a9360310" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the parameter to be passed to the task at its creation. < br / > < / td > < / tr >
< tr class = "separator:gacf27b88806f35c8682851354a9360310" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > < td class = "memItemLeft" align = "right" valign = "top" > typedef void(*  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a > )(< a class = "el" href = "a00070.html#gacf27b88806f35c8682851354a9360310" > osa_task_param_t< / a > task_param)< / td > < / tr >
< tr class = "memdesc:ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for task pointer. < a href = "#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga3f5010db706a11ffd2b2c1701f7c2c0e" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga3f5010db706a11ffd2b2c1701f7c2c0e" > < / a >
typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > < / td > < / tr >
< tr class = "memdesc:ga3f5010db706a11ffd2b2c1701f7c2c0e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the semaphore handler. < br / > < / td > < / tr >
< tr class = "separator:ga3f5010db706a11ffd2b2c1701f7c2c0e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga2f32f00a98f059a0de5dce110c4c55a6" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga2f32f00a98f059a0de5dce110c4c55a6" > < / a >
typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a > < / td > < / tr >
< tr class = "memdesc:ga2f32f00a98f059a0de5dce110c4c55a6" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the mutex handler. < br / > < / td > < / tr >
< tr class = "separator:ga2f32f00a98f059a0de5dce110c4c55a6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga800f6346ade64a29d6b9a8dcec87fa70" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga800f6346ade64a29d6b9a8dcec87fa70" > < / a >
typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > < / td > < / tr >
< tr class = "memdesc:ga800f6346ade64a29d6b9a8dcec87fa70" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the event handler. < br / > < / td > < / tr >
< tr class = "separator:ga800f6346ade64a29d6b9a8dcec87fa70" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga282940489533ac4bf9b98bb7bc3dadd1" > < td class = "memItemLeft" align = "right" valign = "top" > typedef uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > < / td > < / tr >
< tr class = "memdesc:ga282940489533ac4bf9b98bb7bc3dadd1" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for an event flags group, bit 32 is reserved. < a href = "#ga282940489533ac4bf9b98bb7bc3dadd1" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga282940489533ac4bf9b98bb7bc3dadd1" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga4476723e61d25fbdc15580e7550a7d7e" > < td class = "memItemLeft" align = "right" valign = "top" > typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga4476723e61d25fbdc15580e7550a7d7e" > osa_msg_handle_t< / a > < / td > < / tr >
< tr class = "memdesc:ga4476723e61d25fbdc15580e7550a7d7e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Message definition. < a href = "#ga4476723e61d25fbdc15580e7550a7d7e" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga4476723e61d25fbdc15580e7550a7d7e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga85cf3c01d07c577a5f3e23e0a40a2b64" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga85cf3c01d07c577a5f3e23e0a40a2b64" > < / a >
typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a > < / td > < / tr >
< tr class = "memdesc:ga85cf3c01d07c577a5f3e23e0a40a2b64" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the message queue handler. < br / > < / td > < / tr >
< tr class = "separator:ga85cf3c01d07c577a5f3e23e0a40a2b64" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaed2e72cb6b91506095526418b36c8dbe" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "gaed2e72cb6b91506095526418b36c8dbe" > < / a >
typedef void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaed2e72cb6b91506095526418b36c8dbe" > osa_timer_handle_t< / a > < / td > < / tr >
< tr class = "memdesc:gaed2e72cb6b91506095526418b36c8dbe" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the Timer handler. < br / > < / td > < / tr >
< tr class = "separator:gaed2e72cb6b91506095526418b36c8dbe" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga9931a8d0f995122c66bd5ed226617231" > < td class = "memItemLeft" align = "right" valign = "top" > typedef void(*  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga9931a8d0f995122c66bd5ed226617231" > osa_timer_fct_ptr_t< / a > )(void const *argument)< / td > < / tr >
< tr class = "memdesc:ga9931a8d0f995122c66bd5ed226617231" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the Timer callback function pointer. < a href = "#ga9931a8d0f995122c66bd5ed226617231" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga9931a8d0f995122c66bd5ed226617231" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct < a class = "el" href = "a00070.html#a00457" > osa_task_def_tag< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > osa_task_def_t< / a > < / td > < / tr >
< tr class = "memdesc:ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Thread Definition structure contains startup information of a thread. < a href = "#ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga41a9403a9204bcc299d9733a627542a0" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct < a class = "el" href = "a00070.html#a00458" > osa_thread_link_tag< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga41a9403a9204bcc299d9733a627542a0" > osa_thread_link_t< / a > < / td > < / tr >
< tr class = "memdesc:ga41a9403a9204bcc299d9733a627542a0" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Thread Link Definition structure . < a href = "#ga41a9403a9204bcc299d9733a627542a0" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga41a9403a9204bcc299d9733a627542a0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga620791f096d7a42cb81d7cfe9c450c93" > < td class = "memItemLeft" align = "right" valign = "top" > typedef struct < a class = "el" href = "a00070.html#a00459" > osa_time_def_tag< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga620791f096d7a42cb81d7cfe9c450c93" > osa_time_def_t< / a > < / td > < / tr >
< tr class = "memdesc:ga620791f096d7a42cb81d7cfe9c450c93" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Definition structure contains timer parameters. < a href = "#ga620791f096d7a42cb81d7cfe9c450c93" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga620791f096d7a42cb81d7cfe9c450c93" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga497e2e3d067fb7c0794bd659a9cd17ef" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga497e2e3d067fb7c0794bd659a9cd17ef" > < / a >
typedef enum < a class = "el" href = "a00070.html#ga4fe3d228ba6412aa14d3d778d5a836eb" > _osa_timer< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga497e2e3d067fb7c0794bd659a9cd17ef" > osa_timer_t< / a > < / td > < / tr >
< tr class = "memdesc:ga497e2e3d067fb7c0794bd659a9cd17ef" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the timer definition. < br / > < / td > < / tr >
< tr class = "separator:ga497e2e3d067fb7c0794bd659a9cd17ef" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga60bf015c712d1c58e008dc489c37e101" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga60bf015c712d1c58e008dc489c37e101" > < / a >
typedef enum < a class = "el" href = "a00070.html#gacd616eaf24cdb0240bd0d2ace06a1f05" > _osa_status< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > < / td > < / tr >
< tr class = "memdesc:ga60bf015c712d1c58e008dc489c37e101" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the return status of OSA's functions. < br / > < / td > < / tr >
< tr class = "separator:ga60bf015c712d1c58e008dc489c37e101" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "enum-members" > < / a >
Enumerations< / h2 > < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:ga4fe3d228ba6412aa14d3d778d5a836eb" > < td class = "memItemLeft" align = "right" valign = "top" > enum   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga4fe3d228ba6412aa14d3d778d5a836eb" > _osa_timer< / a > { < br / >
    < a class = "el" href = "a00070.html#gga4fe3d228ba6412aa14d3d778d5a836ebaa71e8982a1f5766c947bf8687c9a7aa6" > KOSA_TimerOnce< / a > = 0,
2023-01-26 02:53:53 +00:00
< br / >
2024-04-12 13:21:49 +00:00
    < a class = "el" href = "a00070.html#gga4fe3d228ba6412aa14d3d778d5a836eba03986ae7440b4ab4bc55841b0addd550" > KOSA_TimerPeriodic< / a > = 1
2023-01-26 02:53:53 +00:00
< br / >
}< / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memdesc:ga4fe3d228ba6412aa14d3d778d5a836eb" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Type for the timer definition. < a href = "a00070.html#ga4fe3d228ba6412aa14d3d778d5a836eb" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga4fe3d228ba6412aa14d3d778d5a836eb" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gacd616eaf24cdb0240bd0d2ace06a1f05" > < td class = "memItemLeft" align = "right" valign = "top" > enum   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gacd616eaf24cdb0240bd0d2ace06a1f05" > _osa_status< / a > { < br / >
    < a class = "el" href = "a00070.html#ggacd616eaf24cdb0240bd0d2ace06a1f05a08c1fb394e824862ca4acfaa8923247e" > KOSA_StatusSuccess< / a > = kStatus_Success,
2023-01-26 02:53:53 +00:00
< br / >
2024-04-12 13:21:49 +00:00
    < a class = "el" href = "a00070.html#ggacd616eaf24cdb0240bd0d2ace06a1f05aa7da37791fcec9058f73d9b7d423baea" > KOSA_StatusError< / a > = MAKE_STATUS(kStatusGroup_OSA, 1),
2023-01-26 02:53:53 +00:00
< br / >
2024-04-12 13:21:49 +00:00
    < a class = "el" href = "a00070.html#ggacd616eaf24cdb0240bd0d2ace06a1f05a4ebd8b2aaf2d24a83712ec36bfeeceda" > KOSA_StatusTimeout< / a > = MAKE_STATUS(kStatusGroup_OSA, 2),
2023-01-26 02:53:53 +00:00
< br / >
2024-04-12 13:21:49 +00:00
    < a class = "el" href = "a00070.html#ggacd616eaf24cdb0240bd0d2ace06a1f05a4ef349b1d5b1898deb64224800666d41" > KOSA_StatusIdle< / a > = MAKE_STATUS(kStatusGroup_OSA, 3)
2023-01-26 02:53:53 +00:00
< br / >
}< / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memdesc:gacd616eaf24cdb0240bd0d2ace06a1f05" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Defines the return status of OSA's functions. < a href = "a00070.html#gacd616eaf24cdb0240bd0d2ace06a1f05" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gacd616eaf24cdb0240bd0d2ace06a1f05" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:gac54affd429ec3df9826fd4289675f8fd" > < td class = "memItemLeft" align = "right" valign = "top" > void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gac54affd429ec3df9826fd4289675f8fd" > OSA_MemoryAllocate< / a > (uint32_t memLength)< / td > < / tr >
< tr class = "memdesc:gac54affd429ec3df9826fd4289675f8fd" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Reserves the requested amount of memory in bytes. < a href = "#gac54affd429ec3df9826fd4289675f8fd" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gac54affd429ec3df9826fd4289675f8fd" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga23a030af2ed423c151e850ef90944c69" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga23a030af2ed423c151e850ef90944c69" > OSA_MemoryFree< / a > (void *p)< / td > < / tr >
< tr class = "memdesc:ga23a030af2ed423c151e850ef90944c69" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Frees the memory previously reserved. < a href = "#ga23a030af2ed423c151e850ef90944c69" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga23a030af2ed423c151e850ef90944c69" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga48d6e1a6421b55e5aca1565adf072fb9" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga48d6e1a6421b55e5aca1565adf072fb9" > OSA_EnterCritical< / a > (uint32_t *sr)< / td > < / tr >
< tr class = "memdesc:ga48d6e1a6421b55e5aca1565adf072fb9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Enter critical with nesting mode. < a href = "#ga48d6e1a6421b55e5aca1565adf072fb9" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga48d6e1a6421b55e5aca1565adf072fb9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga9bfe45991e386e628ae70a4ac0f61dd3" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga9bfe45991e386e628ae70a4ac0f61dd3" > OSA_ExitCritical< / a > (uint32_t sr)< / td > < / tr >
< tr class = "memdesc:ga9bfe45991e386e628ae70a4ac0f61dd3" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Exit critical with nesting mode. < a href = "#ga9bfe45991e386e628ae70a4ac0f61dd3" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga9bfe45991e386e628ae70a4ac0f61dd3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "member-group" > < / a >
2024-04-12 13:21:49 +00:00
Task management< / h2 > < / td > < / tr >
< tr class = "memitem:ga71c2ee403d32bc0d2df721d04f553a56" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga71c2ee403d32bc0d2df721d04f553a56" > OSA_SemaphorePrecreate< / a > (< a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > semaphoreHandle, < a class = "el" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a > taskHandler)< / td > < / tr >
< tr class = "memdesc:ga71c2ee403d32bc0d2df721d04f553a56" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Initialize OSA. < a href = "#ga71c2ee403d32bc0d2df721d04f553a56" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga71c2ee403d32bc0d2df721d04f553a56" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga520fc6e953974270f40b6df7b774565b" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga520fc6e953974270f40b6df7b774565b" > OSA_SemaphoreCreate< / a > (< a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > semaphoreHandle, uint32_t initValue)< / td > < / tr >
< tr class = "memdesc:ga520fc6e953974270f40b6df7b774565b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Creates a semaphore with a given value. < a href = "#ga520fc6e953974270f40b6df7b774565b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga520fc6e953974270f40b6df7b774565b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gac1cd818c51983961b881a56693e982b0" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gac1cd818c51983961b881a56693e982b0" > OSA_SemaphoreCreateBinary< / a > (< a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > semaphoreHandle)< / td > < / tr >
< tr class = "memdesc:gac1cd818c51983961b881a56693e982b0" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Creates a binary semaphore. < a href = "#gac1cd818c51983961b881a56693e982b0" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gac1cd818c51983961b881a56693e982b0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga7fd5c6b44421ba9cbe2157c2a279f1fb" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga7fd5c6b44421ba9cbe2157c2a279f1fb" > OSA_SemaphoreDestroy< / a > (< a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > semaphoreHandle)< / td > < / tr >
< tr class = "memdesc:ga7fd5c6b44421ba9cbe2157c2a279f1fb" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Destroys a previously created semaphore. < a href = "#ga7fd5c6b44421ba9cbe2157c2a279f1fb" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga7fd5c6b44421ba9cbe2157c2a279f1fb" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaf2db64a154b1b13f290c6bfce4d18368" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaf2db64a154b1b13f290c6bfce4d18368" > OSA_SemaphoreWait< / a > (< a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > semaphoreHandle, uint32_t millisec)< / td > < / tr >
< tr class = "memdesc:gaf2db64a154b1b13f290c6bfce4d18368" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Pending a semaphore with timeout. < a href = "#gaf2db64a154b1b13f290c6bfce4d18368" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gaf2db64a154b1b13f290c6bfce4d18368" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga7ff528e4e3c7e97ce452bdcdc1e7accf" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga7ff528e4e3c7e97ce452bdcdc1e7accf" > OSA_SemaphorePost< / a > (< a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > semaphoreHandle)< / td > < / tr >
< tr class = "memdesc:ga7ff528e4e3c7e97ce452bdcdc1e7accf" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Signals for someone waiting on the semaphore to wake up. < a href = "#ga7ff528e4e3c7e97ce452bdcdc1e7accf" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga7ff528e4e3c7e97ce452bdcdc1e7accf" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga7c72a01cbbf983b33c3a104470929a70" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga7c72a01cbbf983b33c3a104470929a70" > OSA_MutexCreate< / a > (< a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a > mutexHandle)< / td > < / tr >
< tr class = "memdesc:ga7c72a01cbbf983b33c3a104470929a70" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Create an unlocked mutex. < a href = "#ga7c72a01cbbf983b33c3a104470929a70" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga7c72a01cbbf983b33c3a104470929a70" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga57f9be7f92c26763509b3ef141441457" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga57f9be7f92c26763509b3ef141441457" > OSA_MutexLock< / a > (< a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a > mutexHandle, uint32_t millisec)< / td > < / tr >
< tr class = "memdesc:ga57f9be7f92c26763509b3ef141441457" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Waits for a mutex and locks it. < a href = "#ga57f9be7f92c26763509b3ef141441457" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga57f9be7f92c26763509b3ef141441457" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga31a92296612f31ac8746f0e4bb18773f" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga31a92296612f31ac8746f0e4bb18773f" > OSA_MutexUnlock< / a > (< a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a > mutexHandle)< / td > < / tr >
< tr class = "memdesc:ga31a92296612f31ac8746f0e4bb18773f" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Unlocks a previously locked mutex. < a href = "#ga31a92296612f31ac8746f0e4bb18773f" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga31a92296612f31ac8746f0e4bb18773f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaddee7117a759dfbf280e4d5722af413d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaddee7117a759dfbf280e4d5722af413d" > OSA_MutexDestroy< / a > (< a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a > mutexHandle)< / td > < / tr >
< tr class = "memdesc:gaddee7117a759dfbf280e4d5722af413d" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Destroys a previously created mutex. < a href = "#gaddee7117a759dfbf280e4d5722af413d" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gaddee7117a759dfbf280e4d5722af413d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga11048c51ec10f64e7d358f7335dc5ddf" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga11048c51ec10f64e7d358f7335dc5ddf" > OSA_EventPrecreate< / a > (< a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > eventHandle, < a class = "el" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a > taskHandler)< / td > < / tr >
< tr class = "memdesc:ga11048c51ec10f64e7d358f7335dc5ddf" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Pre-initializes an event object. < a href = "#ga11048c51ec10f64e7d358f7335dc5ddf" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga11048c51ec10f64e7d358f7335dc5ddf" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga2682738ca2e392986bbecec9caf13fbc" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga2682738ca2e392986bbecec9caf13fbc" > OSA_EventCreate< / a > (< a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > eventHandle, uint8_t autoClear)< / td > < / tr >
< tr class = "memdesc:ga2682738ca2e392986bbecec9caf13fbc" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Initializes an event object with all flags cleared. < a href = "#ga2682738ca2e392986bbecec9caf13fbc" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga2682738ca2e392986bbecec9caf13fbc" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga2842bedab2151c907dda255d74212926" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga2842bedab2151c907dda255d74212926" > OSA_EventSet< / a > (< a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > eventHandle, < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > flagsToSet)< / td > < / tr >
< tr class = "memdesc:ga2842bedab2151c907dda255d74212926" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Sets one or more event flags. < a href = "#ga2842bedab2151c907dda255d74212926" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga2842bedab2151c907dda255d74212926" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga60083cea29f64c4408b09eca5cdf262f" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga60083cea29f64c4408b09eca5cdf262f" > OSA_EventClear< / a > (< a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > eventHandle, < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > flagsToClear)< / td > < / tr >
< tr class = "memdesc:ga60083cea29f64c4408b09eca5cdf262f" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Clears one or more flags. < a href = "#ga60083cea29f64c4408b09eca5cdf262f" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga60083cea29f64c4408b09eca5cdf262f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga283f86998b4820121c1d75304bdfa050" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga283f86998b4820121c1d75304bdfa050" > OSA_EventGet< / a > (< a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > eventHandle, < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > flagsMask, < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > *pFlagsOfEvent)< / td > < / tr >
< tr class = "memdesc:ga283f86998b4820121c1d75304bdfa050" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Get event's flags. < a href = "#ga283f86998b4820121c1d75304bdfa050" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga283f86998b4820121c1d75304bdfa050" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gab70ceaa8eb113386f4ce458e87b1d0fe" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gab70ceaa8eb113386f4ce458e87b1d0fe" > OSA_EventWait< / a > (< a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > eventHandle, < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > flagsToWait, uint8_t waitAll, uint32_t millisec, < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > *pSetFlags)< / td > < / tr >
< tr class = "memdesc:gab70ceaa8eb113386f4ce458e87b1d0fe" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Waits for specified event flags to be set. < a href = "#gab70ceaa8eb113386f4ce458e87b1d0fe" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gab70ceaa8eb113386f4ce458e87b1d0fe" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaa9f5850e1ac5b6447a4ecfc38f71d85c" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaa9f5850e1ac5b6447a4ecfc38f71d85c" > OSA_EventDestroy< / a > (< a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > eventHandle)< / td > < / tr >
< tr class = "memdesc:gaa9f5850e1ac5b6447a4ecfc38f71d85c" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Destroys a previously created event object. < a href = "#gaa9f5850e1ac5b6447a4ecfc38f71d85c" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gaa9f5850e1ac5b6447a4ecfc38f71d85c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga7e4faea7f46db9008dd266db81175c7f" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga7e4faea7f46db9008dd266db81175c7f" > OSA_MsgQCreate< / a > (< a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a > msgqHandle, uint32_t msgNo, uint32_t msgSize)< / td > < / tr >
< tr class = "memdesc:ga7e4faea7f46db9008dd266db81175c7f" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Initializes a message queue. < a href = "#ga7e4faea7f46db9008dd266db81175c7f" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga7e4faea7f46db9008dd266db81175c7f" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga96e7ae6b05fb24b380eaebc5a355b4dd" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga96e7ae6b05fb24b380eaebc5a355b4dd" > OSA_MsgQPut< / a > (< a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a > msgqHandle, < a class = "el" href = "a00070.html#ga4476723e61d25fbdc15580e7550a7d7e" > osa_msg_handle_t< / a > pMessage)< / td > < / tr >
< tr class = "memdesc:ga96e7ae6b05fb24b380eaebc5a355b4dd" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Puts a message at the end of the queue. < a href = "#ga96e7ae6b05fb24b380eaebc5a355b4dd" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga96e7ae6b05fb24b380eaebc5a355b4dd" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga606231457e67222e4c1a9ec0ec496ad0" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga606231457e67222e4c1a9ec0ec496ad0" > OSA_MsgQGet< / a > (< a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a > msgqHandle, < a class = "el" href = "a00070.html#ga4476723e61d25fbdc15580e7550a7d7e" > osa_msg_handle_t< / a > pMessage, uint32_t millisec)< / td > < / tr >
< tr class = "memdesc:ga606231457e67222e4c1a9ec0ec496ad0" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Reads and remove a message at the head of the queue. < a href = "#ga606231457e67222e4c1a9ec0ec496ad0" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga606231457e67222e4c1a9ec0ec496ad0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaca0a3d51780350ac37fb3d349407ec98" > < td class = "memItemLeft" align = "right" valign = "top" > int  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaca0a3d51780350ac37fb3d349407ec98" > OSA_MsgQAvailableMsgs< / a > (< a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a > msgqHandle)< / td > < / tr >
< tr class = "memdesc:gaca0a3d51780350ac37fb3d349407ec98" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Get the available message. < a href = "#gaca0a3d51780350ac37fb3d349407ec98" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gaca0a3d51780350ac37fb3d349407ec98" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga8d20a741c86cd504888ba518d426f69b" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga8d20a741c86cd504888ba518d426f69b" > OSA_MsgQDestroy< / a > (< a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a > msgqHandle)< / td > < / tr >
< tr class = "memdesc:ga8d20a741c86cd504888ba518d426f69b" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Destroys a previously created queue. < a href = "#ga8d20a741c86cd504888ba518d426f69b" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga8d20a741c86cd504888ba518d426f69b" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga65d224b9c116eb76ecc820fbe02e5168" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga65d224b9c116eb76ecc820fbe02e5168" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga65d224b9c116eb76ecc820fbe02e5168" > OSA_InterruptEnable< / a > (void)< / td > < / tr >
< tr class = "memdesc:ga65d224b9c116eb76ecc820fbe02e5168" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Enable all interrupts. < br / > < / td > < / tr >
< tr class = "separator:ga65d224b9c116eb76ecc820fbe02e5168" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga0dafafbe7ff826d4087e6dafc873c89c" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ga0dafafbe7ff826d4087e6dafc873c89c" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga0dafafbe7ff826d4087e6dafc873c89c" > OSA_InterruptDisable< / a > (void)< / td > < / tr >
< tr class = "memdesc:ga0dafafbe7ff826d4087e6dafc873c89c" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Disable all interrupts. < br / > < / td > < / tr >
< tr class = "separator:ga0dafafbe7ff826d4087e6dafc873c89c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaa3acb924a8f0a091ec10f8f785986388" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "gaa3acb924a8f0a091ec10f8f785986388" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaa3acb924a8f0a091ec10f8f785986388" > OSA_EnableIRQGlobal< / a > (void)< / td > < / tr >
< tr class = "memdesc:gaa3acb924a8f0a091ec10f8f785986388" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Enable all interrupts using PRIMASK. < br / > < / td > < / tr >
< tr class = "separator:gaa3acb924a8f0a091ec10f8f785986388" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gaa52edae9c3381e234e0720c1b930f081" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "gaa52edae9c3381e234e0720c1b930f081" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gaa52edae9c3381e234e0720c1b930f081" > OSA_DisableIRQGlobal< / a > (void)< / td > < / tr >
< tr class = "memdesc:gaa52edae9c3381e234e0720c1b930f081" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Disable all interrupts using PRIMASK. < br / > < / td > < / tr >
< tr class = "separator:gaa52edae9c3381e234e0720c1b930f081" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gab3cef36da7d7d5ff742bc1d8a1a704f2" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "gab3cef36da7d7d5ff742bc1d8a1a704f2" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gab3cef36da7d7d5ff742bc1d8a1a704f2" > OSA_DisableScheduler< / a > (void)< / td > < / tr >
< tr class = "memdesc:gab3cef36da7d7d5ff742bc1d8a1a704f2" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Disable the scheduling of any task. < br / > < / td > < / tr >
< tr class = "separator:gab3cef36da7d7d5ff742bc1d8a1a704f2" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gada4e67b8ce3311217e09806f1e15110a" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "gada4e67b8ce3311217e09806f1e15110a" > < / a >
void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gada4e67b8ce3311217e09806f1e15110a" > OSA_EnableScheduler< / a > (void)< / td > < / tr >
< tr class = "memdesc:gada4e67b8ce3311217e09806f1e15110a" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Enable the scheduling of any task. < br / > < / td > < / tr >
< tr class = "separator:gada4e67b8ce3311217e09806f1e15110a" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:gabc3512ab77e1abdf0942621caa41a18e" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#gabc3512ab77e1abdf0942621caa41a18e" > OSA_TimeDelay< / a > (uint32_t millisec)< / td > < / tr >
< tr class = "memdesc:gabc3512ab77e1abdf0942621caa41a18e" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Delays execution for a number of milliseconds. < a href = "#gabc3512ab77e1abdf0942621caa41a18e" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:gabc3512ab77e1abdf0942621caa41a18e" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga13573345b625c22855e4c1d02fdbb284" > < td class = "memItemLeft" align = "right" valign = "top" > uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga13573345b625c22855e4c1d02fdbb284" > OSA_TimeGetMsec< / a > (void)< / td > < / tr >
< tr class = "memdesc:ga13573345b625c22855e4c1d02fdbb284" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > This function gets current time in milliseconds. < a href = "#ga13573345b625c22855e4c1d02fdbb284" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga13573345b625c22855e4c1d02fdbb284" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ga16804c3d8d0b5f8ce3d4f9915a30bafe" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ga16804c3d8d0b5f8ce3d4f9915a30bafe" > OSA_InstallIntHandler< / a > (uint32_t IRQNumber, void(*handler)(void))< / td > < / tr >
< tr class = "memdesc:ga16804c3d8d0b5f8ce3d4f9915a30bafe" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Installs the interrupt handler. < a href = "#ga16804c3d8d0b5f8ce3d4f9915a30bafe" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ga16804c3d8d0b5f8ce3d4f9915a30bafe" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< hr / > < h2 class = "groupheader" > Data Structure Documentation< / h2 >
2024-04-12 13:21:49 +00:00
< a name = "a00457" id = "a00457" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > struct osa_task_def_tag< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< div class = "textblock" > < / div > < table class = "memberdecls" >
< tr > < td colspan = "2" > < h3 > Data Fields< / h3 > < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:ab7e871b449e942a1030b09b5bdfd91f8" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab7e871b449e942a1030b09b5bdfd91f8" > < / a >
< a class = "el" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ab7e871b449e942a1030b09b5bdfd91f8" > pthread< / a > < / td > < / tr >
< tr class = "memdesc:ab7e871b449e942a1030b09b5bdfd91f8" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > start address of thread function < br / > < / td > < / tr >
< tr class = "separator:ab7e871b449e942a1030b09b5bdfd91f8" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8bf5f6296f271a6253add6a205f01d4d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8bf5f6296f271a6253add6a205f01d4d" > < / a >
uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a8bf5f6296f271a6253add6a205f01d4d" > tpriority< / a > < / td > < / tr >
< tr class = "memdesc:a8bf5f6296f271a6253add6a205f01d4d" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > initial thread priority < br / > < / td > < / tr >
< tr class = "separator:a8bf5f6296f271a6253add6a205f01d4d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a79c0d6019b5496b9942686005d6a9935" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a79c0d6019b5496b9942686005d6a9935" > < / a >
uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a79c0d6019b5496b9942686005d6a9935" > instances< / a > < / td > < / tr >
< tr class = "memdesc:a79c0d6019b5496b9942686005d6a9935" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > maximum number of instances of that thread function < br / > < / td > < / tr >
< tr class = "separator:a79c0d6019b5496b9942686005d6a9935" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8bb000e21880529ba2b366f23f9b8148" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8bb000e21880529ba2b366f23f9b8148" > < / a >
uint32_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a8bb000e21880529ba2b366f23f9b8148" > stacksize< / a > < / td > < / tr >
< tr class = "memdesc:a8bb000e21880529ba2b366f23f9b8148" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > stack size requirements in bytes; 0 is default stack size < br / > < / td > < / tr >
< tr class = "separator:a8bb000e21880529ba2b366f23f9b8148" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ac5e287112b5be61254a4679190561c09" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ac5e287112b5be61254a4679190561c09" > < / a >
uint32_t *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ac5e287112b5be61254a4679190561c09" > tstack< / a > < / td > < / tr >
< tr class = "memdesc:ac5e287112b5be61254a4679190561c09" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > stack pointer, which can be used on freertos static allocation < br / > < / td > < / tr >
< tr class = "separator:ac5e287112b5be61254a4679190561c09" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a9312e684f5d7e956b5dea1837bb3b476" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a9312e684f5d7e956b5dea1837bb3b476" > < / a >
void *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a9312e684f5d7e956b5dea1837bb3b476" > tlink< / a > < / td > < / tr >
< tr class = "memdesc:a9312e684f5d7e956b5dea1837bb3b476" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > link pointer < br / > < / td > < / tr >
< tr class = "separator:a9312e684f5d7e956b5dea1837bb3b476" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a067966102a7619a09eeb90c55d660461" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a067966102a7619a09eeb90c55d660461" > < / a >
uint8_t *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a067966102a7619a09eeb90c55d660461" > tname< / a > < / td > < / tr >
< tr class = "memdesc:a067966102a7619a09eeb90c55d660461" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > name pointer < br / > < / td > < / tr >
< tr class = "separator:a067966102a7619a09eeb90c55d660461" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a523059c89cce8a47bce3b437a71043a3" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a523059c89cce8a47bce3b437a71043a3" > < / a >
uint8_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a523059c89cce8a47bce3b437a71043a3" > useFloat< / a > < / td > < / tr >
< tr class = "memdesc:a523059c89cce8a47bce3b437a71043a3" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > is use float < br / > < / td > < / tr >
< tr class = "separator:a523059c89cce8a47bce3b437a71043a3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / div >
< / div >
< a name = "a00458" id = "a00458" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > struct osa_thread_link_tag< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< div class = "textblock" > < / div > < table class = "memberdecls" >
< tr > < td colspan = "2" > < h3 > Data Fields< / h3 > < / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr class = "memitem:a8b9aaa9e04e496649648071ccca553c7" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a8b9aaa9e04e496649648071ccca553c7" > < / a >
uint8_t  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a8b9aaa9e04e496649648071ccca553c7" > link< / a > [12]< / td > < / tr >
< tr class = "memdesc:a8b9aaa9e04e496649648071ccca553c7" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > link < br / > < / td > < / tr >
< tr class = "separator:a8b9aaa9e04e496649648071ccca553c7" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ad4d6fe617cab4d548dcd7316c0c1440d" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ad4d6fe617cab4d548dcd7316c0c1440d" > < / a >
< a class = "el" href = "a00070.html#gaff220797f9205a2563e90247af14b5d0" > osa_task_handle_t< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ad4d6fe617cab4d548dcd7316c0c1440d" > osThreadId< / a > < / td > < / tr >
< tr class = "memdesc:ad4d6fe617cab4d548dcd7316c0c1440d" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > thread id < br / > < / td > < / tr >
< tr class = "separator:ad4d6fe617cab4d548dcd7316c0c1440d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab67bd9696cce87799d9a041db94728ab" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "ab67bd9696cce87799d9a041db94728ab" > < / a >
< a class = "el" href = "a00070.html#ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > osa_task_def_t< / a > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#ab67bd9696cce87799d9a041db94728ab" > osThreadDefHandle< / a > < / td > < / tr >
< tr class = "memdesc:ab67bd9696cce87799d9a041db94728ab" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > pointer of thread define handle < br / > < / td > < / tr >
< tr class = "separator:ab67bd9696cce87799d9a041db94728ab" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a18023851bae8690a2a3785cb711aef01" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "anchor" id = "a18023851bae8690a2a3785cb711aef01" > < / a >
uint32_t *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "a00070.html#a18023851bae8690a2a3785cb711aef01" > osThreadStackHandle< / a > < / td > < / tr >
< tr class = "memdesc:a18023851bae8690a2a3785cb711aef01" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > pointer of thread stack handle < br / > < / td > < / tr >
< tr class = "separator:a18023851bae8690a2a3785cb711aef01" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / div >
< / div >
< a name = "a00459" id = "a00459" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > struct osa_time_def_tag< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< div class = "textblock" > < / div >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< h2 class = "groupheader" > Macro Definition Documentation< / h2 >
< a class = "anchor" id = "ga867065c8e88dbdbef0f300f2117e194b" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define OSA_PRIORITY_IDLE      (6U)< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga7cec4a84004bc6c3d110f280d0d95cee" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define osaWaitNone_c      ((uint32_t)(0))< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gaa5c9288e29c44b484ad2fd9a202ad83b" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define OSA_SEMAPHORE_HANDLE_DEFINE< / td >
< td > (< / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > name< / td > < td > )< / td >
< td >       uint32_t name[(< a class = "el" href = "a00294.html#gad3acdbbf97a3cfc8ca5f1693b76b7b08" > OSA_SEM_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This macro is used to define a 4 byte aligned semaphore handle. Then use "(osa_semaphore_handle_t)name" to get the semaphore handle.< / p >
< p > The macro should be global and could be optional. You could also define semaphore handle by yourself.< / p >
< p > This is an example, < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" > OSA_SEMAPHORE_HANDLE_DEFINE< / a > (semaphoreHandle);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > name< / td > < td > The name string of the semaphore handle. < / td > < / tr >
< / table >
< / dd >
< / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga531290d8fe30f775ac60ed51a518f830" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define OSA_MUTEX_HANDLE_DEFINE< / td >
< td > (< / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > name< / td > < td > )< / td >
< td >       uint32_t name[(< a class = "el" href = "a00294.html#gae182c9d7eb2e70d7a329bef4d7b078ce" > OSA_MUTEX_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This macro is used to define a 4 byte aligned mutex handle. Then use "(osa_mutex_handle_t)name" to get the mutex handle.< / p >
< p > The macro should be global and could be optional. You could also define mutex handle by yourself.< / p >
< p > This is an example, < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#ga531290d8fe30f775ac60ed51a518f830" > OSA_MUTEX_HANDLE_DEFINE< / a > (mutexHandle);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > name< / td > < td > The name string of the mutex handle. < / td > < / tr >
< / table >
< / dd >
< / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga015211790e7199dbc5c1b644258c9fec" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define OSA_EVENT_HANDLE_DEFINE< / td >
< td > (< / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > name< / td > < td > )< / td >
< td >       uint32_t name[(< a class = "el" href = "a00294.html#ga4bdb0a2333c1340dd4935603fac49410" > OSA_EVENT_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This macro is used to define a 4 byte aligned event handle. Then use "(osa_event_handle_t)name" to get the event handle.< / p >
< p > The macro should be global and could be optional. You could also define event handle by yourself.< / p >
< p > This is an example, < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#ga015211790e7199dbc5c1b644258c9fec" > OSA_EVENT_HANDLE_DEFINE< / a > (eventHandle);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > name< / td > < td > The name string of the event handle. < / td > < / tr >
< / table >
< / dd >
< / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gae72445c7e27eef2fcba730598f1a2c70" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define OSA_MSGQ_HANDLE_DEFINE< / td >
< td > (< / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > name, < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > numberOfMsgs, < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > msgSize  < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td >       uint32_t name[((< a class = "el" href = "a00294.html#ga74037fb2a46e4d4d9688de76087c2f38" > OSA_MSGQ_HANDLE_SIZE< / a > + numberOfMsgs * msgSize) + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This macro is used to define a 4 byte aligned message queue handle. Then use "(osa_msgq_handle_t)name" to get the message queue handle.< / p >
< p > The macro should be global and could be optional. You could also define message queue handle by yourself.< / p >
< p > This is an example, < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#gae72445c7e27eef2fcba730598f1a2c70" > OSA_MSGQ_HANDLE_DEFINE< / a > (msgqHandle, 3, < span class = "keyword" > sizeof< / span > (msgStruct));< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > name< / td > < td > The name string of the message queue handle. < / td > < / tr >
< tr > < td class = "paramname" > numberOfMsgs< / td > < td > Number of messages. < / td > < / tr >
< tr > < td class = "paramname" > msgSize< / td > < td > Message size. < / td > < / tr >
< / table >
< / dd >
< / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gaa2ff8ffb5ce5533212f7ed2b4bb2e3fd" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define OSA_TIMER_HANDLE_DEFINE< / td >
< td > (< / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > name< / td > < td > )< / td >
< td >       uint32_t name[(< a class = "el" href = "a00294.html#gaf782a5bdda47beea47a55cc72cdebff4" > OSA_TIMER_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This macro is used to define a 4 byte aligned timer handle. Then use "(osa_timer_handle_t)name" to get the timer handle.< / p >
< p > The macro should be global and could be optional. You could also define timer handle by yourself.< / p >
< p > This is an example, < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#gaa2ff8ffb5ce5533212f7ed2b4bb2e3fd" > OSA_TIMER_HANDLE_DEFINE< / a > (timerHandle);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > name< / td > < td > The name string of the timer handle. < / td > < / tr >
< / table >
< / dd >
< / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga43087dda9f523fa72c8988d9dad35b4b" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > #define OSA_TASK_HANDLE_DEFINE< / td >
< td > (< / td >
< td class = "paramtype" >   < / td >
< td class = "paramname" > name< / td > < td > )< / td >
< td >       uint32_t name[(< a class = "el" href = "a00294.html#gad93fc627fa71d0ae31fc42da169b2bb8" > OSA_TASK_HANDLE_SIZE< / a > + sizeof(uint32_t) - 1U) / sizeof(uint32_t)]< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This macro is used to define a 4 byte aligned TASK handle. Then use "(osa_task_handle_t)name" to get the TASK handle.< / p >
< p > The macro should be global and could be optional. You could also define TASK handle by yourself.< / p >
< p > This is an example, < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#ga43087dda9f523fa72c8988d9dad35b4b" > OSA_TASK_HANDLE_DEFINE< / a > (taskHandle);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > name< / td > < td > The name string of the TASK handle. < / td > < / tr >
< / table >
< / dd >
< / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< h2 class = "groupheader" > Typedef Documentation< / h2 >
< a class = "anchor" id = "ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef void(* osa_task_ptr_t)(< a class = "el" href = "a00070.html#gacf27b88806f35c8682851354a9360310" > osa_task_param_t< / a > task_param)< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Task prototype declaration < / p >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga282940489533ac4bf9b98bb7bc3dadd1" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef uint32_t < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga4476723e61d25fbdc15580e7550a7d7e" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef void* < a class = "el" href = "a00070.html#ga4476723e61d25fbdc15580e7550a7d7e" > osa_msg_handle_t< / a > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga9931a8d0f995122c66bd5ed226617231" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef void(* osa_timer_fct_ptr_t)(void const *argument)< / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef struct < a class = "el" href = "a00070.html#a00457" > osa_task_def_tag< / a > < a class = "el" href = "a00070.html#ga01e1851ab5a0c6b79f8e47aa3d1c10aa" > osa_task_def_t< / a > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga41a9403a9204bcc299d9733a627542a0" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef struct < a class = "el" href = "a00070.html#a00458" > osa_thread_link_tag< / a > < a class = "el" href = "a00070.html#ga41a9403a9204bcc299d9733a627542a0" > osa_thread_link_t< / a > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga620791f096d7a42cb81d7cfe9c450c93" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > typedef struct < a class = "el" href = "a00070.html#a00459" > osa_time_def_tag< / a > < a class = "el" href = "a00070.html#ga620791f096d7a42cb81d7cfe9c450c93" > osa_time_def_t< / a > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< h2 class = "groupheader" > Enumeration Type Documentation< / h2 >
< a class = "anchor" id = "ga4fe3d228ba6412aa14d3d778d5a836eb" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > enum < a class = "el" href = "a00070.html#ga4fe3d228ba6412aa14d3d778d5a836eb" > _osa_timer< / a > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< table class = "fieldtable" >
2024-04-12 13:21:49 +00:00
< tr > < th colspan = "2" > Enumerator< / th > < / tr > < tr > < td class = "fieldname" > < em > < a class = "anchor" id = "gga4fe3d228ba6412aa14d3d778d5a836ebaa71e8982a1f5766c947bf8687c9a7aa6" > < / a > KOSA_TimerOnce< / em > < / td > < td class = "fielddoc" >
< p > one-shot timer < / p >
2023-01-26 02:53:53 +00:00
< / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr > < td class = "fieldname" > < em > < a class = "anchor" id = "gga4fe3d228ba6412aa14d3d778d5a836eba03986ae7440b4ab4bc55841b0addd550" > < / a > KOSA_TimerPeriodic< / em > < / td > < td class = "fielddoc" >
< p > repeating timer < / p >
2023-01-26 02:53:53 +00:00
< / td > < / tr >
< / table >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gacd616eaf24cdb0240bd0d2ace06a1f05" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > enum < a class = "el" href = "a00070.html#gacd616eaf24cdb0240bd0d2ace06a1f05" > _osa_status< / a > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
< table class = "fieldtable" >
2024-04-12 13:21:49 +00:00
< tr > < th colspan = "2" > Enumerator< / th > < / tr > < tr > < td class = "fieldname" > < em > < a class = "anchor" id = "ggacd616eaf24cdb0240bd0d2ace06a1f05a08c1fb394e824862ca4acfaa8923247e" > < / a > KOSA_StatusSuccess< / em > < / td > < td class = "fielddoc" >
< p > Success. < / p >
< / td > < / tr >
< tr > < td class = "fieldname" > < em > < a class = "anchor" id = "ggacd616eaf24cdb0240bd0d2ace06a1f05aa7da37791fcec9058f73d9b7d423baea" > < / a > KOSA_StatusError< / em > < / td > < td class = "fielddoc" >
< p > Failed. < / p >
2023-01-26 02:53:53 +00:00
< / td > < / tr >
2024-04-12 13:21:49 +00:00
< tr > < td class = "fieldname" > < em > < a class = "anchor" id = "ggacd616eaf24cdb0240bd0d2ace06a1f05a4ebd8b2aaf2d24a83712ec36bfeeceda" > < / a > KOSA_StatusTimeout< / em > < / td > < td class = "fielddoc" >
< p > Timeout occurs while waiting. < / p >
< / td > < / tr >
< tr > < td class = "fieldname" > < em > < a class = "anchor" id = "ggacd616eaf24cdb0240bd0d2ace06a1f05a4ef349b1d5b1898deb64224800666d41" > < / a > KOSA_StatusIdle< / em > < / td > < td class = "fielddoc" >
< p > Used for bare metal only, the wait object is not ready and timeout still not occur. < / p >
2023-01-26 02:53:53 +00:00
< / td > < / tr >
< / table >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< h2 class = "groupheader" > Function Documentation< / h2 >
< a class = "anchor" id = "gac54affd429ec3df9826fd4289675f8fd" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > void* OSA_MemoryAllocate < / td >
< td > (< / td >
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > memLength< / em > < / td > < td > )< / td >
< td > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > The function is used to reserve the requested amount of memory in bytes and initializes it to 0.< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > memLength< / td > < td > Amount of bytes to reserve.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > Pointer to the reserved memory. NULL if memory can't be allocated. < / dd > < / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga23a030af2ed423c151e850ef90944c69" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > void OSA_MemoryFree < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > void *  < / td >
< td class = "paramname" > < em > p< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > The function is used to free the memory block previously reserved.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > p< / td > < td > Pointer to the start of the memory block previously reserved. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga48d6e1a6421b55e5aca1565adf072fb9" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > void OSA_EnterCritical < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint32_t *  < / td >
< td class = "paramname" > < em > sr< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > sr< / td > < td > Store current status and return to caller. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga9bfe45991e386e628ae70a4ac0f61dd3" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > void OSA_ExitCritical < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > sr< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
2024-04-12 13:21:49 +00:00
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > sr< / td > < td > Previous status to restore. < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a class = "anchor" id = "ga71c2ee403d32bc0d2df721d04f553a56" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
2023-01-26 02:53:53 +00:00
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_SemaphorePrecreate < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a >   < / td >
< td class = "paramname" > < em > semaphoreHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a >   < / td >
< td class = "paramname" > < em > taskHandler< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function is used to setup the basic services.< / p >
< p > Example below shows how to use this API to create the task handle. < / p >
< div class = "fragment" > < div class = "line" > * OSA_Init();< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < p > Start OSA schedule.< / p >
< p > This function is used to start OSA scheduler.< / p >
< p > Example below shows how to use this API to start osa schedule. < / p >
< div class = "fragment" > < div class = "line" > * OSA_Start();< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < p > Pre-creates a semaphore.< / p >
< p > This function pre-creates a semaphore with the task handler.< / p >
< p > Example below shows how to use this API to create the semaphore handle. < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" > OSA_SEMAPHORE_HANDLE_DEFINE< / a > (semaphoreHandle);< / div >
< div class = "line" > * < a class = "code" href = "a00070.html#ga520fc6e953974270f40b6df7b774565b" > OSA_SemaphoreCreate< / a > ((< a class = "code" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > )semaphoreHandle, (< a class = "code" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a > )taskHandler);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
2023-01-26 02:53:53 +00:00
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > semaphoreHandle< / td > < td > Pointer to a memory space of size OSA_SEM_HANDLE_SIZE allocated by the caller. The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices. You can define the handle in the following two ways: < a class = "el" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" title = "Defines the semaphore handle. " > OSA_SEMAPHORE_HANDLE_DEFINE(semaphoreHandle)< / a > ; or uint32_t semaphoreHandle[((OSA_SEM_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))]; < / td > < / tr >
< tr > < td class = "paramname" > taskHandler< / td > < td > The task handler this semaphore is used by.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > the new semaphore if the semaphore is created successfully. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga520fc6e953974270f40b6df7b774565b" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_SemaphoreCreate < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a >   < / td >
< td class = "paramname" > < em > semaphoreHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > initValue< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function creates a semaphore and sets the value to the parameter initValue.< / p >
< p > Example below shows how to use this API to create the semaphore handle. < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" > OSA_SEMAPHORE_HANDLE_DEFINE< / a > (semaphoreHandle);< / div >
< div class = "line" > * < a class = "code" href = "a00070.html#ga520fc6e953974270f40b6df7b774565b" > OSA_SemaphoreCreate< / a > ((< a class = "code" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > )semaphoreHandle, 0xff);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
2023-01-26 02:53:53 +00:00
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > semaphoreHandle< / td > < td > Pointer to a memory space of size OSA_SEM_HANDLE_SIZE allocated by the caller. The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices. You can define the handle in the following two ways: < a class = "el" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" title = "Defines the semaphore handle. " > OSA_SEMAPHORE_HANDLE_DEFINE(semaphoreHandle)< / a > ; or uint32_t semaphoreHandle[((OSA_SEM_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))]; < / td > < / tr >
< tr > < td class = "paramname" > initValue< / td > < td > Initial value the semaphore will be set to.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > the new semaphore if the semaphore is created successfully. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > if the semaphore can not be created. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gac1cd818c51983961b881a56693e982b0" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_SemaphoreCreateBinary < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a >   < / td >
< td class = "paramname" > < em > semaphoreHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function creates a binary semaphore< / p >
< p > Example below shows how to use this API to create the semaphore handle. < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" > OSA_SEMAPHORE_HANDLE_DEFINE< / a > (semaphoreHandle);< / div >
< div class = "line" > * < a class = "code" href = "a00070.html#gac1cd818c51983961b881a56693e982b0" > OSA_SemaphoreCreateBinary< / a > ((< a class = "code" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a > )semaphoreHandle);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
2023-01-26 02:53:53 +00:00
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > semaphoreHandle< / td > < td > Pointer to a memory space of size OSA_SEM_HANDLE_SIZE allocated by the caller. The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices. You can define the handle in the following two ways: < a class = "el" href = "a00070.html#gaa5c9288e29c44b484ad2fd9a202ad83b" title = "Defines the semaphore handle. " > OSA_SEMAPHORE_HANDLE_DEFINE(semaphoreHandle)< / a > ; or uint32_t semaphoreHandle[((OSA_SEM_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))];< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > the new binary semaphore if the binary semaphore is created successfully. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > if the binary semaphore can not be created. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga7fd5c6b44421ba9cbe2157c2a279f1fb" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_SemaphoreDestroy < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a >   < / td >
< td class = "paramname" > < em > semaphoreHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > semaphoreHandle< / td > < td > The semaphore handle. The macro SEMAPHORE_HANDLE_BUFFER_GET is used to get the semaphore buffer pointer, and should not be used before the macro SEMAPHORE_HANDLE_BUFFER_DEFINE is used.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The semaphore is successfully destroyed. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > The semaphore can not be destroyed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gaf2db64a154b1b13f290c6bfce4d18368" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_SemaphoreWait < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a >   < / td >
< td class = "paramname" > < em > semaphoreHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > millisec< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function checks the semaphore's counting value. If it is positive, decreases it and returns KOSA_StatusSuccess. Otherwise, a timeout is used to wait.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > semaphoreHandle< / td > < td > The semaphore handle. < / td > < / tr >
< tr > < td class = "paramname" > millisec< / td > < td > The maximum number of milliseconds to wait if semaphore is not positive. Pass osaWaitForever_c to wait indefinitely, pass 0 will return KOSA_StatusTimeout immediately.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The semaphore is received. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusTimeout< / td > < td > The semaphore is not received within the specified 'timeout'. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > An incorrect parameter was passed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga7ff528e4e3c7e97ce452bdcdc1e7accf" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_SemaphorePost < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga3f5010db706a11ffd2b2c1701f7c2c0e" > osa_semaphore_handle_t< / a >   < / td >
< td class = "paramname" > < em > semaphoreHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Wakes up one task that is waiting on the semaphore. If no task is waiting, increases the semaphore's counting value.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > semaphoreHandle< / td > < td > The semaphore handle to signal.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The semaphore is successfully signaled. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > The object can not be signaled or invalid parameter. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga7c72a01cbbf983b33c3a104470929a70" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MutexCreate < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a >   < / td >
< td class = "paramname" > < em > mutexHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function creates a non-recursive mutex and sets it to unlocked status.< / p >
< p > Example below shows how to use this API to create the mutex handle. < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#ga531290d8fe30f775ac60ed51a518f830" > OSA_MUTEX_HANDLE_DEFINE< / a > (mutexHandle);< / div >
< div class = "line" > * < a class = "code" href = "a00070.html#ga7c72a01cbbf983b33c3a104470929a70" > OSA_MutexCreate< / a > ((< a class = "code" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a > )mutexHandle);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
2023-01-26 02:53:53 +00:00
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > mutexHandle< / td > < td > Pointer to a memory space of size OSA_MUTEX_HANDLE_SIZE allocated by the caller. The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices. You can define the handle in the following two ways: < a class = "el" href = "a00070.html#ga531290d8fe30f775ac60ed51a518f830" title = "Defines the mutex handle. " > OSA_MUTEX_HANDLE_DEFINE(mutexHandle)< / a > ; or uint32_t mutexHandle[((OSA_MUTEX_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))]; < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > the new mutex if the mutex is created successfully. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > if the mutex can not be created. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga57f9be7f92c26763509b3ef141441457" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MutexLock < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a >   < / td >
< td class = "paramname" > < em > mutexHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > millisec< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function checks the mutex's status. If it is unlocked, locks it and returns the KOSA_StatusSuccess. Otherwise, waits for a timeout in milliseconds to lock.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > mutexHandle< / td > < td > The mutex handle. < / td > < / tr >
< tr > < td class = "paramname" > millisec< / td > < td > The maximum number of milliseconds to wait for the mutex. If the mutex is locked, Pass the value osaWaitForever_c will wait indefinitely, pass 0 will return KOSA_StatusTimeout immediately.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The mutex is locked successfully. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusTimeout< / td > < td > Timeout occurred. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > Incorrect parameter was passed.< / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
2024-04-12 13:21:49 +00:00
< dl class = "section note" > < dt > Note< / dt > < dd > This is non-recursive mutex, a task can not try to lock the mutex it has locked. < / dd > < / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga31a92296612f31ac8746f0e4bb18773f" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MutexUnlock < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a >   < / td >
< td class = "paramname" > < em > mutexHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > mutexHandle< / td > < td > The mutex handle.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The mutex is successfully unlocked. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > The mutex can not be unlocked or invalid parameter. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gaddee7117a759dfbf280e4d5722af413d" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MutexDestroy < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga2f32f00a98f059a0de5dce110c4c55a6" > osa_mutex_handle_t< / a >   < / td >
< td class = "paramname" > < em > mutexHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > mutexHandle< / td > < td > The mutex handle.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The mutex is successfully destroyed. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > The mutex can not be destroyed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga11048c51ec10f64e7d358f7335dc5ddf" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_EventPrecreate < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a >   < / td >
< td class = "paramname" > < em > eventHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a >   < / td >
< td class = "paramname" > < em > taskHandler< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function pre-creates an event object and indicates which task this event is used by.< / p >
< p > Example below shows how to use this API to create the event handle. < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#ga015211790e7199dbc5c1b644258c9fec" > OSA_EVENT_HANDLE_DEFINE< / a > (eventHandle);< / div >
< div class = "line" > * < a class = "code" href = "a00070.html#ga11048c51ec10f64e7d358f7335dc5ddf" > OSA_EventPrecreate< / a > ((< a class = "code" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > )eventHandle, (< a class = "code" href = "a00070.html#ga5dc7b5e6c130c18b4b7d0f3e4edab7ab" > osa_task_ptr_t< / a > )taskHandler);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
2023-01-26 02:53:53 +00:00
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > eventHandle< / td > < td > Pointer to a memory space of size OSA_EVENT_HANDLE_SIZE allocated by the caller. The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices. You can define the handle in the following two ways: < a class = "el" href = "a00070.html#ga015211790e7199dbc5c1b644258c9fec" title = "Defines the event handle. " > OSA_EVENT_HANDLE_DEFINE(eventHandle)< / a > ; or uint32 eventHandle[((OSA_EVENT_HANDLE_SIZE + sizeof(uint32) - 1U) / sizeof(uint32))]; < / td > < / tr >
< tr > < td class = "paramname" > taskHandler< / td > < td > The task handler this event is used by. < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > the new event if the event is pre-created successfully. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga2682738ca2e392986bbecec9caf13fbc" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_EventCreate < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a >   < / td >
< td class = "paramname" > < em > eventHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint8_t  < / td >
< td class = "paramname" > < em > autoClear< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function creates an event object and set its clear mode. If autoClear is 1, when a task gets the event flags, these flags will be cleared automatically. Otherwise these flags must be cleared manually.< / p >
< p > Example below shows how to use this API to create the event handle. < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#ga015211790e7199dbc5c1b644258c9fec" > OSA_EVENT_HANDLE_DEFINE< / a > (eventHandle);< / div >
< div class = "line" > * < a class = "code" href = "a00070.html#ga2682738ca2e392986bbecec9caf13fbc" > OSA_EventCreate< / a > ((< a class = "code" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a > )eventHandle, 0);< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
2023-01-26 02:53:53 +00:00
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > eventHandle< / td > < td > Pointer to a memory space of size OSA_EVENT_HANDLE_SIZE allocated by the caller. The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices. You can define the handle in the following two ways: < a class = "el" href = "a00070.html#ga015211790e7199dbc5c1b644258c9fec" title = "Defines the event handle. " > OSA_EVENT_HANDLE_DEFINE(eventHandle)< / a > ; or uint32_t eventHandle[((OSA_EVENT_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))]; < / td > < / tr >
< tr > < td class = "paramname" > autoClear< / td > < td > 1 The event is auto-clear. 0 The event manual-clear < / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > the new event if the event is created successfully. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > if the event can not be created. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga2842bedab2151c907dda255d74212926" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_EventSet < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a >   < / td >
< td class = "paramname" > < em > eventHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a >   < / td >
< td class = "paramname" > < em > flagsToSet< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Sets specified flags of an event object.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > eventHandle< / td > < td > The event handle. < / td > < / tr >
< tr > < td class = "paramname" > flagsToSet< / td > < td > Flags to be set.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The flags were successfully set. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > An incorrect parameter was passed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga60083cea29f64c4408b09eca5cdf262f" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_EventClear < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a >   < / td >
< td class = "paramname" > < em > eventHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a >   < / td >
< td class = "paramname" > < em > flagsToClear< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Clears specified flags of an event object.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > eventHandle< / td > < td > The event handle. < / td > < / tr >
< tr > < td class = "paramname" > flagsToClear< / td > < td > Flags to be clear.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The flags were successfully cleared. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > An incorrect parameter was passed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga283f86998b4820121c1d75304bdfa050" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_EventGet < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a >   < / td >
< td class = "paramname" > < em > eventHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a >   < / td >
< td class = "paramname" > < em > flagsMask< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > *  < / td >
< td class = "paramname" > < em > pFlagsOfEvent< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > Get specified flags of an event object.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > eventHandle< / td > < td > The event handle. The macro EVENT_HANDLE_BUFFER_GET is used to get the event buffer pointer, and should not be used before the macro EVENT_HANDLE_BUFFER_DEFINE is used. < / td > < / tr >
< tr > < td class = "paramname" > flagsMask< / td > < td > The flags user want to get are specified by this parameter. < / td > < / tr >
< tr > < td class = "paramname" > pFlagsOfEvent< / td > < td > The event flags are obtained by this parameter.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The event flags were successfully got. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > An incorrect parameter was passed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gab70ceaa8eb113386f4ce458e87b1d0fe" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_EventWait < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a >   < / td >
< td class = "paramname" > < em > eventHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a >   < / td >
< td class = "paramname" > < em > flagsToWait< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > uint8_t  < / td >
< td class = "paramname" > < em > waitAll< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > millisec< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga282940489533ac4bf9b98bb7bc3dadd1" > osa_event_flags_t< / a > *  < / td >
< td class = "paramname" > < em > pSetFlags< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function waits for a combination of flags to be set in an event object. Applications can wait for any/all bits to be set. Also this function could obtain the flags who wakeup the waiting task.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > eventHandle< / td > < td > The event handle. < / td > < / tr >
< tr > < td class = "paramname" > flagsToWait< / td > < td > Flags that to wait. < / td > < / tr >
< tr > < td class = "paramname" > waitAll< / td > < td > Wait all flags or any flag to be set. < / td > < / tr >
< tr > < td class = "paramname" > millisec< / td > < td > The maximum number of milliseconds to wait for the event. If the wait condition is not met, pass osaWaitForever_c will wait indefinitely, pass 0 will return KOSA_StatusTimeout immediately. < / td > < / tr >
< tr > < td class = "paramname" > pSetFlags< / td > < td > Flags that wakeup the waiting task are obtained by this parameter.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The wait condition met and function returns successfully. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusTimeout< / td > < td > Has not met wait condition within timeout. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > An incorrect parameter was passed.< / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
2024-04-12 13:21:49 +00:00
< dl class = "section note" > < dt > Note< / dt > < dd > Please pay attention to the flags bit width, FreeRTOS uses the most significant 8 bis as control bits, so do not wait these bits while using FreeRTOS. < / dd > < / dl >
2023-01-26 02:53:53 +00:00
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gaa9f5850e1ac5b6447a4ecfc38f71d85c" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_EventDestroy < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga800f6346ade64a29d6b9a8dcec87fa70" > osa_event_handle_t< / a >   < / td >
< td class = "paramname" > < em > eventHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > eventHandle< / td > < td > The event handle.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The event is successfully destroyed. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > Event destruction failed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga7e4faea7f46db9008dd266db81175c7f" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MsgQCreate < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a >   < / td >
< td class = "paramname" > < em > msgqHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint32_t  < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramname" > < em > msgNo< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint32_t  < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramname" > < em > msgSize< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function allocates memory for and initializes a message queue. Message queue elements are hardcoded as void*.< / p >
< p > Example below shows how to use this API to create the massage queue handle. < / p >
< div class = "fragment" > < div class = "line" > * < a class = "code" href = "a00070.html#gae72445c7e27eef2fcba730598f1a2c70" > OSA_MSGQ_HANDLE_DEFINE< / a > (msgqHandle);< / div >
< div class = "line" > * < a class = "code" href = "a00070.html#ga7e4faea7f46db9008dd266db81175c7f" > OSA_MsgQCreate< / a > ((< a class = "code" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a > )msgqHandle, 5U, < span class = "keyword" > sizeof< / span > (msg));< / div >
< div class = "line" > * < / div >
< / div > <!-- fragment --> < dl class = "params" > < dt > Parameters< / dt > < dd >
2023-01-26 02:53:53 +00:00
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > msgqHandle< / td > < td > Pointer to a memory space of size #(OSA_MSGQ_HANDLE_SIZE + msgNo*msgSize) on bare-matel, FreeRTOS static allocation allocated by the caller and #(OSA_MSGQ_HANDLE_SIZE) on FreeRTOS dynamic allocation, message queue handle. The handle should be 4 byte aligned, because unaligned access doesn't be supported on some devices. You can define the handle in the following two ways: < a class = "el" href = "a00070.html#gae72445c7e27eef2fcba730598f1a2c70" title = "Defines the message queue handle. " > OSA_MSGQ_HANDLE_DEFINE(msgqHandle)< / a > ; or For bm and freertos static: uint32_t msgqHandle[((OSA_MSGQ_HANDLE_SIZE + msgNo*msgSize + sizeof(uint32_t) - 1U) / sizeof(uint32_t))]; For freertos dynamic: uint32_t msgqHandle[((OSA_MSGQ_HANDLE_SIZE + sizeof(uint32_t) - 1U) / sizeof(uint32_t))]; < / td > < / tr >
< tr > < td class = "paramname" > msgNo< / td > < td > :number of messages the message queue should accommodate. < / td > < / tr >
< tr > < td class = "paramname" > msgSize< / td > < td > :size of a single message structure.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > Message queue successfully Create. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > Message queue create failure. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga96e7ae6b05fb24b380eaebc5a355b4dd" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MsgQPut < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a >   < / td >
< td class = "paramname" > < em > msgqHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga4476723e61d25fbdc15580e7550a7d7e" > osa_msg_handle_t< / a >   < / td >
< td class = "paramname" > < em > pMessage< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function puts a message to the end of the message queue. If the queue is full, this function returns the KOSA_StatusError;< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > msgqHandle< / td > < td > Message Queue handler. < / td > < / tr >
< tr > < td class = "paramname" > pMessage< / td > < td > Pointer to the message to be put into the queue.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > Message successfully put into the queue. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > The queue was full or an invalid parameter was passed. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga606231457e67222e4c1a9ec0ec496ad0" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MsgQGet < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a >   < / td >
< td class = "paramname" > < em > msgqHandle< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga4476723e61d25fbdc15580e7550a7d7e" > osa_msg_handle_t< / a >   < / td >
< td class = "paramname" > < em > pMessage< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > uint32_t  < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramname" > < em > millisec< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
2024-04-12 13:21:49 +00:00
< p > This function gets a message from the head of the message queue. If the queue is empty, timeout is used to wait.< / p >
2023-01-26 02:53:53 +00:00
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > msgqHandle< / td > < td > Message Queue handler. < / td > < / tr >
< tr > < td class = "paramname" > pMessage< / td > < td > Pointer to a memory to save the message. < / td > < / tr >
< tr > < td class = "paramname" > millisec< / td > < td > The number of milliseconds to wait for a message. If the queue is empty, pass osaWaitForever_c will wait indefinitely, pass 0 will return KOSA_StatusTimeout immediately.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > Message successfully obtained from the queue. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusTimeout< / td > < td > The queue remains empty after timeout. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > Invalid parameter. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "gaca0a3d51780350ac37fb3d349407ec98" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > int OSA_MsgQAvailableMsgs < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a >   < / td >
< td class = "paramname" > < em > msgqHandle< / em > < / td > < td > )< / td >
< td > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
2024-04-12 13:21:49 +00:00
< / table >
< / div > < div class = "memdoc" >
< p > This function is used to get the available message.< / p >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > msgqHandle< / td > < td > Message Queue handler.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "section return" > < dt > Returns< / dt > < dd > Available message count < / dd > < / dl >
< / div >
< / div >
< a class = "anchor" id = "ga8d20a741c86cd504888ba518d426f69b" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
2023-01-26 02:53:53 +00:00
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > < a class = "el" href = "a00070.html#ga60bf015c712d1c58e008dc489c37e101" > osa_status_t< / a > OSA_MsgQDestroy < / td >
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "a00070.html#ga85cf3c01d07c577a5f3e23e0a40a2b64" > osa_msgq_handle_t< / a >   < / td >
< td class = "paramname" > < em > msgqHandle< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
2024-04-12 13:21:49 +00:00
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
< tr > < td class = "paramname" > msgqHandle< / td > < td > Message Queue handler.< / td > < / tr >
< / table >
< / dd >
< / dl >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > KOSA_StatusSuccess< / td > < td > The queue was successfully destroyed. < / td > < / tr >
< tr > < td class = "paramname" > KOSA_StatusError< / td > < td > Message queue destruction failed. < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a class = "anchor" id = "gabc3512ab77e1abdf0942621caa41a18e" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
2023-01-26 02:53:53 +00:00
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > void OSA_TimeDelay < / td >
< td > (< / td >
< td class = "paramtype" > uint32_t  < / td >
< td class = "paramname" > < em > millisec< / em > < / td > < td > )< / td >
2023-01-26 02:53:53 +00:00
< td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > millisec< / td > < td > The time in milliseconds to wait. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
2024-04-12 13:21:49 +00:00
< a class = "anchor" id = "ga13573345b625c22855e4c1d02fdbb284" > < / a >
2023-01-26 02:53:53 +00:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > uint32_t OSA_TimeGetMsec < / td >
2023-01-26 02:53:53 +00:00
< td > (< / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > void  < / td >
< td class = "paramname" > < / td > < td > )< / td >
< td > < / td >
2023-01-26 02:53:53 +00:00
< / tr >
2024-04-12 13:21:49 +00:00
< / table >
< / div > < div class = "memdoc" >
< dl class = "retval" > < dt > Return values< / dt > < dd >
< table class = "retval" >
< tr > < td class = "paramname" > current< / td > < td > time in milliseconds < / td > < / tr >
< / table >
< / dd >
< / dl >
< / div >
< / div >
< a class = "anchor" id = "ga16804c3d8d0b5f8ce3d4f9915a30bafe" > < / a >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
2023-01-26 02:53:53 +00:00
< tr >
2024-04-12 13:21:49 +00:00
< td class = "memname" > void OSA_InstallIntHandler < / td >
< td > (< / td >
2023-01-26 02:53:53 +00:00
< td class = "paramtype" > uint32_t  < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramname" > < em > IRQNumber< / em > , < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2024-04-12 13:21:49 +00:00
< td class = "paramtype" > void(*)(void)  < / td >
< td class = "paramname" > < em > handler< / em >   < / td >
2023-01-26 02:53:53 +00:00
< / tr >
< tr >
< td > < / td >
< td > )< / td >
< td > < / td > < td > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< dl class = "params" > < dt > Parameters< / dt > < dd >
< table class = "params" >
2024-04-12 13:21:49 +00:00
< tr > < td class = "paramname" > IRQNumber< / td > < td > IRQ number of the interrupt. < / td > < / tr >
< tr > < td class = "paramname" > handler< / td > < td > The interrupt handler to install. < / td > < / tr >
2023-01-26 02:53:53 +00:00
< / table >
< / dd >
< / dl >
< / div >
< / div >
< / div > <!-- contents -->
< / div > <!-- doc - content -->
<!-- HTML footer for doxygen 1.8.5 -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul class = "foot" >
< li class = "footer" > © 2016 NXP Semiconductors. All rights reserved.
< / li >
< / ul >
< / div >
< / body >
< / html >