-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuffer__stream_8h_source.html
122 lines (120 loc) · 13.2 KB
/
buffer__stream_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FlipperZero Firmware: lib/toolbox/buffer_stream.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">FlipperZero Firmware
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_13d21c8c6ca0e7a500ae25ea47aeacf2.html">toolbox</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">buffer_stream.h</div></div>
</div><!--header-->
<div class="contents">
<a href="buffer__stream_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include <furi.h></span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_buffer.html">Buffer</a> <a class="code hl_struct" href="struct_buffer.html">Buffer</a>;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span>uint8_t* <a class="code hl_function" href="buffer__stream_8h.html#a0577b374a1c0c3e38578c9cb6300d919">buffer_get_data</a>(<a class="code hl_struct" href="struct_buffer.html">Buffer</a>* buffer);</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keywordtype">size_t</span> <a class="code hl_function" href="buffer__stream_8h.html#a15867e99c4ed8a581568d2f3bac2ed28">buffer_get_size</a>(<a class="code hl_struct" href="struct_buffer.html">Buffer</a>* buffer);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keywordtype">void</span> <a class="code hl_function" href="buffer__stream_8h.html#a372b048ce51cff4e9566868cf27af392">buffer_reset</a>(<a class="code hl_struct" href="struct_buffer.html">Buffer</a>* buffer);</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a> <a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a>;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a>* <a class="code hl_function" href="buffer__stream_8h.html#ab28949d382101aa8eb7088f33cc9124b">buffer_stream_alloc</a>(<span class="keywordtype">size_t</span> buffer_size, <span class="keywordtype">size_t</span> buffers_count);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="keywordtype">void</span> <a class="code hl_function" href="buffer__stream_8h.html#acfaa431f0f9f5cb36596b7873dc0f57d">buffer_stream_free</a>(<a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a>* buffer_stream);</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="keywordtype">bool</span> <a class="code hl_function" href="buffer__stream_8h.html#acf2dcd2f6e0cba393d134d57a5defc95">buffer_stream_send_from_isr</a>(<a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a>* buffer_stream, <span class="keyword">const</span> uint8_t* data, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><a class="code hl_struct" href="struct_buffer.html">Buffer</a>* <a class="code hl_function" href="buffer__stream_8h.html#a05a4427f150636ee05ca2e4a4e053cc4">buffer_stream_receive</a>(<a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a>* buffer_stream, TickType_t timeout);</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="keywordtype">size_t</span> <a class="code hl_function" href="buffer__stream_8h.html#a00a2dee1366c0488440c55db7d7b0687">buffer_stream_get_overrun_count</a>(<a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a>* buffer_stream);</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="keywordtype">void</span> <a class="code hl_function" href="buffer__stream_8h.html#a31a81e6a6c9807ab89e964ef79ef06ae">buffer_stream_reset</a>(<a class="code hl_struct" href="struct_buffer_stream.html">BufferStream</a>* buffer_stream);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>}</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="abuffer__stream_8h_html_a00a2dee1366c0488440c55db7d7b0687"><div class="ttname"><a href="buffer__stream_8h.html#a00a2dee1366c0488440c55db7d7b0687">buffer_stream_get_overrun_count</a></div><div class="ttdeci">size_t buffer_stream_get_overrun_count(BufferStream *buffer_stream)</div><div class="ttdoc">Get stream overrun count.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:127</div></div>
<div class="ttc" id="abuffer__stream_8h_html_a0577b374a1c0c3e38578c9cb6300d919"><div class="ttname"><a href="buffer__stream_8h.html#a0577b374a1c0c3e38578c9cb6300d919">buffer_get_data</a></div><div class="ttdeci">uint8_t * buffer_get_data(Buffer *buffer)</div><div class="ttdoc">Get buffer data pointer.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:31</div></div>
<div class="ttc" id="abuffer__stream_8h_html_a05a4427f150636ee05ca2e4a4e053cc4"><div class="ttname"><a href="buffer__stream_8h.html#a05a4427f150636ee05ca2e4a4e053cc4">buffer_stream_receive</a></div><div class="ttdeci">Buffer * buffer_stream_receive(BufferStream *buffer_stream, TickType_t timeout)</div><div class="ttdoc">Receive buffer from stream.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:115</div></div>
<div class="ttc" id="abuffer__stream_8h_html_a15867e99c4ed8a581568d2f3bac2ed28"><div class="ttname"><a href="buffer__stream_8h.html#a15867e99c4ed8a581568d2f3bac2ed28">buffer_get_size</a></div><div class="ttdeci">size_t buffer_get_size(Buffer *buffer)</div><div class="ttdoc">Get buffer size.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:35</div></div>
<div class="ttc" id="abuffer__stream_8h_html_a31a81e6a6c9807ab89e964ef79ef06ae"><div class="ttname"><a href="buffer__stream_8h.html#a31a81e6a6c9807ab89e964ef79ef06ae">buffer_stream_reset</a></div><div class="ttdeci">void buffer_stream_reset(BufferStream *buffer_stream)</div><div class="ttdoc">Reset stream and buffer pool.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:131</div></div>
<div class="ttc" id="abuffer__stream_8h_html_a372b048ce51cff4e9566868cf27af392"><div class="ttname"><a href="buffer__stream_8h.html#a372b048ce51cff4e9566868cf27af392">buffer_reset</a></div><div class="ttdeci">void buffer_reset(Buffer *buffer)</div><div class="ttdoc">Reset buffer and send to free buffer pool.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:39</div></div>
<div class="ttc" id="abuffer__stream_8h_html_ab28949d382101aa8eb7088f33cc9124b"><div class="ttname"><a href="buffer__stream_8h.html#ab28949d382101aa8eb7088f33cc9124b">buffer_stream_alloc</a></div><div class="ttdeci">BufferStream * buffer_stream_alloc(size_t buffer_size, size_t buffers_count)</div><div class="ttdoc">Allocate a new BufferStream instance.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:44</div></div>
<div class="ttc" id="abuffer__stream_8h_html_acf2dcd2f6e0cba393d134d57a5defc95"><div class="ttname"><a href="buffer__stream_8h.html#acf2dcd2f6e0cba393d134d57a5defc95">buffer_stream_send_from_isr</a></div><div class="ttdeci">bool buffer_stream_send_from_isr(BufferStream *buffer_stream, const uint8_t *data, size_t size)</div><div class="ttdoc">Write data to buffer stream, from ISR context Data will be written to the buffer until the buffer is ...</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:85</div></div>
<div class="ttc" id="abuffer__stream_8h_html_acfaa431f0f9f5cb36596b7873dc0f57d"><div class="ttname"><a href="buffer__stream_8h.html#acfaa431f0f9f5cb36596b7873dc0f57d">buffer_stream_free</a></div><div class="ttdeci">void buffer_stream_free(BufferStream *buffer_stream)</div><div class="ttdoc">Free a BufferStream instance.</div><div class="ttdef"><b>Definition:</b> buffer_stream.c:64</div></div>
<div class="ttc" id="astruct_buffer_html"><div class="ttname"><a href="struct_buffer.html">Buffer</a></div><div class="ttdef"><b>Definition:</b> buffer_stream.c:3</div></div>
<div class="ttc" id="astruct_buffer_stream_html"><div class="ttname"><a href="struct_buffer_stream.html">BufferStream</a></div><div class="ttdef"><b>Definition:</b> buffer_stream.c:10</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
</small></address>
</body>
</html>