diff options
Diffstat (limited to 'build/doc/html/mem_8h_source.html')
-rw-r--r-- | build/doc/html/mem_8h_source.html | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/build/doc/html/mem_8h_source.html b/build/doc/html/mem_8h_source.html new file mode 100644 index 00000000..eae18129 --- /dev/null +++ b/build/doc/html/mem_8h_source.html @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.15"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>PipeWire: mem.h Source File</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ + $(document).ready(initResizable); +/* @license-end */</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">PipeWire +  <span id="projectnumber">0.2.9</span> + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.15 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +/* @license-end */</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('mem_8h_source.html','');}); +/* @license-end */ +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">mem.h</div> </div> +</div><!--header--> +<div class="contents"> +<a href="mem_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* PipeWire</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Copyright © 2018 Wim Taymans</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * copy of this software and associated documentation files (the "Software"),</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * to deal in the Software without restriction, including without limitation</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * Software is furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * The above copyright notice and this permission notice (including the next</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * paragraph) shall be included in all copies or substantial portions of the</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Software.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * DEALINGS IN THE SOFTWARE.</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef PIPEWIRE_MEM_H</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define PIPEWIRE_MEM_H</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <<a class="code" href="properties_8h.html">pipewire/properties.h</a>></span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structpw__memblock.html#aa754e8d30b01da58829b3e372c78f739"> 35</a></span> <span class="keyword">enum</span> <a class="code" href="structpw__memblock.html#aa754e8d30b01da58829b3e372c78f739">pw_memblock_flags</a> {</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mem_8h.html#ad862afa8e27e952be60c34be8107fde1"> 36</a></span>  <a class="code" href="mem_8h.html#ad862afa8e27e952be60c34be8107fde1">PW_MEMBLOCK_FLAG_NONE</a> = 0,</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mem_8h.html#a65372cd6e7628ad0d817a8aae9effa7f"> 37</a></span>  <a class="code" href="mem_8h.html#a65372cd6e7628ad0d817a8aae9effa7f">PW_MEMBLOCK_FLAG_READABLE</a> = (1 << 0),</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="mem_8h.html#a777872c959bb5a9ef7767b0218b1b0ba"> 38</a></span>  <a class="code" href="mem_8h.html#a777872c959bb5a9ef7767b0218b1b0ba">PW_MEMBLOCK_FLAG_WRITABLE</a> = (1 << 1),</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="mem_8h.html#a65f120caa99eb2b3f5e71ee7581c4cd4"> 39</a></span>  <a class="code" href="mem_8h.html#a65f120caa99eb2b3f5e71ee7581c4cd4">PW_MEMBLOCK_FLAG_SEAL</a> = (1 << 2),</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mem_8h.html#a0f28ca9bb22207df34f28448e1948112"> 40</a></span>  <a class="code" href="mem_8h.html#a0f28ca9bb22207df34f28448e1948112">PW_MEMBLOCK_FLAG_MAP</a> = (1 << 3),</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mem_8h.html#af322c38a861c5a1639c666137a045e3a"> 41</a></span>  <a class="code" href="mem_8h.html#af322c38a861c5a1639c666137a045e3a">PW_MEMBLOCK_FLAG_DONT_CLOSE</a> = (1 << 4),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="mem_8h.html#a00bd094c3e2bea25eb5abe2d22d5af1d"> 43</a></span>  <a class="code" href="mem_8h.html#a00bd094c3e2bea25eb5abe2d22d5af1d">PW_MEMBLOCK_FLAG_READWRITE</a> = <a class="code" href="mem_8h.html#a65372cd6e7628ad0d817a8aae9effa7f">PW_MEMBLOCK_FLAG_READABLE</a> | <a class="code" href="mem_8h.html#a777872c959bb5a9ef7767b0218b1b0ba">PW_MEMBLOCK_FLAG_WRITABLE</a>,</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> };</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mem_8h.html#a1daf40887c9a63347e9c59822287747a"> 46</a></span> <span class="keyword">enum</span> <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747a">pw_memmap_flags</a> {</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aac3e5ceea50faacf9d2aac1670f07fd65"> 47</a></span>  <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aac3e5ceea50faacf9d2aac1670f07fd65">PW_MEMMAP_FLAG_NONE</a> = 0,</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa58334ee09eeba50b788a04f276440475"> 48</a></span>  <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa58334ee09eeba50b788a04f276440475">PW_MEMMAP_FLAG_READ</a> = (1 << 0), </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa8b0a302b83a9d3cd11e2b6ed7f82f546"> 49</a></span>  <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa8b0a302b83a9d3cd11e2b6ed7f82f546">PW_MEMMAP_FLAG_WRITE</a> = (1 << 1), </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aaf12060ee3328912e62d05650edaa999a"> 50</a></span>  <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aaf12060ee3328912e62d05650edaa999a">PW_MEMMAP_FLAG_TWICE</a> = (1 << 2), </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa5e15b1dc0d4d0354a37a841af139411b"> 52</a></span>  <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa5e15b1dc0d4d0354a37a841af139411b">PW_MEMMAP_FLAG_READWRITE</a> = <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa58334ee09eeba50b788a04f276440475">PW_MEMMAP_FLAG_READ</a> | <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa8b0a302b83a9d3cd11e2b6ed7f82f546">PW_MEMMAP_FLAG_WRITE</a>,</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> };</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">struct </span>pw_memchunk;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structpw__mempool.html"> 57</a></span> <span class="keyword">struct </span><a class="code" href="structpw__mempool.html">pw_mempool</a> {</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structpw__mempool.html#a47412553dbf76a729d9e7e1df0bd2cf3"> 58</a></span>  <span class="keyword">struct </span><a class="code" href="structpw__properties.html">pw_properties</a> *<a class="code" href="structpw__mempool.html#a47412553dbf76a729d9e7e1df0bd2cf3">props</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> };</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structpw__memblock.html"> 63</a></span> <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> {</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7"> 64</a></span>  <span class="keyword">struct </span><a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>; </div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structpw__memblock.html#a1ca99934939d8b89c158a0256d6d906c"> 65</a></span>  uint32_t <a class="code" href="structpw__memblock.html#a1ca99934939d8b89c158a0256d6d906c">id</a>; </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structpw__memblock.html#ac130234986a5d662d20a3e593448bbbd"> 66</a></span>  <span class="keywordtype">int</span> <a class="code" href="structpw__memblock.html#ac130234986a5d662d20a3e593448bbbd">ref</a>; </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structpw__memblock.html#a88d9c260a71ebd2413b9c4f6c6b84889"> 67</a></span>  uint32_t <a class="code" href="structpw__memblock.html#a88d9c260a71ebd2413b9c4f6c6b84889">flags</a>; </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structpw__memblock.html#a8fb4076dc9a00af2a3da6be6859b6a00"> 68</a></span>  uint32_t <a class="code" href="structpw__memblock.html#a8fb4076dc9a00af2a3da6be6859b6a00">type</a>; </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structpw__memblock.html#a4731883fd9899d0d668c0f44a16d3b33"> 69</a></span>  <span class="keywordtype">int</span> <a class="code" href="structpw__memblock.html#a4731883fd9899d0d668c0f44a16d3b33">fd</a>; </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="structpw__memblock.html#a8e96a2d24a5fc723b2a637de4bf700b1"> 70</a></span>  uint32_t <a class="code" href="structpw__memblock.html#a8e96a2d24a5fc723b2a637de4bf700b1">size</a>; </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structpw__memblock.html#ae9876a344086ff407cf6bf3704b24515"> 71</a></span>  <span class="keyword">struct </span><a class="code" href="structpw__memmap.html">pw_memmap</a> *<a class="code" href="structpw__memblock.html#ae9876a344086ff407cf6bf3704b24515">map</a>; </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> };</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structpw__memmap.html"> 75</a></span> <span class="keyword">struct </span><a class="code" href="structpw__memmap.html">pw_memmap</a> {</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structpw__memmap.html#ae80282a00a02c34be7f36975ea52768b"> 76</a></span>  <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> *<a class="code" href="structpw__memmap.html#ae80282a00a02c34be7f36975ea52768b">block</a>; </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="structpw__memmap.html#a586c7656b932f4c50d0efb007bae6c64"> 77</a></span>  <span class="keywordtype">void</span> *<a class="code" href="structpw__memmap.html#a586c7656b932f4c50d0efb007bae6c64">ptr</a>; </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structpw__memmap.html#a62479406415257a935744739aa3434f3"> 78</a></span>  uint32_t <a class="code" href="structpw__memmap.html#a62479406415257a935744739aa3434f3">flags</a>; </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structpw__memmap.html#a2a254ea08d19704537d73b68ef548a12"> 79</a></span>  uint32_t <a class="code" href="structpw__memmap.html#a2a254ea08d19704537d73b68ef548a12">offset</a>; </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structpw__memmap.html#ae1170cc1555b8b4a5562b4d79cb22cc4"> 80</a></span>  uint32_t <a class="code" href="structpw__memmap.html#ae1170cc1555b8b4a5562b4d79cb22cc4">size</a>; </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structpw__memmap.html#afa567539bf3c9fd16218032faad070ae"> 81</a></span>  uint32_t <a class="code" href="structpw__memmap.html#afa567539bf3c9fd16218032faad070ae">tag</a>[5]; </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> };</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structpw__mempool__events.html"> 84</a></span> <span class="keyword">struct </span><a class="code" href="structpw__mempool__events.html">pw_mempool_events</a> {</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="mem_8h.html#a3dbe2152d1ae85434bf57f58e6c37043"> 85</a></span> <span class="preprocessor">#define PW_VERSION_MEMPOOL_EVENTS 0</span></div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structpw__mempool__events.html#ad9ca75bf0ef8b752ab8d8ca98024c604"> 86</a></span>  uint32_t <a class="code" href="structpw__mempool__events.html#ad9ca75bf0ef8b752ab8d8ca98024c604">version</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structpw__mempool__events.html#a75c60217ff7346dd1da1211990ff3bbe"> 89</a></span>  void (*<a class="code" href="structpw__mempool__events.html#a75c60217ff7346dd1da1211990ff3bbe">destroy</a>) (<span class="keywordtype">void</span> *<a class="code" href="structdata.html">data</a>);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structpw__mempool__events.html#a8ac5a248f57f94a547cfd5fa1e92c2f2"> 92</a></span>  void (*<a class="code" href="structpw__mempool__events.html#a8ac5a248f57f94a547cfd5fa1e92c2f2">added</a>) (<span class="keywordtype">void</span> *<a class="code" href="structdata.html">data</a>, <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> *block);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structpw__mempool__events.html#a74d1debb63e31dc6f7876fc9350b2f7d"> 95</a></span>  void (*<a class="code" href="structpw__mempool__events.html#a74d1debb63e31dc6f7876fc9350b2f7d">removed</a>) (<span class="keywordtype">void</span> *<a class="code" href="structdata.html">data</a>, <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> *block);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> };</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">struct </span><a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="mem_8h.html#ae5e42242439fef39fd696db151642513">pw_mempool_new</a>(<span class="keyword">struct</span> <a class="code" href="structpw__properties.html">pw_properties</a> *<a class="code" href="structprops.html">props</a>);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">void</span> <a class="code" href="mem_8h.html#a5c298052be6fe8f5f4ea78b4fe41733d">pw_mempool_add_listener</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *pool,</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">struct</span> spa_hook *listener,</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpw__mempool__events.html">pw_mempool_events</a> *events,</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">void</span> *<a class="code" href="structdata.html">data</a>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">void</span> <a class="code" href="mem_8h.html#ab253128cb2d2bc7ad5203d2b65e762c8">pw_mempool_destroy</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *pool);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> * <a class="code" href="structpw__memblock.html#a2e25b63057f2c8159c9ad7eba16555db">pw_mempool_alloc</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>,</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">enum</span> <a class="code" href="structpw__memblock.html#aa754e8d30b01da58829b3e372c78f739">pw_memblock_flags</a> <a class="code" href="structpw__memblock.html#a88d9c260a71ebd2413b9c4f6c6b84889">flags</a>, uint32_t <a class="code" href="structpw__memblock.html#a8fb4076dc9a00af2a3da6be6859b6a00">type</a>, <span class="keywordtype">size_t</span> <a class="code" href="structpw__memblock.html#a8e96a2d24a5fc723b2a637de4bf700b1">size</a>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> * <a class="code" href="mem_8h.html#a40f7779f907ebc367725ba5c7c8b0f88">pw_mempool_import_block</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>,</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">struct</span> <a class="code" href="structpw__memblock.html">pw_memblock</a> *mem);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> * <a class="code" href="mem_8h.html#acc1fb3bb1d96fa7ee1b6850eb865ebe6">pw_mempool_import</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>,</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">enum</span> <a class="code" href="structpw__memblock.html#aa754e8d30b01da58829b3e372c78f739">pw_memblock_flags</a> <a class="code" href="structpw__memblock.html#a88d9c260a71ebd2413b9c4f6c6b84889">flags</a>, uint32_t <a class="code" href="structpw__memblock.html#a8fb4076dc9a00af2a3da6be6859b6a00">type</a>, <span class="keywordtype">int</span> <a class="code" href="structpw__memblock.html#a4731883fd9899d0d668c0f44a16d3b33">fd</a>);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">void</span> <a class="code" href="structpw__memblock.html#a458b69a13b15233b8be7d1dd98c2c23f">pw_memblock_free</a>(<span class="keyword">struct</span> <a class="code" href="structpw__memblock.html">pw_memblock</a> *mem);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pw_memblock_unref(<span class="keyword">struct</span> <a class="code" href="structpw__memblock.html">pw_memblock</a> *mem)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span> (--mem-><a class="code" href="structpw__memblock.html#ac130234986a5d662d20a3e593448bbbd">ref</a> == 0)</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="structpw__memblock.html#a458b69a13b15233b8be7d1dd98c2c23f">pw_memblock_free</a>(mem);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">int</span> <a class="code" href="mem_8h.html#a5f75d7faa910a02718a9ecf3f9c4041c">pw_mempool_unref_id</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>, uint32_t <span class="keywordtype">id</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> * <a class="code" href="mem_8h.html#a637115c056f47906c4d52faf043e415f">pw_mempool_find_ptr</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>, <span class="keyword">const</span> <span class="keywordtype">void</span> *ptr);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> * <a class="code" href="mem_8h.html#a8cefbc9877517111668c36f24edb2dfd">pw_mempool_find_id</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>, uint32_t <span class="keywordtype">id</span>);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">struct </span><a class="code" href="structpw__memblock.html">pw_memblock</a> * <a class="code" href="mem_8h.html#adc0de7b22a2892cdf9582fbcf6f4b712">pw_mempool_find_fd</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *<a class="code" href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pool</a>, <span class="keywordtype">int</span> <a class="code" href="structpw__memblock.html#a4731883fd9899d0d668c0f44a16d3b33">fd</a>);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">struct </span><a class="code" href="structpw__memmap.html">pw_memmap</a> * <a class="code" href="mem_8h.html#a129ecc0ee25039116cc99c138e16c4c6">pw_memblock_map</a>(<span class="keyword">struct</span> <a class="code" href="structpw__memblock.html">pw_memblock</a> *<a class="code" href="structpw__memmap.html#ae80282a00a02c34be7f36975ea52768b">block</a>,</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">enum</span> <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747a">pw_memmap_flags</a> <a class="code" href="structpw__memmap.html#a62479406415257a935744739aa3434f3">flags</a>, uint32_t <a class="code" href="structpw__memmap.html#a2a254ea08d19704537d73b68ef548a12">offset</a>, uint32_t <a class="code" href="structpw__memmap.html#ae1170cc1555b8b4a5562b4d79cb22cc4">size</a>,</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  uint32_t <a class="code" href="structpw__memmap.html#afa567539bf3c9fd16218032faad070ae">tag</a>[5]);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">struct </span><a class="code" href="structpw__memmap.html">pw_memmap</a> * <a class="code" href="mem_8h.html#aa9b5475f99e223a1b20d1d1b79549381">pw_mempool_map_id</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *pool, uint32_t <span class="keywordtype">id</span>,</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">enum</span> <a class="code" href="mem_8h.html#a1daf40887c9a63347e9c59822287747a">pw_memmap_flags</a> <a class="code" href="structpw__memmap.html#a62479406415257a935744739aa3434f3">flags</a>, uint32_t <a class="code" href="structpw__memmap.html#a2a254ea08d19704537d73b68ef548a12">offset</a>, uint32_t <a class="code" href="structpw__memmap.html#ae1170cc1555b8b4a5562b4d79cb22cc4">size</a>,</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  uint32_t <a class="code" href="structpw__memmap.html#afa567539bf3c9fd16218032faad070ae">tag</a>[5]);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">struct </span><a class="code" href="structpw__memmap.html">pw_memmap</a> * <a class="code" href="mem_8h.html#a85ef7c8290e81beb53ab9e1c7b44ff29">pw_mempool_import_map</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *pool,</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *other, <span class="keywordtype">void</span> *<a class="code" href="structdata.html">data</a>, uint32_t <a class="code" href="structpw__memmap.html#ae1170cc1555b8b4a5562b4d79cb22cc4">size</a>, uint32_t <a class="code" href="structpw__memmap.html#afa567539bf3c9fd16218032faad070ae">tag</a>[5]);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">struct </span><a class="code" href="structpw__memmap.html">pw_memmap</a> * <a class="code" href="mem_8h.html#af11ea8ae8c13e394c39d7bf035be4f7b">pw_mempool_find_tag</a>(<span class="keyword">struct</span> <a class="code" href="structpw__mempool.html">pw_mempool</a> *pool, uint32_t <a class="code" href="structpw__memmap.html#afa567539bf3c9fd16218032faad070ae">tag</a>[5], <span class="keywordtype">size_t</span> <a class="code" href="structpw__memmap.html#ae1170cc1555b8b4a5562b4d79cb22cc4">size</a>);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">int</span> <a class="code" href="mem_8h.html#a3efb664909dd90a771d5092238a7a603">pw_memmap_free</a>(<span class="keyword">struct</span> <a class="code" href="structpw__memmap.html">pw_memmap</a> *map);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="structpw__map__range.html"> 167</a></span> <span class="keyword">struct </span><a class="code" href="structpw__map__range.html">pw_map_range</a> {</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="structpw__map__range.html#a3b7bd63b490e27ae035b10fa535357a4"> 168</a></span>  uint32_t <a class="code" href="structpw__map__range.html#a3b7bd63b490e27ae035b10fa535357a4">start</a>; </div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="structpw__map__range.html#aaf1ff0e5b8623a1c64ee4ac9dbf2008a"> 169</a></span>  uint32_t <a class="code" href="structpw__map__range.html#aaf1ff0e5b8623a1c64ee4ac9dbf2008a">offset</a>; </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structpw__map__range.html#a96ecc91bdc991ce5c807a1b79aded4f4"> 170</a></span>  uint32_t <a class="code" href="structpw__map__range.html#a96ecc91bdc991ce5c807a1b79aded4f4">size</a>; </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> };</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="mem_8h.html#a9d831e5773c3aa8ac62d72f6e4a161b7"> 173</a></span> <span class="preprocessor">#define PW_MAP_RANGE_INIT (struct pw_map_range){ 0, }</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pw_map_range_init(<span class="keyword">struct</span> <a class="code" href="structpw__map__range.html">pw_map_range</a> *range,</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  uint32_t offset, uint32_t size,</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  uint32_t page_size)</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  range-><a class="code" href="structpw__map__range.html#aaf1ff0e5b8623a1c64ee4ac9dbf2008a">offset</a> = SPA_ROUND_DOWN_N(offset, page_size);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  range-><a class="code" href="structpw__map__range.html#a3b7bd63b490e27ae035b10fa535357a4">start</a> = offset - range-><a class="code" href="structpw__map__range.html#aaf1ff0e5b8623a1c64ee4ac9dbf2008a">offset</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  range-><a class="code" href="structpw__map__range.html#a96ecc91bdc991ce5c807a1b79aded4f4">size</a> = SPA_ROUND_UP_N(range-><a class="code" href="structpw__map__range.html#a3b7bd63b490e27ae035b10fa535357a4">start</a> + size, page_size);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#endif </span><span class="comment">/* PIPEWIRE_MEM_H */</span><span class="preprocessor"></span></div><div class="ttc" id="structpw__map__range_html"><div class="ttname"><a href="structpw__map__range.html">pw_map_range</a></div><div class="ttdoc">parameters to map a memory range</div><div class="ttdef"><b>Definition:</b> mem.h:167</div></div> +<div class="ttc" id="mem_8h_html_a8cefbc9877517111668c36f24edb2dfd"><div class="ttname"><a href="mem_8h.html#a8cefbc9877517111668c36f24edb2dfd">pw_mempool_find_id</a></div><div class="ttdeci">struct pw_memblock * pw_mempool_find_id(struct pw_mempool *pool, uint32_t id)</div><div class="ttdoc">Find memblock for given id.</div><div class="ttdef"><b>Definition:</b> mem.c:669</div></div> +<div class="ttc" id="structpw__properties_html"><div class="ttname"><a href="structpw__properties.html">pw_properties</a></div><div class="ttdoc">A collection of key/value pairs.</div><div class="ttdef"><b>Definition:</b> properties.h:43</div></div> +<div class="ttc" id="mem_8h_html_a3efb664909dd90a771d5092238a7a603"><div class="ttname"><a href="mem_8h.html#a3efb664909dd90a771d5092238a7a603">pw_memmap_free</a></div><div class="ttdeci">int pw_memmap_free(struct pw_memmap *map)</div><div class="ttdoc">Unmap a region.</div><div class="ttdef"><b>Definition:</b> mem.c:381</div></div> +<div class="ttc" id="structpw__memblock_html_ae9876a344086ff407cf6bf3704b24515"><div class="ttname"><a href="structpw__memblock.html#ae9876a344086ff407cf6bf3704b24515">pw_memblock::map</a></div><div class="ttdeci">struct pw_memmap * map</div><div class="ttdoc">optional map when PW_MEMBLOCK_FLAG_MAP was given</div><div class="ttdef"><b>Definition:</b> mem.h:71</div></div> +<div class="ttc" id="structprops_html"><div class="ttname"><a href="structprops.html">props</a></div><div class="ttdef"><b>Definition:</b> stream.c:95</div></div> +<div class="ttc" id="mem_8h_html_acc1fb3bb1d96fa7ee1b6850eb865ebe6"><div class="ttname"><a href="mem_8h.html#acc1fb3bb1d96fa7ee1b6850eb865ebe6">pw_mempool_import</a></div><div class="ttdeci">struct pw_memblock * pw_mempool_import(struct pw_mempool *pool, enum pw_memblock_flags flags, uint32_t type, int fd)</div><div class="ttdoc">Import an fd into the pool.</div><div class="ttdef"><b>Definition:</b> mem.c:509</div></div> +<div class="ttc" id="structpw__map__range_html_aaf1ff0e5b8623a1c64ee4ac9dbf2008a"><div class="ttname"><a href="structpw__map__range.html#aaf1ff0e5b8623a1c64ee4ac9dbf2008a">pw_map_range::offset</a></div><div class="ttdeci">uint32_t offset</div><div class="ttdoc">offset in first page with start of data</div><div class="ttdef"><b>Definition:</b> mem.h:169</div></div> +<div class="ttc" id="mem_8h_html_a1daf40887c9a63347e9c59822287747aa5e15b1dc0d4d0354a37a841af139411b"><div class="ttname"><a href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa5e15b1dc0d4d0354a37a841af139411b">PW_MEMMAP_FLAG_READWRITE</a></div><div class="ttdef"><b>Definition:</b> mem.h:52</div></div> +<div class="ttc" id="structpw__memmap_html_ae80282a00a02c34be7f36975ea52768b"><div class="ttname"><a href="structpw__memmap.html#ae80282a00a02c34be7f36975ea52768b">pw_memmap::block</a></div><div class="ttdeci">struct pw_memblock * block</div><div class="ttdoc">owner memblock</div><div class="ttdef"><b>Definition:</b> mem.h:76</div></div> +<div class="ttc" id="mem_8h_html_a637115c056f47906c4d52faf043e415f"><div class="ttname"><a href="mem_8h.html#a637115c056f47906c4d52faf043e415f">pw_mempool_find_ptr</a></div><div class="ttdeci">struct pw_memblock * pw_mempool_find_ptr(struct pw_mempool *pool, const void *ptr)</div><div class="ttdoc">Find memblock for given ptr.</div><div class="ttdef"><b>Definition:</b> mem.c:650</div></div> +<div class="ttc" id="structpw__memmap_html_a586c7656b932f4c50d0efb007bae6c64"><div class="ttname"><a href="structpw__memmap.html#a586c7656b932f4c50d0efb007bae6c64">pw_memmap::ptr</a></div><div class="ttdeci">void * ptr</div><div class="ttdoc">mapped pointer</div><div class="ttdef"><b>Definition:</b> mem.h:77</div></div> +<div class="ttc" id="structpw__memblock_html_a8fb4076dc9a00af2a3da6be6859b6a00"><div class="ttname"><a href="structpw__memblock.html#a8fb4076dc9a00af2a3da6be6859b6a00">pw_memblock::type</a></div><div class="ttdeci">uint32_t type</div><div class="ttdoc">type of the fd, one of enum spa_data_type</div><div class="ttdef"><b>Definition:</b> mem.h:68</div></div> +<div class="ttc" id="mem_8h_html_a1daf40887c9a63347e9c59822287747a"><div class="ttname"><a href="mem_8h.html#a1daf40887c9a63347e9c59822287747a">pw_memmap_flags</a></div><div class="ttdeci">pw_memmap_flags</div><div class="ttdef"><b>Definition:</b> mem.h:46</div></div> +<div class="ttc" id="mem_8h_html_ad862afa8e27e952be60c34be8107fde1"><div class="ttname"><a href="mem_8h.html#ad862afa8e27e952be60c34be8107fde1">PW_MEMBLOCK_FLAG_NONE</a></div><div class="ttdef"><b>Definition:</b> mem.h:36</div></div> +<div class="ttc" id="mem_8h_html_a0f28ca9bb22207df34f28448e1948112"><div class="ttname"><a href="mem_8h.html#a0f28ca9bb22207df34f28448e1948112">PW_MEMBLOCK_FLAG_MAP</a></div><div class="ttdef"><b>Definition:</b> mem.h:40</div></div> +<div class="ttc" id="structpw__memblock_html_aa754e8d30b01da58829b3e372c78f739"><div class="ttname"><a href="structpw__memblock.html#aa754e8d30b01da58829b3e372c78f739">pw_memblock::pw_memblock_flags</a></div><div class="ttdeci">pw_memblock_flags</div><div class="ttdoc">Flags passed to pw_mempool_alloc()</div><div class="ttdef"><b>Definition:</b> mem.h:35</div></div> +<div class="ttc" id="structpw__mempool__events_html_ad9ca75bf0ef8b752ab8d8ca98024c604"><div class="ttname"><a href="structpw__mempool__events.html#ad9ca75bf0ef8b752ab8d8ca98024c604">pw_mempool_events::version</a></div><div class="ttdeci">uint32_t version</div><div class="ttdef"><b>Definition:</b> mem.h:86</div></div> +<div class="ttc" id="mem_8h_html_a5c298052be6fe8f5f4ea78b4fe41733d"><div class="ttname"><a href="mem_8h.html#a5c298052be6fe8f5f4ea78b4fe41733d">pw_mempool_add_listener</a></div><div class="ttdeci">void pw_mempool_add_listener(struct pw_mempool *pool, struct spa_hook *listener, const struct pw_mempool_events *events, void *data)</div><div class="ttdoc">Listen for events.</div><div class="ttdef"><b>Definition:</b> mem.c:174</div></div> +<div class="ttc" id="structpw__memblock_html_a88d9c260a71ebd2413b9c4f6c6b84889"><div class="ttname"><a href="structpw__memblock.html#a88d9c260a71ebd2413b9c4f6c6b84889">pw_memblock::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdoc">flags for the memory block on of enum pw_memblock_flags</div><div class="ttdef"><b>Definition:</b> mem.h:67</div></div> +<div class="ttc" id="structpw__memmap_html_ae1170cc1555b8b4a5562b4d79cb22cc4"><div class="ttname"><a href="structpw__memmap.html#ae1170cc1555b8b4a5562b4d79cb22cc4">pw_memmap::size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdoc">size in memblock</div><div class="ttdef"><b>Definition:</b> mem.h:80</div></div> +<div class="ttc" id="structpw__memblock_html_a4731883fd9899d0d668c0f44a16d3b33"><div class="ttname"><a href="structpw__memblock.html#a4731883fd9899d0d668c0f44a16d3b33">pw_memblock::fd</a></div><div class="ttdeci">int fd</div><div class="ttdoc">fd</div><div class="ttdef"><b>Definition:</b> mem.h:69</div></div> +<div class="ttc" id="mem_8h_html_adc0de7b22a2892cdf9582fbcf6f4b712"><div class="ttname"><a href="mem_8h.html#adc0de7b22a2892cdf9582fbcf6f4b712">pw_mempool_find_fd</a></div><div class="ttdeci">struct pw_memblock * pw_mempool_find_fd(struct pw_mempool *pool, int fd)</div><div class="ttdoc">Find memblock for given fd.</div><div class="ttdef"><b>Definition:</b> mem.c:683</div></div> +<div class="ttc" id="mem_8h_html_a00bd094c3e2bea25eb5abe2d22d5af1d"><div class="ttname"><a href="mem_8h.html#a00bd094c3e2bea25eb5abe2d22d5af1d">PW_MEMBLOCK_FLAG_READWRITE</a></div><div class="ttdef"><b>Definition:</b> mem.h:43</div></div> +<div class="ttc" id="mem_8h_html_a777872c959bb5a9ef7767b0218b1b0ba"><div class="ttname"><a href="mem_8h.html#a777872c959bb5a9ef7767b0218b1b0ba">PW_MEMBLOCK_FLAG_WRITABLE</a></div><div class="ttdef"><b>Definition:</b> mem.h:38</div></div> +<div class="ttc" id="structpw__memmap_html_a2a254ea08d19704537d73b68ef548a12"><div class="ttname"><a href="structpw__memmap.html#a2a254ea08d19704537d73b68ef548a12">pw_memmap::offset</a></div><div class="ttdeci">uint32_t offset</div><div class="ttdoc">offset in memblock</div><div class="ttdef"><b>Definition:</b> mem.h:79</div></div> +<div class="ttc" id="structpw__memblock_html_a66508184497a6f6e211eafa8f6e4edd7"><div class="ttname"><a href="structpw__memblock.html#a66508184497a6f6e211eafa8f6e4edd7">pw_memblock::pool</a></div><div class="ttdeci">struct pw_mempool * pool</div><div class="ttdoc">owner pool</div><div class="ttdef"><b>Definition:</b> mem.h:64</div></div> +<div class="ttc" id="structpw__map__range_html_a3b7bd63b490e27ae035b10fa535357a4"><div class="ttname"><a href="structpw__map__range.html#a3b7bd63b490e27ae035b10fa535357a4">pw_map_range::start</a></div><div class="ttdeci">uint32_t start</div><div class="ttdef"><b>Definition:</b> mem.h:168</div></div> +<div class="ttc" id="mem_8h_html_a1daf40887c9a63347e9c59822287747aa58334ee09eeba50b788a04f276440475"><div class="ttname"><a href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa58334ee09eeba50b788a04f276440475">PW_MEMMAP_FLAG_READ</a></div><div class="ttdoc">map in read mode</div><div class="ttdef"><b>Definition:</b> mem.h:48</div></div> +<div class="ttc" id="mem_8h_html_ae5e42242439fef39fd696db151642513"><div class="ttname"><a href="mem_8h.html#ae5e42242439fef39fd696db151642513">pw_mempool_new</a></div><div class="ttdeci">struct pw_mempool * pw_mempool_new(struct pw_properties *props)</div><div class="ttdoc">Create a new memory pool.</div><div class="ttdef"><b>Definition:</b> mem.c:129</div></div> +<div class="ttc" id="structpw__mempool__events_html_a75c60217ff7346dd1da1211990ff3bbe"><div class="ttname"><a href="structpw__mempool__events.html#a75c60217ff7346dd1da1211990ff3bbe">pw_mempool_events::destroy</a></div><div class="ttdeci">void(* destroy)(void *data)</div><div class="ttdoc">the pool is destroyed</div><div class="ttdef"><b>Definition:</b> mem.h:89</div></div> +<div class="ttc" id="structpw__mempool__events_html_a8ac5a248f57f94a547cfd5fa1e92c2f2"><div class="ttname"><a href="structpw__mempool__events.html#a8ac5a248f57f94a547cfd5fa1e92c2f2">pw_mempool_events::added</a></div><div class="ttdeci">void(* added)(void *data, struct pw_memblock *block)</div><div class="ttdoc">a new memory block is added to the pool</div><div class="ttdef"><b>Definition:</b> mem.h:92</div></div> +<div class="ttc" id="mem_8h_html_a65372cd6e7628ad0d817a8aae9effa7f"><div class="ttname"><a href="mem_8h.html#a65372cd6e7628ad0d817a8aae9effa7f">PW_MEMBLOCK_FLAG_READABLE</a></div><div class="ttdef"><b>Definition:</b> mem.h:37</div></div> +<div class="ttc" id="mem_8h_html_af11ea8ae8c13e394c39d7bf035be4f7b"><div class="ttname"><a href="mem_8h.html#af11ea8ae8c13e394c39d7bf035be4f7b">pw_mempool_find_tag</a></div><div class="ttdeci">struct pw_memmap * pw_mempool_find_tag(struct pw_mempool *pool, uint32_t tag[5], size_t size)</div><div class="ttdoc">find a map with the given tag</div><div class="ttdef"><b>Definition:</b> mem.c:695</div></div> +<div class="ttc" id="structpw__memmap_html"><div class="ttname"><a href="structpw__memmap.html">pw_memmap</a></div><div class="ttdoc">a mapped region of a pw_memblock</div><div class="ttdef"><b>Definition:</b> mem.h:75</div></div> +<div class="ttc" id="structpw__memmap_html_a62479406415257a935744739aa3434f3"><div class="ttname"><a href="structpw__memmap.html#a62479406415257a935744739aa3434f3">pw_memmap::flags</a></div><div class="ttdeci">uint32_t flags</div><div class="ttdoc">flags for the mapping on of enum pw_memmap_flags</div><div class="ttdef"><b>Definition:</b> mem.h:78</div></div> +<div class="ttc" id="structpw__memblock_html_a1ca99934939d8b89c158a0256d6d906c"><div class="ttname"><a href="structpw__memblock.html#a1ca99934939d8b89c158a0256d6d906c">pw_memblock::id</a></div><div class="ttdeci">uint32_t id</div><div class="ttdoc">unique id</div><div class="ttdef"><b>Definition:</b> mem.h:65</div></div> +<div class="ttc" id="structpw__memblock_html_ac130234986a5d662d20a3e593448bbbd"><div class="ttname"><a href="structpw__memblock.html#ac130234986a5d662d20a3e593448bbbd">pw_memblock::ref</a></div><div class="ttdeci">int ref</div><div class="ttdoc">refcount</div><div class="ttdef"><b>Definition:</b> mem.h:66</div></div> +<div class="ttc" id="mem_8h_html_a1daf40887c9a63347e9c59822287747aaf12060ee3328912e62d05650edaa999a"><div class="ttname"><a href="mem_8h.html#a1daf40887c9a63347e9c59822287747aaf12060ee3328912e62d05650edaa999a">PW_MEMMAP_FLAG_TWICE</a></div><div class="ttdoc">map the same area twice afer eachother, creating a circular ringbuffer</div><div class="ttdef"><b>Definition:</b> mem.h:50</div></div> +<div class="ttc" id="structpw__memblock_html"><div class="ttname"><a href="structpw__memblock.html">pw_memblock</a></div><div class="ttdoc">Memory block structure.</div><div class="ttdef"><b>Definition:</b> mem.h:63</div></div> +<div class="ttc" id="structpw__memmap_html_afa567539bf3c9fd16218032faad070ae"><div class="ttname"><a href="structpw__memmap.html#afa567539bf3c9fd16218032faad070ae">pw_memmap::tag</a></div><div class="ttdeci">uint32_t tag[5]</div><div class="ttdoc">user tag</div><div class="ttdef"><b>Definition:</b> mem.h:81</div></div> +<div class="ttc" id="mem_8h_html_a1daf40887c9a63347e9c59822287747aac3e5ceea50faacf9d2aac1670f07fd65"><div class="ttname"><a href="mem_8h.html#a1daf40887c9a63347e9c59822287747aac3e5ceea50faacf9d2aac1670f07fd65">PW_MEMMAP_FLAG_NONE</a></div><div class="ttdef"><b>Definition:</b> mem.h:47</div></div> +<div class="ttc" id="properties_8h_html"><div class="ttname"><a href="properties_8h.html">properties.h</a></div></div> +<div class="ttc" id="mem_8h_html_af322c38a861c5a1639c666137a045e3a"><div class="ttname"><a href="mem_8h.html#af322c38a861c5a1639c666137a045e3a">PW_MEMBLOCK_FLAG_DONT_CLOSE</a></div><div class="ttdef"><b>Definition:</b> mem.h:41</div></div> +<div class="ttc" id="mem_8h_html_a129ecc0ee25039116cc99c138e16c4c6"><div class="ttname"><a href="mem_8h.html#a129ecc0ee25039116cc99c138e16c4c6">pw_memblock_map</a></div><div class="ttdeci">struct pw_memmap * pw_memblock_map(struct pw_memblock *block, enum pw_memmap_flags flags, uint32_t offset, uint32_t size, uint32_t tag[5])</div><div class="ttdoc">Map a region of a memory block.</div><div class="ttdef"><b>Definition:</b> mem.c:323</div></div> +<div class="ttc" id="structpw__memblock_html_a8e96a2d24a5fc723b2a637de4bf700b1"><div class="ttname"><a href="structpw__memblock.html#a8e96a2d24a5fc723b2a637de4bf700b1">pw_memblock::size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdoc">size of memory</div><div class="ttdef"><b>Definition:</b> mem.h:70</div></div> +<div class="ttc" id="mem_8h_html_a65f120caa99eb2b3f5e71ee7581c4cd4"><div class="ttname"><a href="mem_8h.html#a65f120caa99eb2b3f5e71ee7581c4cd4">PW_MEMBLOCK_FLAG_SEAL</a></div><div class="ttdef"><b>Definition:</b> mem.h:39</div></div> +<div class="ttc" id="structpw__mempool__events_html_a74d1debb63e31dc6f7876fc9350b2f7d"><div class="ttname"><a href="structpw__mempool__events.html#a74d1debb63e31dc6f7876fc9350b2f7d">pw_mempool_events::removed</a></div><div class="ttdeci">void(* removed)(void *data, struct pw_memblock *block)</div><div class="ttdoc">a memory block is removed from the pool</div><div class="ttdef"><b>Definition:</b> mem.h:95</div></div> +<div class="ttc" id="structpw__mempool_html_a47412553dbf76a729d9e7e1df0bd2cf3"><div class="ttname"><a href="structpw__mempool.html#a47412553dbf76a729d9e7e1df0bd2cf3">pw_mempool::props</a></div><div class="ttdeci">struct pw_properties * props</div><div class="ttdef"><b>Definition:</b> mem.h:58</div></div> +<div class="ttc" id="structpw__memblock_html_a458b69a13b15233b8be7d1dd98c2c23f"><div class="ttname"><a href="structpw__memblock.html#a458b69a13b15233b8be7d1dd98c2c23f">pw_memblock::pw_memblock_free</a></div><div class="ttdeci">SPA_EXPORT void pw_memblock_free(struct pw_memblock *block)</div><div class="ttdoc">Free a memblock.</div><div class="ttdef"><b>Definition:</b> mem.c:618</div></div> +<div class="ttc" id="mem_8h_html_a40f7779f907ebc367725ba5c7c8b0f88"><div class="ttname"><a href="mem_8h.html#a40f7779f907ebc367725ba5c7c8b0f88">pw_mempool_import_block</a></div><div class="ttdeci">struct pw_memblock * pw_mempool_import_block(struct pw_mempool *pool, struct pw_memblock *mem)</div><div class="ttdoc">Import a block from another pool.</div><div class="ttdef"><b>Definition:</b> mem.c:545</div></div> +<div class="ttc" id="mem_8h_html_aa9b5475f99e223a1b20d1d1b79549381"><div class="ttname"><a href="mem_8h.html#aa9b5475f99e223a1b20d1d1b79549381">pw_mempool_map_id</a></div><div class="ttdeci">struct pw_memmap * pw_mempool_map_id(struct pw_mempool *pool, uint32_t id, enum pw_memmap_flags flags, uint32_t offset, uint32_t size, uint32_t tag[5])</div><div class="ttdoc">Map a region of a memory block with id.</div><div class="ttdef"><b>Definition:</b> mem.c:366</div></div> +<div class="ttc" id="structpw__mempool_html"><div class="ttname"><a href="structpw__mempool.html">pw_mempool</a></div><div class="ttdef"><b>Definition:</b> mem.h:57</div></div> +<div class="ttc" id="structpw__map__range_html_a96ecc91bdc991ce5c807a1b79aded4f4"><div class="ttname"><a href="structpw__map__range.html#a96ecc91bdc991ce5c807a1b79aded4f4">pw_map_range::size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdoc">page aligned offset to map</div><div class="ttdef"><b>Definition:</b> mem.h:170</div></div> +<div class="ttc" id="mem_8h_html_a5f75d7faa910a02718a9ecf3f9c4041c"><div class="ttname"><a href="mem_8h.html#a5f75d7faa910a02718a9ecf3f9c4041c">pw_mempool_unref_id</a></div><div class="ttdeci">int pw_mempool_unref_id(struct pw_mempool *pool, uint32_t id)</div><div class="ttdoc">Unref a memblock for given id.</div><div class="ttdef"><b>Definition:</b> mem.c:600</div></div> +<div class="ttc" id="mem_8h_html_ab253128cb2d2bc7ad5203d2b65e762c8"><div class="ttname"><a href="mem_8h.html#ab253128cb2d2bc7ad5203d2b65e762c8">pw_mempool_destroy</a></div><div class="ttdeci">void pw_mempool_destroy(struct pw_mempool *pool)</div><div class="ttdoc">Destroy a pool.</div><div class="ttdef"><b>Definition:</b> mem.c:154</div></div> +<div class="ttc" id="mem_8h_html_a1daf40887c9a63347e9c59822287747aa8b0a302b83a9d3cd11e2b6ed7f82f546"><div class="ttname"><a href="mem_8h.html#a1daf40887c9a63347e9c59822287747aa8b0a302b83a9d3cd11e2b6ed7f82f546">PW_MEMMAP_FLAG_WRITE</a></div><div class="ttdoc">map in write mode</div><div class="ttdef"><b>Definition:</b> mem.h:49</div></div> +<div class="ttc" id="structpw__memblock_html_a2e25b63057f2c8159c9ad7eba16555db"><div class="ttname"><a href="structpw__memblock.html#a2e25b63057f2c8159c9ad7eba16555db">pw_memblock::pw_mempool_alloc</a></div><div class="ttdeci">SPA_EXPORT struct pw_memblock * pw_mempool_alloc(struct pw_mempool *pool, enum pw_memblock_flags flags, uint32_t type, size_t size)</div><div class="ttdoc">Create a new memblock.</div><div class="ttdef"><b>Definition:</b> mem.c:410</div></div> +<div class="ttc" id="structdata_html"><div class="ttname"><a href="structdata.html">data</a></div><div class="ttdef"><b>Definition:</b> stream.c:69</div></div> +<div class="ttc" id="structpw__mempool__events_html"><div class="ttname"><a href="structpw__mempool__events.html">pw_mempool_events</a></div><div class="ttdef"><b>Definition:</b> mem.h:84</div></div> +<div class="ttc" id="mem_8h_html_a85ef7c8290e81beb53ab9e1c7b44ff29"><div class="ttname"><a href="mem_8h.html#a85ef7c8290e81beb53ab9e1c7b44ff29">pw_mempool_import_map</a></div><div class="ttdeci">struct pw_memmap * pw_mempool_import_map(struct pw_mempool *pool, struct pw_mempool *other, void *data, uint32_t size, uint32_t tag[5])</div><div class="ttdef"><b>Definition:</b> mem.c:554</div></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_7129a66c92fe7beef816c2ac906ef0b3.html">pipewire</a></li><li class="navelem"><a class="el" href="mem_8h.html">mem.h</a></li> + <li class="footer">Generated by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> + </ul> +</div> +</body> +</html> |