wut/memheap_8h.html
2020-03-26 16:49:18 +11:00

187 lines
19 KiB
HTML

<!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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>wut: /home/ash/Code/wut2/include/coreinit/memheap.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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">wut
&#160;<span id="projectnumber">1.0.0-beta9</span>
</div>
<div id="projectbrief">Wii U Toolchain</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_5050f3de292bd66075be80c4b119f1df.html">coreinit</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">memheap.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="wut_8h_source.html">wut.h</a>&gt;</code><br />
<code>#include &quot;<a class="el" href="spinlock_8h_source.html">spinlock.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="memlist_8h_source.html">memlist.h</a>&quot;</code><br />
</div>
<p><a href="memheap_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structMEMHeapHeader"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#structMEMHeapHeader">MEMHeapHeader</a></td></tr>
<tr class="separator:structMEMHeapHeader"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga727913a40d765f66ebec5e9b0d762691"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__coreinit__memheap.html#structMEMHeapHeader">MEMHeapHeader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga727913a40d765f66ebec5e9b0d762691">MEMHeapHeader</a></td></tr>
<tr class="separator:ga727913a40d765f66ebec5e9b0d762691"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f18df06d1c3949e74a4b7bcb1c0b88c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__coreinit__memheap.html#structMEMHeapHeader">MEMHeapHeader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a></td></tr>
<tr class="separator:ga3f18df06d1c3949e74a4b7bcb1c0b88c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c29cd3da05ed7cd3ecba2fd130df441"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__coreinit__memheap.html#ga552d2fdd0b6f216c1bc8bad6a02e1ea4">MEMBaseHeapType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga4c29cd3da05ed7cd3ecba2fd130df441">MEMBaseHeapType</a></td></tr>
<tr class="separator:ga4c29cd3da05ed7cd3ecba2fd130df441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf683df86fa391aadd69e22c2bed8cd98"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__coreinit__memheap.html#ga5a2254c26326745a098c8d8ec1d56442">MEMHeapFillType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#gaf683df86fa391aadd69e22c2bed8cd98">MEMHeapFillType</a></td></tr>
<tr class="separator:gaf683df86fa391aadd69e22c2bed8cd98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8806aa24143fdf51e3837777f40438dc"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__coreinit__memheap.html#gaf4257a1288a2365e8c3600df369a83cb">MEMHeapTag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga8806aa24143fdf51e3837777f40438dc">MEMHeapTag</a></td></tr>
<tr class="separator:ga8806aa24143fdf51e3837777f40438dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa994657094f10628ea098ba004eb2414"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__coreinit__memheap.html#ga5c832777be0c2cffa9c0f2eaf3c9a497">MEMHeapFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#gaa994657094f10628ea098ba004eb2414">MEMHeapFlags</a></td></tr>
<tr class="separator:gaa994657094f10628ea098ba004eb2414"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga552d2fdd0b6f216c1bc8bad6a02e1ea4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga552d2fdd0b6f216c1bc8bad6a02e1ea4">MEMBaseHeapType</a> { <br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga552d2fdd0b6f216c1bc8bad6a02e1ea4a540e199d1bc7fbc82846adb9afbc208f">MEM_BASE_HEAP_MEM1</a> = 0,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga552d2fdd0b6f216c1bc8bad6a02e1ea4afb95e153ee0ad2cbe78b717085e9d369">MEM_BASE_HEAP_MEM2</a> = 1,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga552d2fdd0b6f216c1bc8bad6a02e1ea4a5d870bd01e6cc7f0852f174b3c24abf0">MEM_BASE_HEAP_FG</a> = 8
<br />
}</td></tr>
<tr class="separator:ga552d2fdd0b6f216c1bc8bad6a02e1ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a2254c26326745a098c8d8ec1d56442"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga5a2254c26326745a098c8d8ec1d56442">MEMHeapFillType</a> { <br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga5a2254c26326745a098c8d8ec1d56442aab58d29ca838e67871a9c39230a66a1e">MEM_HEAP_FILL_TYPE_UNUSED</a> = 0,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga5a2254c26326745a098c8d8ec1d56442af5678cb9a17bf1855df30c50e552fee3">MEM_HEAP_FILL_TYPE_ALLOCATED</a> = 1,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga5a2254c26326745a098c8d8ec1d56442a303a7c6d5c68983625bd949e8a8a38ea">MEM_HEAP_FILL_TYPE_FREED</a> = 2
<br />
}</td></tr>
<tr class="separator:ga5a2254c26326745a098c8d8ec1d56442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4257a1288a2365e8c3600df369a83cb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#gaf4257a1288a2365e8c3600df369a83cb">MEMHeapTag</a> { <br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#ggaf4257a1288a2365e8c3600df369a83cbaee676570c092ee1e6e421409a87d975f">MEM_BLOCK_HEAP_TAG</a> = 0x424C4B48u,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#ggaf4257a1288a2365e8c3600df369a83cba73cc6859292a3153a6dc5a8526f28353">MEM_EXPANDED_HEAP_TAG</a> = 0x45585048u,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#ggaf4257a1288a2365e8c3600df369a83cba9f996937542e05cf39a5905a70289f55">MEM_FRAME_HEAP_TAG</a> = 0x46524D48u,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#ggaf4257a1288a2365e8c3600df369a83cba4fbb605cdb05db8640ae6dc7187e8934">MEM_UNIT_HEAP_TAG</a> = 0x554E5448u,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#ggaf4257a1288a2365e8c3600df369a83cba5548a1522f91faebd0bd08201d8428c9">MEM_USER_HEAP_TAG</a> = 0x55535248u
<br />
}</td></tr>
<tr class="separator:gaf4257a1288a2365e8c3600df369a83cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c832777be0c2cffa9c0f2eaf3c9a497"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga5c832777be0c2cffa9c0f2eaf3c9a497">MEMHeapFlags</a> { <br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga5c832777be0c2cffa9c0f2eaf3c9a497a6b36ac6cf03f489e90b525517e1e33e2">MEM_HEAP_FLAG_ZERO_ALLOCATED</a> = 1 &lt;&lt; 0,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga5c832777be0c2cffa9c0f2eaf3c9a497a3cefa3627ca24ef278fe861c969a76cb">MEM_HEAP_FLAG_DEBUG_MODE</a> = 1 &lt;&lt; 1,
<br />
&#160;&#160;<a class="el" href="group__coreinit__memheap.html#gga5c832777be0c2cffa9c0f2eaf3c9a497af49a821423e44a9e85218ce44f85d48b">MEM_HEAP_FLAG_USE_LOCK</a> = 1 &lt;&lt; 2
<br />
}</td></tr>
<tr class="separator:ga5c832777be0c2cffa9c0f2eaf3c9a497"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga5d792599e24cd0651a722a7a073230c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coreinit__memheap.html#ga552d2fdd0b6f216c1bc8bad6a02e1ea4">MEMBaseHeapType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga5d792599e24cd0651a722a7a073230c5">MEMGetArena</a> (<a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a> handle)</td></tr>
<tr class="memdesc:ga5d792599e24cd0651a722a7a073230c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get which memory area a heap belongs to. <a href="group__coreinit__memheap.html#ga5d792599e24cd0651a722a7a073230c5">More...</a><br /></td></tr>
<tr class="separator:ga5d792599e24cd0651a722a7a073230c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4f377c8479a3ecc069b6e78d54ec977"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#gac4f377c8479a3ecc069b6e78d54ec977">MEMGetBaseHeapHandle</a> (<a class="el" href="group__coreinit__memheap.html#ga552d2fdd0b6f216c1bc8bad6a02e1ea4">MEMBaseHeapType</a> type)</td></tr>
<tr class="memdesc:gac4f377c8479a3ecc069b6e78d54ec977"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get base heap for memory area. <a href="group__coreinit__memheap.html#gac4f377c8479a3ecc069b6e78d54ec977">More...</a><br /></td></tr>
<tr class="separator:gac4f377c8479a3ecc069b6e78d54ec977"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1563986ee5053c3fe16aba87eb797d55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga1563986ee5053c3fe16aba87eb797d55">MEMSetBaseHeapHandle</a> (<a class="el" href="group__coreinit__memheap.html#ga552d2fdd0b6f216c1bc8bad6a02e1ea4">MEMBaseHeapType</a> type, <a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a> handle)</td></tr>
<tr class="memdesc:ga1563986ee5053c3fe16aba87eb797d55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set base heap for memory area. <a href="group__coreinit__memheap.html#ga1563986ee5053c3fe16aba87eb797d55">More...</a><br /></td></tr>
<tr class="separator:ga1563986ee5053c3fe16aba87eb797d55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd58d0368269dbb0b4714f5a82724bb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#gadd58d0368269dbb0b4714f5a82724bb8">MEMCreateUserHeapHandle</a> (void *heap, uint32_t size)</td></tr>
<tr class="memdesc:gadd58d0368269dbb0b4714f5a82724bb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a heap handle for a user defined heap. <a href="group__coreinit__memheap.html#gadd58d0368269dbb0b4714f5a82724bb8">More...</a><br /></td></tr>
<tr class="separator:gadd58d0368269dbb0b4714f5a82724bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c947c0916b5ae236b558d62cf7f284d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga2c947c0916b5ae236b558d62cf7f284d">MEMDumpHeap</a> (<a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a> heap)</td></tr>
<tr class="memdesc:ga2c947c0916b5ae236b558d62cf7f284d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print details about heap to COSWarn. <a href="group__coreinit__memheap.html#ga2c947c0916b5ae236b558d62cf7f284d">More...</a><br /></td></tr>
<tr class="separator:ga2c947c0916b5ae236b558d62cf7f284d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24a8efd33838634b25ed09465612b463"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coreinit__memheap.html#structMEMHeapHeader">MEMHeapHeader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga24a8efd33838634b25ed09465612b463">MEMFindContainHeap</a> (void *block)</td></tr>
<tr class="memdesc:ga24a8efd33838634b25ed09465612b463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find heap which contains a memory block. <a href="group__coreinit__memheap.html#ga24a8efd33838634b25ed09465612b463">More...</a><br /></td></tr>
<tr class="separator:ga24a8efd33838634b25ed09465612b463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7302b72170f5810d5abecd4cf4bd92c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga7302b72170f5810d5abecd4cf4bd92c5">MEMFindParentHeap</a> (<a class="el" href="group__coreinit__memheap.html#ga3f18df06d1c3949e74a4b7bcb1c0b88c">MEMHeapHandle</a> handle)</td></tr>
<tr class="memdesc:ga7302b72170f5810d5abecd4cf4bd92c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the parent heap of a given heap. <a href="group__coreinit__memheap.html#ga7302b72170f5810d5abecd4cf4bd92c5">More...</a><br /></td></tr>
<tr class="separator:ga7302b72170f5810d5abecd4cf4bd92c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9735e0622600c541ba26bb80dc4614a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#gad9735e0622600c541ba26bb80dc4614a">MEMGetFillValForHeap</a> (<a class="el" href="group__coreinit__memheap.html#ga5a2254c26326745a098c8d8ec1d56442">MEMHeapFillType</a> type)</td></tr>
<tr class="memdesc:gad9735e0622600c541ba26bb80dc4614a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the data fill value used when MEM_HEAP_FLAG_DEBUG_MODE is set. <a href="group__coreinit__memheap.html#gad9735e0622600c541ba26bb80dc4614a">More...</a><br /></td></tr>
<tr class="separator:gad9735e0622600c541ba26bb80dc4614a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga392788207fa9c65e8bf2ab5b67c252d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coreinit__memheap.html#ga392788207fa9c65e8bf2ab5b67c252d9">MEMSetFillValForHeap</a> (<a class="el" href="group__coreinit__memheap.html#ga5a2254c26326745a098c8d8ec1d56442">MEMHeapFillType</a> type, uint32_t value)</td></tr>
<tr class="memdesc:ga392788207fa9c65e8bf2ab5b67c252d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data fill value used when MEM_HEAP_FLAG_DEBUG_MODE is set. <a href="group__coreinit__memheap.html#ga392788207fa9c65e8bf2ab5b67c252d9">More...</a><br /></td></tr>
<tr class="separator:ga392788207fa9c65e8bf2ab5b67c252d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>