1 <!-- HTML header for doxygen 1.8.20-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.9.4"/>
8 <meta name="viewport" content="width=device-width, initial-scale=1"/>
9 <title>Raspberry Pi Pico SDK: include/pico/async_context.h File Reference</title>
10 <!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="dynsections.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17 <link href="search/search.css" rel="stylesheet" type="text/css"/>
18 <script type="text/javascript" src="search/searchdata.js"></script>
19 <script type="text/javascript" src="search/search.js"></script>
20 <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
21 <link href="doxygen.css" rel="stylesheet" type="text/css" />
22 <link href="normalise.css" rel="stylesheet" type="text/css"/>
23 <link href="main.css" rel="stylesheet" type="text/css"/>
24 <link href="styles.css" rel="stylesheet" type="text/css"/>
27 <div class="navigation-mobile">
28 <div class="logo--mobile">
29 <a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
31 <div class="navigation-toggle">
32 <span class="line-1"></span>
36 <span class="line-3"></span>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
41 <a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
42 <span style="display: inline-block; margin-top: 10px;">
46 <div class="navigation-footer">
47 <img src="logo-mobile.svg" alt="Raspberry Pi">
48 <a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
50 <!-- <div class="search">
52 <input type="search" name="search" id="search" placeholder="Search">
53 <input type="submit" value="Search">
56 <!-- Generated by Doxygen 1.9.4 -->
57 <script type="text/javascript">
58 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
59 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
62 <script type="text/javascript" src="menudata.js"></script>
63 <script type="text/javascript" src="menu.js"></script>
64 <script type="text/javascript">
65 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
67 initMenu('',true,false,'search.php','Search');
68 $(document).ready(function() { init_search(); });
72 <div id="main-nav"></div>
74 <div id="side-nav" class="ui-resizable side-nav-resizable">
76 <div id="nav-tree-contents">
77 <div id="nav-sync" class="sync"></div>
80 <div id="splitbar" style="-moz-user-select:none;"
81 class="ui-resizable-handle">
84 <script type="text/javascript">
85 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
86 $(document).ready(function(){initNavTree('async__context_8h.html',''); initResizable(); });
89 <div id="doc-content">
90 <!-- window showing the filter options -->
91 <div id="MSearchSelectWindow"
92 onmouseover="return searchBox.OnSearchSelectShow()"
93 onmouseout="return searchBox.OnSearchSelectHide()"
94 onkeydown="return searchBox.OnSearchSelectKey(event)">
97 <!-- iframe showing the search results (closed by default) -->
98 <div id="MSearchResultsWindow">
99 <iframe src="javascript:void(0)" frameborder="0"
100 name="MSearchResults" id="MSearchResults">
105 <div class="summary">
106 <a href="#nested-classes">Data Structures</a> |
107 <a href="#define-members">Macros</a> |
108 <a href="#typedef-members">Typedefs</a> |
109 <a href="#enum-members">Enumerations</a> |
110 <a href="#func-members">Functions</a> </div>
111 <div class="headertitle"><div class="title">async_context.h File Reference</div></div>
113 <div class="contents">
114 <div class="textblock"><code>#include "<a class="el" href="pico_8h_source.html">pico.h</a>"</code><br />
115 <code>#include "<a class="el" href="common_2pico__time_2include_2pico_2time_8h_source.html">pico/time.h</a>"</code><br />
116 </div><div class="textblock"><div class="dynheader">
117 Include dependency graph for async_context.h:</div>
118 <div class="dyncontent">
119 <div class="center"><img src="async__context_8h__incl.png" border="0" usemap="#ainclude_2pico_2async__context_8h" alt=""/></div>
120 <map name="ainclude_2pico_2async__context_8h" id="ainclude_2pico_2async__context_8h">
121 <area shape="rect" title=" " alt="" coords="404,5,547,47"/>
122 <area shape="rect" href="pico_8h.html" title=" " alt="" coords="411,244,473,271"/>
123 <area shape="rect" href="common_2pico__time_2include_2pico_2time_8h.html" title=" " alt="" coords="471,95,565,121"/>
124 <area shape="rect" href="common_2pico__base__headers_2include_2pico_2types_8h_source.html" title=" " alt="" coords="158,468,259,495"/>
125 <area shape="rect" title=" " alt="" coords="252,319,365,345"/>
126 <area shape="rect" href="common_2pico__base__headers_2include_2pico_2config_8h_source.html" title=" " alt="" coords="390,319,494,345"/>
127 <area shape="rect" href="platform_8h.html" title=" " alt="" coords="596,319,717,345"/>
128 <area shape="rect" href="error_8h_source.html" title=" " alt="" coords="741,319,836,345"/>
129 <area shape="rect" href="assert_8h_source.html" title=" " alt="" coords="5,543,111,569"/>
130 <area shape="rect" title=" " alt="" coords="74,617,157,644"/>
131 <area shape="rect" title=" " alt="" coords="211,543,281,569"/>
132 <area shape="rect" title=" " alt="" coords="306,543,381,569"/>
133 <area shape="rect" title=" " alt="" coords="173,393,337,420"/>
134 <area shape="rect" href="compiler_8h_source.html" title=" " alt="" coords="362,393,543,420"/>
135 <area shape="rect" href="sections_8h_source.html" title=" " alt="" coords="567,393,746,420"/>
136 <area shape="rect" href="panic_8h_source.html" title=" " alt="" coords="770,393,930,420"/>
137 <area shape="rect" title=" " alt="" coords="954,393,1165,420"/>
138 <area shape="rect" title=" " alt="" coords="1189,393,1340,420"/>
139 <area shape="rect" title=" " alt="" coords="357,468,548,495"/>
140 <area shape="rect" href="rp2__common_2hardware__timer_2include_2hardware_2timer_8h.html" title=" " alt="" coords="521,169,654,196"/>
141 <area shape="rect" title=" " alt="" coords="497,244,678,271"/>
142 <area shape="rect" title=" " alt="" coords="703,244,872,271"/>
145 </div><div class="textblock"><div class="dynheader">
146 This graph shows which files directly or indirectly include this file:</div>
147 <div class="dyncontent">
148 <div class="center"><img src="async__context_8h__dep__incl.png" border="0" usemap="#ainclude_2pico_2async__context_8hdep" alt=""/></div>
149 <map name="ainclude_2pico_2async__context_8hdep" id="ainclude_2pico_2async__context_8hdep">
150 <area shape="rect" title=" " alt="" coords="695,5,837,47"/>
151 <area shape="rect" href="async__context__base_8h_source.html" title=" " alt="" coords="5,102,148,143"/>
152 <area shape="rect" href="async__context__freertos_8h_source.html" title=" " alt="" coords="172,102,320,143"/>
153 <area shape="rect" href="async__context__poll_8h_source.html" title=" " alt="" coords="344,102,487,143"/>
154 <area shape="rect" href="async__context__threadsafe__background_8h_source.html" title=" " alt="" coords="511,95,666,151"/>
155 <area shape="rect" href="btstack__cyw43_8h.html" title=" " alt="" coords="690,102,842,143"/>
156 <area shape="rect" href="btstack__run__loop__async__context_8h_source.html" title=" " alt="" coords="867,102,1065,143"/>
157 <area shape="rect" href="cyw43__arch_8h.html" title=" " alt="" coords="1090,102,1237,143"/>
158 <area shape="rect" href="lwip__freertos_8h.html" title=" " alt="" coords="1261,109,1463,136"/>
159 <area shape="rect" href="lwip__nosys_8h.html" title=" " alt="" coords="1487,109,1675,136"/>
163 <p><a href="async__context_8h_source.html">Go to the source code of this file.</a></p>
164 <table class="memberdecls">
165 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
166 Data Structures</h2></td></tr>
167 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__work__on__timeout.html">async_work_on_timeout</a></td></tr>
168 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A "timeout" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>. <a href="structasync__work__on__timeout.html#details">More...</a><br /></td></tr>
169 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
170 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__when__pending__worker.html">async_when_pending_worker</a></td></tr>
171 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A "worker" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>. <a href="structasync__when__pending__worker.html#details">More...</a><br /></td></tr>
172 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
173 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__context__type.html">async_context_type</a></td></tr>
174 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> type, providing methods common to that type. <a href="structasync__context__type.html#details">More...</a><br /></td></tr>
175 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
176 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structasync__context.html">async_context</a></td></tr>
177 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base structure type of all async_contexts. For details about its use, see <a class="el" href="group__pico__async__context.html">pico_async_context</a>. <a href="structasync__context.html#details">More...</a><br /></td></tr>
178 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
179 </table><table class="memberdecls">
180 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
181 Macros</h2></td></tr>
182 <tr class="memitem:a02f64b9f7e0aafbdc02c78917dc9e224"><td class="memItemLeft" align="right" valign="top"><a id="a02f64b9f7e0aafbdc02c78917dc9e224" name="a02f64b9f7e0aafbdc02c78917dc9e224"></a>
183 #define </td><td class="memItemRight" valign="bottom"><b>ASYNC_CONTEXT_FLAG_CALLBACK_FROM_NON_IRQ</b>   0x1</td></tr>
184 <tr class="separator:a02f64b9f7e0aafbdc02c78917dc9e224"><td class="memSeparator" colspan="2"> </td></tr>
185 <tr class="memitem:aabf47be02f0332059b6b0d3bd5cd7ef2"><td class="memItemLeft" align="right" valign="top"><a id="aabf47be02f0332059b6b0d3bd5cd7ef2" name="aabf47be02f0332059b6b0d3bd5cd7ef2"></a>
186 #define </td><td class="memItemRight" valign="bottom"><b>ASYNC_CONTEXT_FLAG_CALLBACK_FROM_IRQ</b>   0x2</td></tr>
187 <tr class="separator:aabf47be02f0332059b6b0d3bd5cd7ef2"><td class="memSeparator" colspan="2"> </td></tr>
188 <tr class="memitem:ac8335203dfc05e4ef173c6f53558e205"><td class="memItemLeft" align="right" valign="top"><a id="ac8335203dfc05e4ef173c6f53558e205" name="ac8335203dfc05e4ef173c6f53558e205"></a>
189 #define </td><td class="memItemRight" valign="bottom"><b>ASYNC_CONTEXT_FLAG_POLLED</b>   0x4</td></tr>
190 <tr class="separator:ac8335203dfc05e4ef173c6f53558e205"><td class="memSeparator" colspan="2"> </td></tr>
191 </table><table class="memberdecls">
192 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
193 Typedefs</h2></td></tr>
194 <tr class="memitem:a3728ca5d4a0c859eddfb6b6bca7ba5ef"><td class="memItemLeft" align="right" valign="top"><a id="a3728ca5d4a0c859eddfb6b6bca7ba5ef" name="a3728ca5d4a0c859eddfb6b6bca7ba5ef"></a>
195 typedef struct <a class="el" href="structasync__context.html">async_context</a> </td><td class="memItemRight" valign="bottom"><b>async_context_t</b></td></tr>
196 <tr class="separator:a3728ca5d4a0c859eddfb6b6bca7ba5ef"><td class="memSeparator" colspan="2"> </td></tr>
197 <tr class="memitem:ga74aa4914d98b190d2d4d84d7ff6b469e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structasync__work__on__timeout.html">async_work_on_timeout</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a></td></tr>
198 <tr class="memdesc:ga74aa4914d98b190d2d4d84d7ff6b469e"><td class="mdescLeft"> </td><td class="mdescRight">A "timeout" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>. <a href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">More...</a><br /></td></tr>
199 <tr class="separator:ga74aa4914d98b190d2d4d84d7ff6b469e"><td class="memSeparator" colspan="2"> </td></tr>
200 <tr class="memitem:ga975e8fa20352873b7ac76b06a497eb2b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structasync__when__pending__worker.html">async_when_pending_worker</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a></td></tr>
201 <tr class="memdesc:ga975e8fa20352873b7ac76b06a497eb2b"><td class="mdescLeft"> </td><td class="mdescRight">A "worker" instance used by an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>. <a href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">More...</a><br /></td></tr>
202 <tr class="separator:ga975e8fa20352873b7ac76b06a497eb2b"><td class="memSeparator" colspan="2"> </td></tr>
203 <tr class="memitem:ga1dd6a1433c144f4c4ea28d54176d9fc7"><td class="memItemLeft" align="right" valign="top">
204 typedef struct <a class="el" href="structasync__context__type.html">async_context_type</a> </td><td class="memItemRight" valign="bottom"><b>async_context_type_t</b></td></tr>
205 <tr class="memdesc:ga1dd6a1433c144f4c4ea28d54176d9fc7"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> type, providing methods common to that type. <br /></td></tr>
206 <tr class="separator:ga1dd6a1433c144f4c4ea28d54176d9fc7"><td class="memSeparator" colspan="2"> </td></tr>
207 </table><table class="memberdecls">
208 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
209 Enumerations</h2></td></tr>
210 <tr class="memitem:a550cb4231d535863c55643bbd2d3c6ba"><td class="memItemLeft" align="right" valign="top"><a id="a550cb4231d535863c55643bbd2d3c6ba" name="a550cb4231d535863c55643bbd2d3c6ba"></a>enum  </td><td class="memItemRight" valign="bottom">{ <b>ASYNC_CONTEXT_POLL</b> = 1
211 , <b>ASYNC_CONTEXT_THREADSAFE_BACKGROUND</b> = 2
212 , <b>ASYNC_CONTEXT_FREERTOS</b> = 3
214 <tr class="separator:a550cb4231d535863c55643bbd2d3c6ba"><td class="memSeparator" colspan="2"> </td></tr>
215 </table><table class="memberdecls">
216 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
217 Functions</h2></td></tr>
218 <tr class="memitem:ga404d5e6a8ef79159c692dc040f2ded44"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga404d5e6a8ef79159c692dc040f2ded44">async_context_acquire_lock_blocking</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
219 <tr class="memdesc:ga404d5e6a8ef79159c692dc040f2ded44"><td class="mdescLeft"> </td><td class="mdescRight">Acquire the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> lock. <a href="group__pico__async__context.html#ga404d5e6a8ef79159c692dc040f2ded44">More...</a><br /></td></tr>
220 <tr class="separator:ga404d5e6a8ef79159c692dc040f2ded44"><td class="memSeparator" colspan="2"> </td></tr>
221 <tr class="memitem:gada9eb6dbc0442ba9cbb44a41526f3b9f"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gada9eb6dbc0442ba9cbb44a41526f3b9f">async_context_release_lock</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
222 <tr class="memdesc:gada9eb6dbc0442ba9cbb44a41526f3b9f"><td class="mdescLeft"> </td><td class="mdescRight">Release the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> lock. <a href="group__pico__async__context.html#gada9eb6dbc0442ba9cbb44a41526f3b9f">More...</a><br /></td></tr>
223 <tr class="separator:gada9eb6dbc0442ba9cbb44a41526f3b9f"><td class="memSeparator" colspan="2"> </td></tr>
224 <tr class="memitem:ga032285b9d1a4aa325813cdbcc1f00a75"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga032285b9d1a4aa325813cdbcc1f00a75">async_context_lock_check</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
225 <tr class="memdesc:ga032285b9d1a4aa325813cdbcc1f00a75"><td class="mdescLeft"> </td><td class="mdescRight">Assert if the caller does not own the lock for the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>. <a href="group__pico__async__context.html#ga032285b9d1a4aa325813cdbcc1f00a75">More...</a><br /></td></tr>
226 <tr class="separator:ga032285b9d1a4aa325813cdbcc1f00a75"><td class="memSeparator" colspan="2"> </td></tr>
227 <tr class="memitem:gaa4b239c998978b97eabe2aa2ad659720"><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gaa4b239c998978b97eabe2aa2ad659720">async_context_execute_sync</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, uint32_t(*func)(void *param), void *param)</td></tr>
228 <tr class="memdesc:gaa4b239c998978b97eabe2aa2ad659720"><td class="mdescLeft"> </td><td class="mdescRight">Execute work synchronously on the core the <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> belongs to. <a href="group__pico__async__context.html#gaa4b239c998978b97eabe2aa2ad659720">More...</a><br /></td></tr>
229 <tr class="separator:gaa4b239c998978b97eabe2aa2ad659720"><td class="memSeparator" colspan="2"> </td></tr>
230 <tr class="memitem:gad4ea52957b11c70d908e5af6f0c715ab"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gad4ea52957b11c70d908e5af6f0c715ab">async_context_add_at_time_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker)</td></tr>
231 <tr class="memdesc:gad4ea52957b11c70d908e5af6f0c715ab"><td class="mdescLeft"> </td><td class="mdescRight">Add an "at time" worker to a context. <a href="group__pico__async__context.html#gad4ea52957b11c70d908e5af6f0c715ab">More...</a><br /></td></tr>
232 <tr class="separator:gad4ea52957b11c70d908e5af6f0c715ab"><td class="memSeparator" colspan="2"> </td></tr>
233 <tr class="memitem:ga8ef9fba4dd680a576d94c82b40b10fc3"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga8ef9fba4dd680a576d94c82b40b10fc3">async_context_add_at_time_worker_at</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> at)</td></tr>
234 <tr class="memdesc:ga8ef9fba4dd680a576d94c82b40b10fc3"><td class="mdescLeft"> </td><td class="mdescRight">Add an "at time" worker to a context. <a href="group__pico__async__context.html#ga8ef9fba4dd680a576d94c82b40b10fc3">More...</a><br /></td></tr>
235 <tr class="separator:ga8ef9fba4dd680a576d94c82b40b10fc3"><td class="memSeparator" colspan="2"> </td></tr>
236 <tr class="memitem:gae0792d86734a6e30b2f043b8eba42438"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gae0792d86734a6e30b2f043b8eba42438">async_context_add_at_time_worker_in_ms</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker, uint32_t ms)</td></tr>
237 <tr class="memdesc:gae0792d86734a6e30b2f043b8eba42438"><td class="mdescLeft"> </td><td class="mdescRight">Add an "at time" worker to a context. <a href="group__pico__async__context.html#gae0792d86734a6e30b2f043b8eba42438">More...</a><br /></td></tr>
238 <tr class="separator:gae0792d86734a6e30b2f043b8eba42438"><td class="memSeparator" colspan="2"> </td></tr>
239 <tr class="memitem:ga58c96cc02b63e12874cae38442c7c4dd"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga58c96cc02b63e12874cae38442c7c4dd">async_context_remove_at_time_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga74aa4914d98b190d2d4d84d7ff6b469e">async_at_time_worker_t</a> *worker)</td></tr>
240 <tr class="memdesc:ga58c96cc02b63e12874cae38442c7c4dd"><td class="mdescLeft"> </td><td class="mdescRight">Remove an "at time" worker from a context. <a href="group__pico__async__context.html#ga58c96cc02b63e12874cae38442c7c4dd">More...</a><br /></td></tr>
241 <tr class="separator:ga58c96cc02b63e12874cae38442c7c4dd"><td class="memSeparator" colspan="2"> </td></tr>
242 <tr class="memitem:ga9d42179771bcc8c99124c43dcc7b1350"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga9d42179771bcc8c99124c43dcc7b1350">async_context_add_when_pending_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a> *worker)</td></tr>
243 <tr class="memdesc:ga9d42179771bcc8c99124c43dcc7b1350"><td class="mdescLeft"> </td><td class="mdescRight">Add a "when pending" worker to a context. <a href="group__pico__async__context.html#ga9d42179771bcc8c99124c43dcc7b1350">More...</a><br /></td></tr>
244 <tr class="separator:ga9d42179771bcc8c99124c43dcc7b1350"><td class="memSeparator" colspan="2"> </td></tr>
245 <tr class="memitem:ga72b40c2505cd08cb542c3f1759b9e1d5"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga72b40c2505cd08cb542c3f1759b9e1d5">async_context_remove_when_pending_worker</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a> *worker)</td></tr>
246 <tr class="memdesc:ga72b40c2505cd08cb542c3f1759b9e1d5"><td class="mdescLeft"> </td><td class="mdescRight">Remove a "when pending" worker from a context. <a href="group__pico__async__context.html#ga72b40c2505cd08cb542c3f1759b9e1d5">More...</a><br /></td></tr>
247 <tr class="separator:ga72b40c2505cd08cb542c3f1759b9e1d5"><td class="memSeparator" colspan="2"> </td></tr>
248 <tr class="memitem:ga1ca51536a6f0344cfcbd30bd09fbaec2"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga1ca51536a6f0344cfcbd30bd09fbaec2">async_context_set_work_pending</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__pico__async__context.html#ga975e8fa20352873b7ac76b06a497eb2b">async_when_pending_worker_t</a> *worker)</td></tr>
249 <tr class="memdesc:ga1ca51536a6f0344cfcbd30bd09fbaec2"><td class="mdescLeft"> </td><td class="mdescRight">Mark a "when pending" worker as having work pending. <a href="group__pico__async__context.html#ga1ca51536a6f0344cfcbd30bd09fbaec2">More...</a><br /></td></tr>
250 <tr class="separator:ga1ca51536a6f0344cfcbd30bd09fbaec2"><td class="memSeparator" colspan="2"> </td></tr>
251 <tr class="memitem:gafdb322c3f1043265624988215d3a8df9"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gafdb322c3f1043265624988215d3a8df9">async_context_poll</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
252 <tr class="memdesc:gafdb322c3f1043265624988215d3a8df9"><td class="mdescLeft"> </td><td class="mdescRight">Perform any pending work for polling style <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a>. <a href="group__pico__async__context.html#gafdb322c3f1043265624988215d3a8df9">More...</a><br /></td></tr>
253 <tr class="separator:gafdb322c3f1043265624988215d3a8df9"><td class="memSeparator" colspan="2"> </td></tr>
254 <tr class="memitem:gad2f27b21dbaa264dfe59ef0f59de11db"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gad2f27b21dbaa264dfe59ef0f59de11db">async_context_wait_until</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> until)</td></tr>
255 <tr class="memdesc:gad2f27b21dbaa264dfe59ef0f59de11db"><td class="mdescLeft"> </td><td class="mdescRight">sleep until the specified time in an <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> callback safe way <a href="group__pico__async__context.html#gad2f27b21dbaa264dfe59ef0f59de11db">More...</a><br /></td></tr>
256 <tr class="separator:gad2f27b21dbaa264dfe59ef0f59de11db"><td class="memSeparator" colspan="2"> </td></tr>
257 <tr class="memitem:ga6207f562c0b69c7a75cd81a783eb1055"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga6207f562c0b69c7a75cd81a783eb1055">async_context_wait_for_work_until</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> until)</td></tr>
258 <tr class="memdesc:ga6207f562c0b69c7a75cd81a783eb1055"><td class="mdescLeft"> </td><td class="mdescRight">Block until work needs to be done or the specified time has been reached. <a href="group__pico__async__context.html#ga6207f562c0b69c7a75cd81a783eb1055">More...</a><br /></td></tr>
259 <tr class="separator:ga6207f562c0b69c7a75cd81a783eb1055"><td class="memSeparator" colspan="2"> </td></tr>
260 <tr class="memitem:gaae7ea2fed2b274a63455773d056f6d4c"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#gaae7ea2fed2b274a63455773d056f6d4c">async_context_wait_for_work_ms</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context, uint32_t ms)</td></tr>
261 <tr class="memdesc:gaae7ea2fed2b274a63455773d056f6d4c"><td class="mdescLeft"> </td><td class="mdescRight">Block until work needs to be done or the specified number of milliseconds have passed. <a href="group__pico__async__context.html#gaae7ea2fed2b274a63455773d056f6d4c">More...</a><br /></td></tr>
262 <tr class="separator:gaae7ea2fed2b274a63455773d056f6d4c"><td class="memSeparator" colspan="2"> </td></tr>
263 <tr class="memitem:ga604afdcf2e76f1bf99df469edfadf7eb"><td class="memItemLeft" align="right" valign="top">static uint </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga604afdcf2e76f1bf99df469edfadf7eb">async_context_core_num</a> (const <a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
264 <tr class="memdesc:ga604afdcf2e76f1bf99df469edfadf7eb"><td class="mdescLeft"> </td><td class="mdescRight">Return the processor core this <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> belongs to. <a href="group__pico__async__context.html#ga604afdcf2e76f1bf99df469edfadf7eb">More...</a><br /></td></tr>
265 <tr class="separator:ga604afdcf2e76f1bf99df469edfadf7eb"><td class="memSeparator" colspan="2"> </td></tr>
266 <tr class="memitem:ga66d09e106e04d70971d4fb6f09d5d949"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pico__async__context.html#ga66d09e106e04d70971d4fb6f09d5d949">async_context_deinit</a> (<a class="el" href="structasync__context.html">async_context_t</a> *context)</td></tr>
267 <tr class="memdesc:ga66d09e106e04d70971d4fb6f09d5d949"><td class="mdescLeft"> </td><td class="mdescRight">End <a class="el" href="structasync__context.html" title="Base structure type of all async_contexts. For details about its use, see pico_async_context.">async_context</a> processing, and free any resources. <a href="group__pico__async__context.html#ga66d09e106e04d70971d4fb6f09d5d949">More...</a><br /></td></tr>
268 <tr class="separator:ga66d09e106e04d70971d4fb6f09d5d949"><td class="memSeparator" colspan="2"> </td></tr>
270 </div><!-- contents -->
271 </div><!-- doc-content -->
273 <script src="main.js"></script>