mirror of
https://github.com/switchbrew/libnx.git
synced 2025-07-01 01:02:14 +02:00
2057 lines
462 KiB
HTML
2057 lines
462 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" lang="en-US">
|
|
<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.8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>libnx: include/switch/kernel/svc.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 id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">libnx<span id="projectnumber"> v4.9.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.8 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "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>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function() { init_codefold(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<!-- 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">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</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_42bea3d40f1f1694e41a8f3166c98108.html">switch</a></li><li class="navelem"><a class="el" href="dir_36b4ff30955378a33ed199d75bfba1a9.html">kernel</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">svc.h</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="svc_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><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file svc.h</span></div>
|
|
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief Wrappers for kernel syscalls.</span></div>
|
|
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * @copyright libnx Authors</span></div>
|
|
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#pragma once</span></div>
|
|
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include "../types.h"</span></div>
|
|
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include "../arm/thread_context.h"</span></div>
|
|
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">/// Pseudo handle for the current process.</span></div>
|
|
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="svc_8h.html#a0b30bcbc98ad85fe81ac6de8ea464276"> 11</a></span><span class="comment"></span><span class="preprocessor">#define CUR_PROCESS_HANDLE 0xFFFF8001</span></div>
|
|
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">/// Pseudo handle for the current thread.</span></div>
|
|
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="svc_8h.html#a848b6094dcf31bfb0fa5cc999348c2d4"> 14</a></span><span class="comment"></span><span class="preprocessor">#define CUR_THREAD_HANDLE 0xFFFF8000</span></div>
|
|
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">/// Maximum number of objects that can be waited on by \ref svcWaitSynchronization (Horizon kernel limitation).</span></div>
|
|
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="svc_8h.html#adb3582f9aaf78eddd43389c3b50e015f"> 17</a></span><span class="comment"></span><span class="preprocessor">#define MAX_WAIT_OBJECTS 0x40</span></div>
|
|
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">/// Memory type enumeration (lower 8 bits of \ref MemoryState)</span></div>
|
|
<div class="foldopen" id="foldopen00020" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01"> 20</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a567c46fdcd7367d1acfb96d18e958671"> 21</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a567c46fdcd7367d1acfb96d18e958671">MemType_Unmapped</a>=0x00, <span class="comment">///< Unmapped memory.</span></div>
|
|
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ae99704f08329e592f919f16596cdba9d"> 22</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ae99704f08329e592f919f16596cdba9d">MemType_Io</a>=0x01, <span class="comment">///< Mapped by kernel capability parsing in \ref svcCreateProcess.</span></div>
|
|
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a0cd7ce2f917724549d194b641280f562"> 23</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a0cd7ce2f917724549d194b641280f562">MemType_Normal</a>=0x02, <span class="comment">///< Mapped by kernel capability parsing in \ref svcCreateProcess.</span></div>
|
|
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a95a0fe00af43407ce23e83e92e37878e"> 24</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a95a0fe00af43407ce23e83e92e37878e">MemType_CodeStatic</a>=0x03, <span class="comment">///< Mapped during \ref svcCreateProcess.</span></div>
|
|
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ad93bf0181cddf0351eae7cb46db725bf"> 25</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ad93bf0181cddf0351eae7cb46db725bf">MemType_CodeMutable</a>=0x04, <span class="comment">///< Transition from MemType_CodeStatic performed by \ref svcSetProcessMemoryPermission.</span></div>
|
|
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a1e7751624fed0042d9b5a043bbba8f93"> 26</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a1e7751624fed0042d9b5a043bbba8f93">MemType_Heap</a>=0x05, <span class="comment">///< Mapped using \ref svcSetHeapSize.</span></div>
|
|
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01adf6eb60e3b18de35f16f2595cf5d2a4c"> 27</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01adf6eb60e3b18de35f16f2595cf5d2a4c">MemType_SharedMem</a>=0x06, <span class="comment">///< Mapped using \ref svcMapSharedMemory.</span></div>
|
|
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a83a259e7f87606a6d58951e5680957b7"> 28</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a83a259e7f87606a6d58951e5680957b7">MemType_WeirdMappedMem</a>=0x07, <span class="comment">///< Mapped using \ref svcMapMemory.</span></div>
|
|
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ab1e7cfd6aba5c50bdc53e9fa45f86baa"> 29</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ab1e7cfd6aba5c50bdc53e9fa45f86baa">MemType_ModuleCodeStatic</a>=0x08, <span class="comment">///< Mapped using \ref svcMapProcessCodeMemory.</span></div>
|
|
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a91a7a0d071253e6741f620dcbaf9c451"> 30</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a91a7a0d071253e6741f620dcbaf9c451">MemType_ModuleCodeMutable</a>=0x09, <span class="comment">///< Transition from \ref MemType_ModuleCodeStatic performed by \ref svcSetProcessMemoryPermission.</span></div>
|
|
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a5ac9f753dd40b88a50bf4c693d2e8304"> 31</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a5ac9f753dd40b88a50bf4c693d2e8304">MemType_IpcBuffer0</a>=0x0A, <span class="comment">///< IPC buffers with descriptor flags=0.</span></div>
|
|
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a85dce7e8f11c2d98333859e0506c9987"> 32</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a85dce7e8f11c2d98333859e0506c9987">MemType_MappedMemory</a>=0x0B, <span class="comment">///< Mapped using \ref svcMapMemory.</span></div>
|
|
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ab7bf4bfd72dd5e6cc338af1cad4ed018"> 33</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ab7bf4bfd72dd5e6cc338af1cad4ed018">MemType_ThreadLocal</a>=0x0C, <span class="comment">///< Mapped during \ref svcCreateThread.</span></div>
|
|
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01accceb32e81a15e961585ca29d361e516"> 34</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01accceb32e81a15e961585ca29d361e516">MemType_TransferMemIsolated</a>=0x0D, <span class="comment">///< Mapped using \ref svcMapTransferMemory when the owning process has perm=0.</span></div>
|
|
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01aad5569d57c77748cdffe119ae0ea00bb"> 35</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01aad5569d57c77748cdffe119ae0ea00bb">MemType_TransferMem</a>=0x0E, <span class="comment">///< Mapped using \ref svcMapTransferMemory when the owning process has perm!=0.</span></div>
|
|
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ac91d07e8dd1faa1249254b407ddfcd97"> 36</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ac91d07e8dd1faa1249254b407ddfcd97">MemType_ProcessMem</a>=0x0F, <span class="comment">///< Mapped using \ref svcMapProcessMemory.</span></div>
|
|
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01aa10ca5fafbf739ff64f8a6ea94478861"> 37</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01aa10ca5fafbf739ff64f8a6ea94478861">MemType_Reserved</a>=0x10, <span class="comment">///< Reserved.</span></div>
|
|
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a88a172f5bfec71345d9646f705b962bb"> 38</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a88a172f5bfec71345d9646f705b962bb">MemType_IpcBuffer1</a>=0x11, <span class="comment">///< IPC buffers with descriptor flags=1.</span></div>
|
|
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ac1bb8760c223eba40ea8c4472154d313"> 39</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ac1bb8760c223eba40ea8c4472154d313">MemType_IpcBuffer3</a>=0x12, <span class="comment">///< IPC buffers with descriptor flags=3.</span></div>
|
|
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01add1bb950899c316ddb359b36dfe1f61d"> 40</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01add1bb950899c316ddb359b36dfe1f61d">MemType_KernelStack</a>=0x13, <span class="comment">///< Mapped in kernel during \ref svcCreateThread.</span></div>
|
|
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a53e565eea6f34bf5121334c9c764e352"> 41</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a53e565eea6f34bf5121334c9c764e352">MemType_CodeReadOnly</a>=0x14, <span class="comment">///< Mapped in kernel during \ref svcControlCodeMemory.</span></div>
|
|
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a7f5d78db67421226a16275deeea1b706"> 42</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a7f5d78db67421226a16275deeea1b706">MemType_CodeWritable</a>=0x15, <span class="comment">///< Mapped in kernel during \ref svcControlCodeMemory.</span></div>
|
|
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a96629d434b3174eb8d3b2bcd34032523"> 43</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a96629d434b3174eb8d3b2bcd34032523">MemType_Coverage</a>=0x16, <span class="comment">///< Not available.</span></div>
|
|
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a85122ce0328b14014b347a77e2453918"> 44</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a85122ce0328b14014b347a77e2453918">MemType_Insecure</a>=0x17, <span class="comment">///< Mapped in kernel during \ref svcMapInsecurePhysicalMemory.</span></div>
|
|
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>} <a class="code hl_enumeration" href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01">MemoryType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">/// Memory state bitmasks.</span></div>
|
|
<div class="foldopen" id="foldopen00048" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dc"> 48</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca947412f7e301f83036df01a2d83e28b7"> 49</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca947412f7e301f83036df01a2d83e28b7">MemState_Type</a>=0xFF, <span class="comment">///< Type field (see \ref MemoryType).</span></div>
|
|
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcab07bf37268be2b5e689d056deb30304c"> 50</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcab07bf37268be2b5e689d056deb30304c">MemState_PermChangeAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(8), <span class="comment">///< Permission change allowed.</span></div>
|
|
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcacb42b3ba4b2b9ef7594c3f360aad40e0"> 51</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcacb42b3ba4b2b9ef7594c3f360aad40e0">MemState_ForceRwByDebugSyscalls</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(9), <span class="comment">///< Force read/writable by debug syscalls.</span></div>
|
|
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca136a037981304cc8a95f75bcada98597"> 52</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca136a037981304cc8a95f75bcada98597">MemState_IpcSendAllowed_Type0</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(10), <span class="comment">///< IPC type 0 send allowed.</span></div>
|
|
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca7c0425a7d3751493203cdfcecf66f6f3"> 53</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca7c0425a7d3751493203cdfcecf66f6f3">MemState_IpcSendAllowed_Type3</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(11), <span class="comment">///< IPC type 3 send allowed.</span></div>
|
|
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca5f22032640e80fec3d137e274bbdf06d"> 54</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca5f22032640e80fec3d137e274bbdf06d">MemState_IpcSendAllowed_Type1</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(12), <span class="comment">///< IPC type 1 send allowed.</span></div>
|
|
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca94bba48584901439cf2600bd22d016ad"> 55</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca94bba48584901439cf2600bd22d016ad">MemState_ProcessPermChangeAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(14), <span class="comment">///< Process permission change allowed.</span></div>
|
|
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca0b9f597e50e4f47dee03697db021f4a6"> 56</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca0b9f597e50e4f47dee03697db021f4a6">MemState_MapAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(15), <span class="comment">///< Map allowed.</span></div>
|
|
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaa281c89d815a95e58cedfe23ff49936c"> 57</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaa281c89d815a95e58cedfe23ff49936c">MemState_UnmapProcessCodeMemAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(16), <span class="comment">///< Unmap process code memory allowed.</span></div>
|
|
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca8c33389160add776baaeefea3e327e82"> 58</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca8c33389160add776baaeefea3e327e82">MemState_TransferMemAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(17), <span class="comment">///< Transfer memory allowed.</span></div>
|
|
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaacc39b416fd5e94205dfb6006957c9e3"> 59</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaacc39b416fd5e94205dfb6006957c9e3">MemState_QueryPAddrAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(18), <span class="comment">///< Query physical address allowed.</span></div>
|
|
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcacf09881be25238029645576660464c9d"> 60</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcacf09881be25238029645576660464c9d">MemState_MapDeviceAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(19), <span class="comment">///< Map device allowed (\ref svcMapDeviceAddressSpace and \ref svcMapDeviceAddressSpaceByForce).</span></div>
|
|
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca29326606f7512034bb9de0d2bad669a2"> 61</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca29326606f7512034bb9de0d2bad669a2">MemState_MapDeviceAlignedAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(20), <span class="comment">///< Map device aligned allowed.</span></div>
|
|
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca755cef82b398359425a6804a0da80c33"> 62</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca755cef82b398359425a6804a0da80c33">MemState_IpcBufferAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(21), <span class="comment">///< IPC buffer allowed.</span></div>
|
|
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaaac9c9e7fcdeb1a31b883925e8765954"> 63</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaaac9c9e7fcdeb1a31b883925e8765954">MemState_IsPoolAllocated</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(22), <span class="comment">///< Is pool allocated.</span></div>
|
|
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca33c2f355a7f07aa7ae6d74e88ed0ef92"> 64</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca33c2f355a7f07aa7ae6d74e88ed0ef92">MemState_IsRefCounted</a>=<a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaaac9c9e7fcdeb1a31b883925e8765954">MemState_IsPoolAllocated</a>, <span class="comment">///< Alias for \ref MemState_IsPoolAllocated.</span></div>
|
|
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcae3dc34834acbd9a6f17ed36ec2346a17"> 65</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcae3dc34834acbd9a6f17ed36ec2346a17">MemState_MapProcessAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(23), <span class="comment">///< Map process allowed.</span></div>
|
|
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca4cf2fa7d861b14f59c009af31b153395"> 66</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca4cf2fa7d861b14f59c009af31b153395">MemState_AttrChangeAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(24), <span class="comment">///< Attribute change allowed.</span></div>
|
|
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca58d52d4f03df15aa2be388048cc02cac"> 67</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca58d52d4f03df15aa2be388048cc02cac">MemState_CodeMemAllowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(25), <span class="comment">///< Code memory allowed.</span></div>
|
|
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>} <a class="code hl_enumeration" href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dc">MemoryState</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">/// Memory attribute bitmasks.</span></div>
|
|
<div class="foldopen" id="foldopen00071" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847a"> 71</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa90ad374ebcdffec70862d67226b2f26a"> 72</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa90ad374ebcdffec70862d67226b2f26a">MemAttr_IsBorrowed</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(0), <span class="comment">///< Is borrowed memory.</span></div>
|
|
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aad94b7a34f201fcf7513fb8f5c47b7ee1"> 73</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aad94b7a34f201fcf7513fb8f5c47b7ee1">MemAttr_IsIpcMapped</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(1), <span class="comment">///< Is IPC mapped (when IpcRefCount > 0).</span></div>
|
|
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aab94255757dda2051dff7189d8aa16347"> 74</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aab94255757dda2051dff7189d8aa16347">MemAttr_IsDeviceMapped</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(2), <span class="comment">///< Is device mapped (when DeviceRefCount > 0).</span></div>
|
|
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa1f0d19b95d5cf92ca4e313500371918e"> 75</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa1f0d19b95d5cf92ca4e313500371918e">MemAttr_IsUncached</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(3), <span class="comment">///< Is uncached.</span></div>
|
|
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa2fde93ae09d3ac93bd99001e463796ca"> 76</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa2fde93ae09d3ac93bd99001e463796ca">MemAttr_IsPermissionLocked</a>=<a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(4), <span class="comment">///< Is permission locked.</span></div>
|
|
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>} <a class="code hl_enumeration" href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847a">MemoryAttribute</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment">/// Memory permission bitmasks.</span></div>
|
|
<div class="foldopen" id="foldopen00080" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200c"> 80</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca4212f419c58a6ad520155347955e0751"> 81</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca4212f419c58a6ad520155347955e0751">Perm_None</a> = 0, <span class="comment">///< No permissions.</span></div>
|
|
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca7a1e8798ee89e46e527ac5568cf81801"> 82</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca7a1e8798ee89e46e527ac5568cf81801">Perm_R</a> = <a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(0), <span class="comment">///< Read permission.</span></div>
|
|
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca00886aee335d55c075c1f0ee3100ee9f"> 83</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca00886aee335d55c075c1f0ee3100ee9f">Perm_W</a> = <a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(1), <span class="comment">///< Write permission.</span></div>
|
|
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca48288defc34d874293c9e74141989f59"> 84</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca48288defc34d874293c9e74141989f59">Perm_X</a> = <a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(2), <span class="comment">///< Execute permission.</span></div>
|
|
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca57ac3963c1fe3f280b59c6f2eaf491e1"> 85</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca57ac3963c1fe3f280b59c6f2eaf491e1">Perm_Rw</a> = <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca7a1e8798ee89e46e527ac5568cf81801">Perm_R</a> | <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca00886aee335d55c075c1f0ee3100ee9f">Perm_W</a>, <span class="comment">///< Read/write permissions.</span></div>
|
|
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca1bf74d986219ad6b62ae06dc61b3e1b6"> 86</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca1bf74d986219ad6b62ae06dc61b3e1b6">Perm_Rx</a> = <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca7a1e8798ee89e46e527ac5568cf81801">Perm_R</a> | <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca48288defc34d874293c9e74141989f59">Perm_X</a>, <span class="comment">///< Read/execute permissions.</span></div>
|
|
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200caea28058376beab491fb57a0cc9a802cf"> 87</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200caea28058376beab491fb57a0cc9a802cf">Perm_DontCare</a> = <a class="code hl_define" href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a>(28), <span class="comment">///< Don't care</span></div>
|
|
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>} <a class="code hl_enumeration" href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200c">Permission</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment">/// Memory information structure.</span></div>
|
|
<div class="foldopen" id="foldopen00091" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="structMemoryInfo.html"> 91</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
|
|
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#a84011bc4f4baabbb83317d2e1171bf2f"> 92</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structMemoryInfo.html#a84011bc4f4baabbb83317d2e1171bf2f">addr</a>; <span class="comment">///< Base address.</span></div>
|
|
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#aa466a8741cda59fe35e92b9b1d81c582"> 93</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structMemoryInfo.html#aa466a8741cda59fe35e92b9b1d81c582">size</a>; <span class="comment">///< Size.</span></div>
|
|
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#a049cbd4f423846dfaba77ed61ac99391"> 94</a></span> <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code hl_variable" href="structMemoryInfo.html#a049cbd4f423846dfaba77ed61ac99391">type</a>; <span class="comment">///< Memory type (see lower 8 bits of \ref MemoryState).</span></div>
|
|
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#a039ea6eb9d63b1eb432c874bfb6240a9"> 95</a></span> <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code hl_variable" href="structMemoryInfo.html#a039ea6eb9d63b1eb432c874bfb6240a9">attr</a>; <span class="comment">///< Memory attributes (see \ref MemoryAttribute).</span></div>
|
|
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#a224b48fa631a705e922521236b910725"> 96</a></span> <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code hl_variable" href="structMemoryInfo.html#a224b48fa631a705e922521236b910725">perm</a>; <span class="comment">///< Memory permissions (see \ref Permission).</span></div>
|
|
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#a13b4af5e333d70dd29942c20f10368d4"> 97</a></span> <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code hl_variable" href="structMemoryInfo.html#a13b4af5e333d70dd29942c20f10368d4">ipc_refcount</a>; <span class="comment">///< IPC reference count.</span></div>
|
|
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#af5f0b5f54e1a39da5674b3c0bdb4bd57"> 98</a></span> <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code hl_variable" href="structMemoryInfo.html#af5f0b5f54e1a39da5674b3c0bdb4bd57">device_refcount</a>; <span class="comment">///< Device reference count.</span></div>
|
|
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="structMemoryInfo.html#ac953a541d559dc500a555471ca874ad3"> 99</a></span> <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code hl_variable" href="structMemoryInfo.html#ac953a541d559dc500a555471ca874ad3">padding</a>; <span class="comment">///< Padding.</span></div>
|
|
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>} <a class="code hl_struct" href="structMemoryInfo.html">MemoryInfo</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment">/// Physical memory information structure.</span></div>
|
|
<div class="foldopen" id="foldopen00103" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="structPhysicalMemoryInfo.html"> 103</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
|
|
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="structPhysicalMemoryInfo.html#ac30c900fbcfd95a7b8fb4aeafa52ae47"> 104</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structPhysicalMemoryInfo.html#ac30c900fbcfd95a7b8fb4aeafa52ae47">physical_address</a>; <span class="comment">///< Physical address.</span></div>
|
|
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="structPhysicalMemoryInfo.html#a78839604c71dc8170873424843eccdec"> 105</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structPhysicalMemoryInfo.html#a78839604c71dc8170873424843eccdec">virtual_address</a>; <span class="comment">///< Virtual address.</span></div>
|
|
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="structPhysicalMemoryInfo.html#ae03687b07a4d812861b84fbf2e052d92"> 106</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structPhysicalMemoryInfo.html#ae03687b07a4d812861b84fbf2e052d92">size</a>; <span class="comment">///< Size.</span></div>
|
|
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>} <a class="code hl_struct" href="structPhysicalMemoryInfo.html">PhysicalMemoryInfo</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment">/// Secure monitor arguments.</span></div>
|
|
<div class="foldopen" id="foldopen00110" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="structSecmonArgs.html"> 110</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
|
|
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="structSecmonArgs.html#a3f14311ee08125f7861f5e5c069394e3"> 111</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> X[8]; <span class="comment">///< Values of X0 through X7.</span></div>
|
|
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>} <a class="code hl_define" href="types_8h.html#ab6bd3fc8e13d24a2612da07835dda696">NX_PACKED</a> <a class="code hl_struct" href="structSecmonArgs.html">SecmonArgs</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment">/// Break reasons</span></div>
|
|
<div class="foldopen" id="foldopen00115" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="svc_8h.html#a42cac6762248ad9e26500746f28f0c73"> 115</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> BreakReason_Panic = 0,</div>
|
|
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> BreakReason_Assert = 1,</div>
|
|
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> BreakReason_User = 2,</div>
|
|
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> BreakReason_PreLoadDll = 3,</div>
|
|
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> BreakReason_PostLoadDll = 4,</div>
|
|
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> BreakReason_PreUnloadDll = 5,</div>
|
|
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> BreakReason_PostUnloadDll = 6,</div>
|
|
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> BreakReason_CppException = 7,</div>
|
|
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
|
|
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> BreakReason_NotificationOnlyFlag = 0x80000000,</div>
|
|
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span>} <a class="code hl_enumeration" href="svc_8h.html#a42cac6762248ad9e26500746f28f0c73">BreakReason</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment">/// Code memory mapping operations</span></div>
|
|
<div class="foldopen" id="foldopen00129" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1b"> 129</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1bae935148188388b1cfcd8a8380fe5bdc0"> 130</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1bae935148188388b1cfcd8a8380fe5bdc0">CodeMapOperation_MapOwner</a>=0, <span class="comment">///< Map owner.</span></div>
|
|
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba9cbd5c8acb4dba09ac740ef4cb0d0429"> 131</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba9cbd5c8acb4dba09ac740ef4cb0d0429">CodeMapOperation_MapSlave</a>=1, <span class="comment">///< Map slave.</span></div>
|
|
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba39fd7f1fdc109b0408006618298bc52a"> 132</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba39fd7f1fdc109b0408006618298bc52a">CodeMapOperation_UnmapOwner</a>=2, <span class="comment">///< Unmap owner.</span></div>
|
|
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba271d36d2f1665df321b652ef9f01c7da"> 133</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba271d36d2f1665df321b652ef9f01c7da">CodeMapOperation_UnmapSlave</a>=3, <span class="comment">///< Unmap slave.</span></div>
|
|
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>} <a class="code hl_enumeration" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1b">CodeMapOperation</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment">/// Limitable Resources.</span></div>
|
|
<div class="foldopen" id="foldopen00137" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cf"> 137</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa17a84936c25973dbffb47198b5080604"> 138</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa17a84936c25973dbffb47198b5080604">LimitableResource_Memory</a>=0, <span class="comment">///<How much memory can a process map.</span></div>
|
|
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa74348628989a7d81ef5b3c4b85582642"> 139</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa74348628989a7d81ef5b3c4b85582642">LimitableResource_Threads</a>=1, <span class="comment">///<How many threads can a process spawn.</span></div>
|
|
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa422306acd10011a437f48b81c3612e68"> 140</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa422306acd10011a437f48b81c3612e68">LimitableResource_Events</a>=2, <span class="comment">///<How many events can a process have.</span></div>
|
|
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa8a6834d64f446e96c7af6071f71ac35d"> 141</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa8a6834d64f446e96c7af6071f71ac35d">LimitableResource_TransferMemories</a>=3, <span class="comment">///<How many transfer memories can a process make.</span></div>
|
|
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa18da8f7f670a62aa48b58d889c4eac8f"> 142</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa18da8f7f670a62aa48b58d889c4eac8f">LimitableResource_Sessions</a>=4, <span class="comment">///<How many sessions can a process own.</span></div>
|
|
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span>} <a class="code hl_enumeration" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cf">LimitableResource</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="comment">/// Thread Activity.</span></div>
|
|
<div class="foldopen" id="foldopen00146" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6f"> 146</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6fa12202434d1858d45cac2ac050bff0b0c"> 147</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6fa12202434d1858d45cac2ac050bff0b0c">ThreadActivity_Runnable</a> = 0, <span class="comment">///< Thread can run.</span></div>
|
|
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6fa0eee13fe2eae816f6399d3f45fe7b865"> 148</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6fa0eee13fe2eae816f6399d3f45fe7b865">ThreadActivity_Paused</a> = 1, <span class="comment">///< Thread is paused.</span></div>
|
|
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span>} <a class="code hl_enumeration" href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6f">ThreadActivity</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="comment">/// Process Information.</span></div>
|
|
<div class="foldopen" id="foldopen00152" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="svc_8h.html#ab26ba3b814f7567b853380aa9964a695"> 152</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="svc_8h.html#ab26ba3b814f7567b853380aa9964a695a5a3ecd4360c7d628ca7840750574af43"> 153</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ab26ba3b814f7567b853380aa9964a695a5a3ecd4360c7d628ca7840750574af43">ProcessInfoType_ProcessState</a>=0, <span class="comment">///<What state is a process in.</span></div>
|
|
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span>} <a class="code hl_enumeration" href="svc_8h.html#ab26ba3b814f7567b853380aa9964a695">ProcessInfoType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment">/// Process States.</span></div>
|
|
<div class="foldopen" id="foldopen00157" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675e"> 157</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaa24277c34c7bc02df2e070e2d2a30132"> 158</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaa24277c34c7bc02df2e070e2d2a30132">ProcessState_Created</a>=0, <span class="comment">///<Newly-created process, not yet started.</span></div>
|
|
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaf2e94aba4da1f0a3607cead293933ebe"> 159</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaf2e94aba4da1f0a3607cead293933ebe">ProcessState_CreatedAttached</a>=1, <span class="comment">///<Newly-created process, not yet started but attached to debugger.</span></div>
|
|
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eae97831a9729cf8a26d5975e98c93ede9"> 160</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eae97831a9729cf8a26d5975e98c93ede9">ProcessState_Running</a>=2, <span class="comment">///<Process that is running normally (and detached from any debugger).</span></div>
|
|
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea5ecd3dbecd9c66e7709166e6afeb2e24"> 161</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea5ecd3dbecd9c66e7709166e6afeb2e24">ProcessState_Crashed</a>=3, <span class="comment">///<Process that has just crashed.</span></div>
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea0a3ef08311e8ee262240d8b9fd927f30"> 162</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea0a3ef08311e8ee262240d8b9fd927f30">ProcessState_RunningAttached</a>=4, <span class="comment">///<Process that is running normally, attached to a debugger.</span></div>
|
|
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaf64f0cd28ba9db94798f9c49803ecf98"> 163</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaf64f0cd28ba9db94798f9c49803ecf98">ProcessState_Exiting</a>=5, <span class="comment">///<Process has begun exiting.</span></div>
|
|
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaada7416f51f3af8543a0d938aa107f41"> 164</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaada7416f51f3af8543a0d938aa107f41">ProcessState_Exited</a>=6, <span class="comment">///<Process has finished exiting.</span></div>
|
|
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"><a class="line" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea54691b5758cdab4600f2a5c6fad8a6bc"> 165</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea54691b5758cdab4600f2a5c6fad8a6bc">ProcessState_DebugSuspended</a>=7, <span class="comment">///<Process execution suspended by debugger.</span></div>
|
|
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span>} <a class="code hl_enumeration" href="svc_8h.html#a373a58178f69d5e3e1de7516d105675e">ProcessState</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="comment">/// Process Activity.</span></div>
|
|
<div class="foldopen" id="foldopen00169" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7f"> 169</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7fa90b6afb7e2df07035364a8a2a5ae350d"> 170</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7fa90b6afb7e2df07035364a8a2a5ae350d">ProcessActivity_Runnable</a> = 0, <span class="comment">///< Process can run.</span></div>
|
|
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7faf2de6b12e4c28c0700bc8102d842151b"> 171</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7faf2de6b12e4c28c0700bc8102d842151b">ProcessActivity_Paused</a> = 1, <span class="comment">///< Process is paused.</span></div>
|
|
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span>} <a class="code hl_enumeration" href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7f">ProcessActivity</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="comment">/// Debug Thread Parameters.</span></div>
|
|
<div class="foldopen" id="foldopen00175" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="svc_8h.html#a7d49c50b5c71de8d0845106a61f03200"> 175</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> DebugThreadParam_ActualPriority=0,</div>
|
|
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> DebugThreadParam_State=1,</div>
|
|
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> DebugThreadParam_IdealCore=2,</div>
|
|
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> DebugThreadParam_CurrentCore=3,</div>
|
|
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> DebugThreadParam_CoreMask=4,</div>
|
|
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span>} <a class="code hl_enumeration" href="svc_8h.html#a7d49c50b5c71de8d0845106a61f03200">DebugThreadParam</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="comment">/// GetInfo IDs.</span></div>
|
|
<div class="foldopen" id="foldopen00184" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1f"> 184</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fadc62d41e865e184c917b1c6a9c093eb5"> 185</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fadc62d41e865e184c917b1c6a9c093eb5">InfoType_CoreMask</a> = 0, <span class="comment">///< Bitmask of allowed Core IDs.</span></div>
|
|
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa2f0edec96abe6633791c0b6bce350ca6"> 186</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa2f0edec96abe6633791c0b6bce350ca6">InfoType_PriorityMask</a> = 1, <span class="comment">///< Bitmask of allowed Thread Priorities.</span></div>
|
|
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fadd6bfa83131fad4b40d7c9574f349049"> 187</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fadd6bfa83131fad4b40d7c9574f349049">InfoType_AliasRegionAddress</a> = 2, <span class="comment">///< Base of the Alias memory region.</span></div>
|
|
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fab518e0ceda01a9bd154e3b087e3b7db6"> 188</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fab518e0ceda01a9bd154e3b087e3b7db6">InfoType_AliasRegionSize</a> = 3, <span class="comment">///< Size of the Alias memory region.</span></div>
|
|
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fabe8790985212a46dabe5b6bddc63fd7c"> 189</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fabe8790985212a46dabe5b6bddc63fd7c">InfoType_HeapRegionAddress</a> = 4, <span class="comment">///< Base of the Heap memory region.</span></div>
|
|
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa015e7d4b8d619b69d95dee9d8d586901"> 190</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa015e7d4b8d619b69d95dee9d8d586901">InfoType_HeapRegionSize</a> = 5, <span class="comment">///< Size of the Heap memory region.</span></div>
|
|
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa53796e39499080c6cab6b5f7db0e6b6c"> 191</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa53796e39499080c6cab6b5f7db0e6b6c">InfoType_TotalMemorySize</a> = 6, <span class="comment">///< Total amount of memory available for process.</span></div>
|
|
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fabba3a24f4fa36ddd0617f9e9e7adb6e1"> 192</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fabba3a24f4fa36ddd0617f9e9e7adb6e1">InfoType_UsedMemorySize</a> = 7, <span class="comment">///< Amount of memory currently used by process.</span></div>
|
|
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa6c94dda74aaf6b506bc51ed2ca5e314f"> 193</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa6c94dda74aaf6b506bc51ed2ca5e314f">InfoType_DebuggerAttached</a> = 8, <span class="comment">///< Whether current process is being debugged.</span></div>
|
|
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa69316fc00112158e9aaee09b9772e2c1"> 194</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa69316fc00112158e9aaee09b9772e2c1">InfoType_ResourceLimit</a> = 9, <span class="comment">///< Current process's resource limit handle.</span></div>
|
|
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa84685df154b7a0c4c6a4e73a4eed7024"> 195</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa84685df154b7a0c4c6a4e73a4eed7024">InfoType_IdleTickCount</a> = 10, <span class="comment">///< Number of idle ticks on CPU.</span></div>
|
|
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa84592f86f18de4f95c3cbc54c87aace8"> 196</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa84592f86f18de4f95c3cbc54c87aace8">InfoType_RandomEntropy</a> = 11, <span class="comment">///< [2.0.0+] Random entropy for current process.</span></div>
|
|
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa655d305619abe4e19fba6cc7a0de1fce"> 197</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa655d305619abe4e19fba6cc7a0de1fce">InfoType_AslrRegionAddress</a> = 12, <span class="comment">///< [2.0.0+] Base of the process's address space.</span></div>
|
|
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa5f510b7ca2ba5dad173f7e0e61d4beab"> 198</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa5f510b7ca2ba5dad173f7e0e61d4beab">InfoType_AslrRegionSize</a> = 13, <span class="comment">///< [2.0.0+] Size of the process's address space.</span></div>
|
|
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa132c3a420527f1fbd71404301e6ca3c5"> 199</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa132c3a420527f1fbd71404301e6ca3c5">InfoType_StackRegionAddress</a> = 14, <span class="comment">///< [2.0.0+] Base of the Stack memory region.</span></div>
|
|
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fab60d692b975f7cf1b907f50c655b45b9"> 200</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fab60d692b975f7cf1b907f50c655b45b9">InfoType_StackRegionSize</a> = 15, <span class="comment">///< [2.0.0+] Size of the Stack memory region.</span></div>
|
|
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa25a2b3403e40d0e4b6b5fa5f3abc484e"> 201</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa25a2b3403e40d0e4b6b5fa5f3abc484e">InfoType_SystemResourceSizeTotal</a> = 16, <span class="comment">///< [3.0.0+] Total memory allocated for process memory management.</span></div>
|
|
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa04be21c5876a0472c51c32d3efcc969a"> 202</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa04be21c5876a0472c51c32d3efcc969a">InfoType_SystemResourceSizeUsed</a> = 17, <span class="comment">///< [3.0.0+] Amount of memory currently used by process memory management.</span></div>
|
|
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faad9d2594c11d8ee54babf48f24e7ffb5"> 203</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faad9d2594c11d8ee54babf48f24e7ffb5">InfoType_ProgramId</a> = 18, <span class="comment">///< [3.0.0+] Program ID for the process.</span></div>
|
|
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fac2ca2f5db51d8a1484da8d482a9c6235"> 204</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fac2ca2f5db51d8a1484da8d482a9c6235">InfoType_InitialProcessIdRange</a> = 19, <span class="comment">///< [4.0.0-4.1.0] Min/max initial process IDs.</span></div>
|
|
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faf5b6297819a64d79d7ae2b0d7fff2724"> 205</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faf5b6297819a64d79d7ae2b0d7fff2724">InfoType_UserExceptionContextAddress</a> = 20, <span class="comment">///< [5.0.0+] Address of the process's exception context (for break).</span></div>
|
|
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fad98e22dfe0f1e37a613c62722f5a7294"> 206</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fad98e22dfe0f1e37a613c62722f5a7294">InfoType_TotalNonSystemMemorySize</a> = 21, <span class="comment">///< [6.0.0+] Total amount of memory available for process, excluding that for process memory management.</span></div>
|
|
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa69703344f0da4b29cd85f99a7846e9cf"> 207</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa69703344f0da4b29cd85f99a7846e9cf">InfoType_UsedNonSystemMemorySize</a> = 22, <span class="comment">///< [6.0.0+] Amount of memory used by process, excluding that for process memory management.</span></div>
|
|
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa8fd4761334f67b226d99ab687a536001"> 208</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa8fd4761334f67b226d99ab687a536001">InfoType_IsApplication</a> = 23, <span class="comment">///< [9.0.0+] Whether the specified process is an Application.</span></div>
|
|
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faa3317c1b2791205d885e5a32d18cc427"> 209</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faa3317c1b2791205d885e5a32d18cc427">InfoType_FreeThreadCount</a> = 24, <span class="comment">///< [11.0.0+] The number of free threads available to the process's resource limit.</span></div>
|
|
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faab174c2a8ca164f1a322bfc5d29f2e6c"> 210</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faab174c2a8ca164f1a322bfc5d29f2e6c">InfoType_ThreadTickCount</a> = 25, <span class="comment">///< [13.0.0+] Number of ticks spent on thread.</span></div>
|
|
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa4be382b724273e78a89dd861abd6da16"> 211</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa4be382b724273e78a89dd861abd6da16">InfoType_IsSvcPermitted</a> = 26, <span class="comment">///< [14.0.0+] Does process have access to SVC (only usable with \ref svcSynchronizePreemptionState at present).</span></div>
|
|
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa3736a99f4a56661e6e2562e1261658f9"> 212</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa3736a99f4a56661e6e2562e1261658f9">InfoType_IoRegionHint</a> = 27, <span class="comment">///< [16.0.0+] Low bits of the physical address for a KIoRegion.</span></div>
|
|
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1facdf069e1a94f176710299947ce1e5ca6"> 213</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1facdf069e1a94f176710299947ce1e5ca6">InfoType_AliasRegionExtraSize</a> = 28, <span class="comment">///< [18.0.0+] Extra size added to the reserved region.</span></div>
|
|
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
|
|
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa02e63dab21b94197dd77d9467bc34560"> 215</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa02e63dab21b94197dd77d9467bc34560">InfoType_TransferMemoryHint</a> = 34, <span class="comment">///< [19.0.0+] Low bits of the process address for a KTransferMemory.</span></div>
|
|
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
|
|
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa62ea4e99ae83483cd995bec2c8ef12c4"> 217</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa62ea4e99ae83483cd995bec2c8ef12c4">InfoType_ThreadTickCountDeprecated</a> = 0xF0000002, <span class="comment">///< [1.0.0-12.1.0] Number of ticks spent on thread.</span></div>
|
|
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span>} <a class="code hl_enumeration" href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1f">InfoType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="comment">/// GetSystemInfo IDs.</span></div>
|
|
<div class="foldopen" id="foldopen00221" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2"> 221</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2a0f66ef7ed1b4a2734f14c9a3a7a75634"> 222</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2a0f66ef7ed1b4a2734f14c9a3a7a75634">SystemInfoType_TotalPhysicalMemorySize</a> = 0, <span class="comment">///< Total amount of DRAM available to system.</span></div>
|
|
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2abe912cf6e51c86b44c1fae40ef9806ef"> 223</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2abe912cf6e51c86b44c1fae40ef9806ef">SystemInfoType_UsedPhysicalMemorySize</a> = 1, <span class="comment">///< Current amount of DRAM used by system.</span></div>
|
|
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2adf4c1a6953062a9f83ee18255a2c6a6d"> 224</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2adf4c1a6953062a9f83ee18255a2c6a6d">SystemInfoType_InitialProcessIdRange</a> = 2, <span class="comment">///< Min/max initial process IDs.</span></div>
|
|
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span>} <a class="code hl_enumeration" href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2">SystemInfoType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="comment">/// GetInfo Idle/Thread Tick Count Sub IDs.</span></div>
|
|
<div class="foldopen" id="foldopen00228" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5"> 228</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a58265120a0ad99b3c90c4b23163b28f8"> 229</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a58265120a0ad99b3c90c4b23163b28f8">TickCountInfo_Core0</a> = 0, <span class="comment">///< Tick count on core 0.</span></div>
|
|
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a651d65f12b7271b6715c451578a01bbd"> 230</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a651d65f12b7271b6715c451578a01bbd">TickCountInfo_Core1</a> = 1, <span class="comment">///< Tick count on core 1.</span></div>
|
|
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a4dd7aec3e78b9dde56d9773c7f352578"> 231</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a4dd7aec3e78b9dde56d9773c7f352578">TickCountInfo_Core2</a> = 2, <span class="comment">///< Tick count on core 2.</span></div>
|
|
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"><a class="line" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a31c9f39449e28d134d9034f8a824e7a4"> 232</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a31c9f39449e28d134d9034f8a824e7a4">TickCountInfo_Core3</a> = 3, <span class="comment">///< Tick count on core 3.</span></div>
|
|
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
|
|
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a6ea797bbac581a19b7b6aa64364f4d65"> 234</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a6ea797bbac581a19b7b6aa64364f4d65">TickCountInfo_Total</a> = UINT64_MAX, <span class="comment">///< Tick count on all cores.</span></div>
|
|
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span>} <a class="code hl_enumeration" href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5">TickCountInfo</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span><span class="comment">/// GetInfo InitialProcessIdRange Sub IDs.</span></div>
|
|
<div class="foldopen" id="foldopen00238" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"><a class="line" href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5"> 238</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5a1fa7eea4767f3fbf63f0ff591203476a"> 239</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5a1fa7eea4767f3fbf63f0ff591203476a">InitialProcessIdRangeInfo_Minimum</a> = 0, <span class="comment">///< Lowest initial process ID.</span></div>
|
|
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"><a class="line" href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5a0cc4462bd426dc4abdeccb24179ddd77"> 240</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5a0cc4462bd426dc4abdeccb24179ddd77">InitialProcessIdRangeInfo_Maximum</a> = 1, <span class="comment">///< Highest initial process ID.</span></div>
|
|
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span>} <a class="code hl_enumeration" href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5">InitialProcessIdRangeInfo</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="comment">/// GetSystemInfo PhysicalMemory Sub IDs.</span></div>
|
|
<div class="foldopen" id="foldopen00244" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2"> 244</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2af633dc7b5cdc8ae1b8312f2ae1146687"> 245</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2af633dc7b5cdc8ae1b8312f2ae1146687">PhysicalMemorySystemInfo_Application</a> = 0, <span class="comment">///< Memory allocated for application usage.</span></div>
|
|
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2a5f4f816b7797ec3065b9d1b1487c8d7e"> 246</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2a5f4f816b7797ec3065b9d1b1487c8d7e">PhysicalMemorySystemInfo_Applet</a> = 1, <span class="comment">///< Memory allocated for applet usage.</span></div>
|
|
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2aed34f03c8cff75fdd6709ff9682f1a1c"> 247</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2aed34f03c8cff75fdd6709ff9682f1a1c">PhysicalMemorySystemInfo_System</a> = 2, <span class="comment">///< Memory allocated for system usage.</span></div>
|
|
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"><a class="line" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2a0b4cb37348182d98af8451a9d8cb2b78"> 248</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2a0b4cb37348182d98af8451a9d8cb2b78">PhysicalMemorySystemInfo_SystemUnsafe</a> = 3, <span class="comment">///< Memory allocated for unsafe system usage (accessible to devices).</span></div>
|
|
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span>} <a class="code hl_enumeration" href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2">PhysicalMemorySystemInfo</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span><span class="comment">/// SleepThread yield types.</span></div>
|
|
<div class="foldopen" id="foldopen00252" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51"> 252</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51ad5de77001b0121f5e595d51c2e7ca19f"> 253</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51ad5de77001b0121f5e595d51c2e7ca19f">YieldType_WithoutCoreMigration</a> = 0l, <span class="comment">///< Yields to another thread on the same core.</span></div>
|
|
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51a057b229b96e072534309b109d56694da"> 254</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51a057b229b96e072534309b109d56694da">YieldType_WithCoreMigration</a> = -1l, <span class="comment">///< Yields to another thread (possibly on a different core).</span></div>
|
|
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"><a class="line" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51ad3fbac0d597cfe900e36154a1e4f1a49"> 255</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51ad3fbac0d597cfe900e36154a1e4f1a49">YieldType_ToAnyThread</a> = -2l, <span class="comment">///< Yields and performs forced load-balancing.</span></div>
|
|
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span>} <a class="code hl_enumeration" href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51">YieldType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span><span class="comment">/// SignalToAddress behaviors.</span></div>
|
|
<div class="foldopen" id="foldopen00259" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919ade"> 259</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adea49cf31221a4a30c05444d1c4bf2ec689"> 260</a></span> <a class="code hl_enumvalue" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adea49cf31221a4a30c05444d1c4bf2ec689">SignalType_Signal</a> = 0, <span class="comment">///< Signals the address.</span></div>
|
|
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adeabe79e6fbce05d3f568f00195cbd0cc77"> 261</a></span> <a class="code hl_enumvalue" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adeabe79e6fbce05d3f568f00195cbd0cc77">SignalType_SignalAndIncrementIfEqual</a> = 1, <span class="comment">///< Signals the address and increments its value if equal to argument.</span></div>
|
|
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adeaaeb55202b2abbe773c6d8bc8b2078719"> 262</a></span> <a class="code hl_enumvalue" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adeaaeb55202b2abbe773c6d8bc8b2078719">SignalType_SignalAndModifyBasedOnWaitingThreadCountIfEqual</a> = 2, <span class="comment">///< Signals the address and updates its value if equal to argument.</span></div>
|
|
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span>} <a class="code hl_enumeration" href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919ade">SignalType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="comment">/// WaitForAddress behaviors.</span></div>
|
|
<div class="foldopen" id="foldopen00266" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec"> 266</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="svc_8h.html#a00f5b708129ef172b59197a775b533ecaee97dfc5f8f55b9d323e0b4802606a83"> 267</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a00f5b708129ef172b59197a775b533ecaee97dfc5f8f55b9d323e0b4802606a83">ArbitrationType_WaitIfLessThan</a> = 0, <span class="comment">///< Wait if the 32-bit value is less than argument.</span></div>
|
|
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca9f2dd8a0177395db1f403f1753083bea"> 268</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca9f2dd8a0177395db1f403f1753083bea">ArbitrationType_DecrementAndWaitIfLessThan</a> = 1, <span class="comment">///< Decrement the 32-bit value and wait if it is less than argument.</span></div>
|
|
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca8aa9678a175f204a2ea9e3c0681cf51d"> 269</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca8aa9678a175f204a2ea9e3c0681cf51d">ArbitrationType_WaitIfEqual</a> = 2, <span class="comment">///< Wait if the 32-bit value is equal to argument.</span></div>
|
|
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca2a42c81ba6bf1fd4c2fef7754d94ef65"> 270</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca2a42c81ba6bf1fd4c2fef7754d94ef65">ArbitrationType_WaitIfEqual64</a> = 3, <span class="comment">///< [19.0.0+] Wait if the 64-bit value is equal to argument.</span></div>
|
|
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span>} <a class="code hl_enumeration" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span><span class="comment">/// Context of a scheduled thread.</span></div>
|
|
<div class="foldopen" id="foldopen00274" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="structLastThreadContext.html"> 274</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
|
|
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="structLastThreadContext.html#a422e1dba0b62e4c2882e88ba28ab56a6"> 275</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structLastThreadContext.html#a422e1dba0b62e4c2882e88ba28ab56a6">fp</a>; <span class="comment">///< Frame Pointer for the thread.</span></div>
|
|
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="structLastThreadContext.html#acb25e79356b0356bdfbe30cffd787906"> 276</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structLastThreadContext.html#acb25e79356b0356bdfbe30cffd787906">sp</a>; <span class="comment">///< Stack Pointer for the thread.</span></div>
|
|
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"><a class="line" href="structLastThreadContext.html#a57aae62b7e7b0442ad6b6ff944a917e2"> 277</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structLastThreadContext.html#a57aae62b7e7b0442ad6b6ff944a917e2">lr</a>; <span class="comment">///< Link Register for the thread.</span></div>
|
|
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="structLastThreadContext.html#ae1259d37dad62f723631292bbad96d34"> 278</a></span> <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_variable" href="structLastThreadContext.html#ae1259d37dad62f723631292bbad96d34">pc</a>; <span class="comment">///< Program Counter for the thread.</span></div>
|
|
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span>} <a class="code hl_struct" href="structLastThreadContext.html">LastThreadContext</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span><span class="comment">/// Memory mapping type.</span></div>
|
|
<div class="foldopen" id="foldopen00282" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9b"> 282</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba8bc300066367dcabe93a6a530c0ef00b"> 283</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba8bc300066367dcabe93a6a530c0ef00b">MemoryMapping_IoRegister</a> = 0, <span class="comment">///< Mapping IO registers.</span></div>
|
|
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba4cec90d68155ead7556fc8a7c3af1b54"> 284</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba4cec90d68155ead7556fc8a7c3af1b54">MemoryMapping_Uncached</a> = 1, <span class="comment">///< Mapping normal memory without cache.</span></div>
|
|
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba1b4498474858dbd6abcbf79f7fb7a29d"> 285</a></span> <a class="code hl_enumvalue" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba1b4498474858dbd6abcbf79f7fb7a29d">MemoryMapping_Memory</a> = 2, <span class="comment">///< Mapping normal memory.</span></div>
|
|
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span>} <a class="code hl_enumeration" href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9b">MemoryMapping</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="comment">/// Io Pools.</span></div>
|
|
<div class="foldopen" id="foldopen00289" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="svc_8h.html#ac1640d4be07bc36f681250f63d45b1a0"> 289</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
|
|
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"><a class="line" href="svc_8h.html#ac1640d4be07bc36f681250f63d45b1a0afca16b62bc1f488879945594109490aa"> 290</a></span> <a class="code hl_enumvalue" href="svc_8h.html#ac1640d4be07bc36f681250f63d45b1a0afca16b62bc1f488879945594109490aa">IoPoolType_PcieA2</a> = 0, <span class="comment">///< Physical address range 0x12000000-0x1FFFFFFF</span></div>
|
|
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span>} <a class="code hl_enumeration" href="svc_8h.html#ac1640d4be07bc36f681250f63d45b1a0">IoPoolType</a>;</div>
|
|
</div>
|
|
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="comment">///@name Memory management</span></div>
|
|
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="comment"> * @brief Set the process heap to a given size. It can both extend and shrink the heap.</span></div>
|
|
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="comment"> * @param[out] out_addr Variable to which write the address of the heap (which is randomized and fixed by the kernel)</span></div>
|
|
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="comment"> * @param[in] size Size of the heap, must be a multiple of 0x200000 and [2.0.0+] less than 0x18000000.</span></div>
|
|
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="comment"> * @note Syscall number 0x01.</span></div>
|
|
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="svc_8h.html#a0b57b609f47e1759d659fe5e33a1d063"> 303</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a0b57b609f47e1759d659fe5e33a1d063">svcSetHeapSize</a>(<span class="keywordtype">void</span>** out_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="comment"> * @brief Set the memory permissions of a (page-aligned) range of memory.</span></div>
|
|
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span><span class="comment"> * @param[in] addr Start address of the range.</span></div>
|
|
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="comment"> * @param[in] size Size of the range, in bytes.</span></div>
|
|
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="comment"> * @param[in] perm Permissions (see \ref Permission).</span></div>
|
|
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span><span class="comment"> * @remark Perm_X is not allowed. Setting write-only is not allowed either (Perm_W).</span></div>
|
|
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="comment"> * This can be used to move back and forth between Perm_None, Perm_R and Perm_Rw.</span></div>
|
|
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="comment"> * @note Syscall number 0x02.</span></div>
|
|
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="svc_8h.html#a0226fca03ea48110b3305110b9b668bf"> 315</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a0226fca03ea48110b3305110b9b668bf">svcSetMemoryPermission</a>(<span class="keywordtype">void</span>* addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="comment"> * @brief Set the memory attributes of a (page-aligned) range of memory.</span></div>
|
|
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="comment"> * @param[in] addr Start address of the range.</span></div>
|
|
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span><span class="comment"> * @param[in] size Size of the range, in bytes.</span></div>
|
|
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span><span class="comment"> * @param[in] val0 State0</span></div>
|
|
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span><span class="comment"> * @param[in] val1 State1</span></div>
|
|
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span><span class="comment"> * @remark See <a href="https://switchbrew.org/wiki/SVC#svcSetMemoryAttribute">switchbrew.org Wiki</a> for more details.</span></div>
|
|
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="comment"> * @note Syscall number 0x03.</span></div>
|
|
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="svc_8h.html#a7619533a1b3158309e3000870af00289"> 327</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a7619533a1b3158309e3000870af00289">svcSetMemoryAttribute</a>(<span class="keywordtype">void</span>* addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> val0, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> val1);</div>
|
|
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span><span class="comment"> * @brief Maps a memory range into a different range. Mainly used for adding guard pages around stack.</span></div>
|
|
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span><span class="comment"> * Source range gets reprotected to Perm_None (it can no longer be accessed), and \ref MemAttr_IsBorrowed is set in the source \ref MemoryAttribute.</span></div>
|
|
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="comment"> * @param[in] dst_addr Destination address.</span></div>
|
|
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span><span class="comment"> * @param[in] src_addr Source address.</span></div>
|
|
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span><span class="comment"> * @param[in] size Size of the range.</span></div>
|
|
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="comment"> * @note Syscall number 0x04.</span></div>
|
|
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"><a class="line" href="svc_8h.html#a630f1b316abd57661aa1c6225a70050a"> 338</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a630f1b316abd57661aa1c6225a70050a">svcMapMemory</a>(<span class="keywordtype">void</span>* dst_addr, <span class="keywordtype">void</span>* src_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span><span class="comment"> * @brief Unmaps a region that was previously mapped with \ref svcMapMemory.</span></div>
|
|
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span><span class="comment"> * @param[in] dst_addr Destination address.</span></div>
|
|
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span><span class="comment"> * @param[in] src_addr Source address.</span></div>
|
|
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span><span class="comment"> * @param[in] size Size of the range.</span></div>
|
|
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span><span class="comment"> * @note Syscall number 0x05.</span></div>
|
|
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"><a class="line" href="svc_8h.html#a962e97133d90f449fcb0657914fd6e10"> 348</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a962e97133d90f449fcb0657914fd6e10">svcUnmapMemory</a>(<span class="keywordtype">void</span>* dst_addr, <span class="keywordtype">void</span>* src_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span><span class="comment"> * @brief Query information about an address. Will always fetch the lowest page-aligned mapping that contains the provided address.</span></div>
|
|
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span><span class="comment"> * @param[out] meminfo_ptr \ref MemoryInfo structure which will be filled in.</span></div>
|
|
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span><span class="comment"> * @param[out] pageinfo Page information which will be filled in.</span></div>
|
|
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span><span class="comment"> * @param[in] addr Address to query.</span></div>
|
|
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span><span class="comment"> * @note Syscall number 0x06.</span></div>
|
|
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"><a class="line" href="svc_8h.html#aa2ba283455711cec8d6b9403a0dc2d34"> 358</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aa2ba283455711cec8d6b9403a0dc2d34">svcQueryMemory</a>(<a class="code hl_struct" href="structMemoryInfo.html">MemoryInfo</a>* meminfo_ptr, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *pageinfo, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> addr);</div>
|
|
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span><span class="comment">///@name Process and thread management</span></div>
|
|
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span><span class="comment"> * @brief Exits the current process.</span></div>
|
|
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span><span class="comment"> * @note Syscall number 0x07.</span></div>
|
|
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
|
|
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="svc_8h.html#a13c436b563f62abed77388f8d2adad17"> 370</a></span><span class="keywordtype">void</span> <a class="code hl_define" href="types_8h.html#ade5bb7679c90297209347fcb85a0db41">NX_NORETURN</a> <a class="code hl_function" href="svc_8h.html#a13c436b563f62abed77388f8d2adad17">svcExitProcess</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span><span class="comment"> * @brief Creates a thread.</span></div>
|
|
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span><span class="comment"> * @note Syscall number 0x08.</span></div>
|
|
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="svc_8h.html#afde9e9e3b87aaf317b6f9c93f0ca8a20"> 377</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#afde9e9e3b87aaf317b6f9c93f0ca8a20">svcCreateThread</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* out, <span class="keywordtype">void</span>* entry, <span class="keywordtype">void</span>* arg, <span class="keywordtype">void</span>* stack_top, <span class="keywordtype">int</span> prio, <span class="keywordtype">int</span> cpuid);</div>
|
|
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span><span class="comment"> * @brief Starts a freshly created thread.</span></div>
|
|
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span><span class="comment"> * @note Syscall number 0x09.</span></div>
|
|
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"><a class="line" href="svc_8h.html#a925697c0fadf511add66d26d14103420"> 384</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a925697c0fadf511add66d26d14103420">svcStartThread</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span><span class="comment"> * @brief Exits the current thread.</span></div>
|
|
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span><span class="comment"> * @note Syscall number 0x0A.</span></div>
|
|
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="svc_8h.html#a7b9240100b1f1e5ac8d3208ce8f24147"> 390</a></span><span class="keywordtype">void</span> <a class="code hl_define" href="types_8h.html#ade5bb7679c90297209347fcb85a0db41">NX_NORETURN</a> <a class="code hl_function" href="svc_8h.html#a7b9240100b1f1e5ac8d3208ce8f24147">svcExitThread</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="comment"> * @brief Sleeps the current thread for the specified amount of time.</span></div>
|
|
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span><span class="comment"> * @param[in] nano Number of nanoseconds to sleep, or \ref YieldType for yield.</span></div>
|
|
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span><span class="comment"> * @note Syscall number 0x0B.</span></div>
|
|
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"><a class="line" href="svc_8h.html#a0591112f39c2dee78eb9a0a862611fa6"> 397</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#a0591112f39c2dee78eb9a0a862611fa6">svcSleepThread</a>(<a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> nano);</div>
|
|
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span><span class="comment"> * @brief Gets a thread's priority.</span></div>
|
|
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span><span class="comment"> * @note Syscall number 0x0C.</span></div>
|
|
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"><a class="line" href="svc_8h.html#aedb288e19c41ca6ae0fdf594cc6123d4"> 404</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aedb288e19c41ca6ae0fdf594cc6123d4">svcGetThreadPriority</a>(<a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* priority, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span><span class="comment"> * @brief Sets a thread's priority.</span></div>
|
|
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span><span class="comment"> * @note Syscall number 0x0D.</span></div>
|
|
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="svc_8h.html#a24007c9b4df57e9e09ee48e82462a824"> 411</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a24007c9b4df57e9e09ee48e82462a824">svcSetThreadPriority</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> priority);</div>
|
|
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span><span class="comment"> * @brief Gets a thread's core mask.</span></div>
|
|
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span><span class="comment"> * @note Syscall number 0x0E.</span></div>
|
|
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="svc_8h.html#a0b6bc03099af7acf157c47e3a737b145"> 418</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a0b6bc03099af7acf157c47e3a737b145">svcGetThreadCoreMask</a>(<a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* preferred_core, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* affinity_mask, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span><span class="comment"> * @brief Sets a thread's core mask.</span></div>
|
|
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span><span class="comment"> * @note Syscall number 0x0F.</span></div>
|
|
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="svc_8h.html#a3477b74c310cfd6610c9016e5712a5f4"> 425</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a3477b74c310cfd6610c9016e5712a5f4">svcSetThreadCoreMask</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> preferred_core, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> affinity_mask);</div>
|
|
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span><span class="comment"> * @brief Gets the current processor's number.</span></div>
|
|
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span><span class="comment"> * @return The current processor's number.</span></div>
|
|
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span><span class="comment"> * @note Syscall number 0x10.</span></div>
|
|
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="svc_8h.html#a8296d39edbd12f0b4ba8d2802b9c6bf6"> 432</a></span><a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code hl_function" href="svc_8h.html#a8296d39edbd12f0b4ba8d2802b9c6bf6">svcGetCurrentProcessorNumber</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span><span class="comment">///@name Synchronization</span></div>
|
|
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span><span class="comment"> * @brief Sets an event's signalled status.</span></div>
|
|
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span><span class="comment"> * @note Syscall number 0x11.</span></div>
|
|
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"><a class="line" href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a"> 444</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a">svcSignalEvent</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span><span class="comment"> * @brief Clears an event's signalled status.</span></div>
|
|
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span><span class="comment"> * @note Syscall number 0x12.</span></div>
|
|
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"><a class="line" href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d"> 451</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d">svcClearEvent</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span><span class="comment">///@name Inter-process memory sharing</span></div>
|
|
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span><span class="comment"> * @brief Maps a block of shared memory.</span></div>
|
|
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span><span class="comment"> * @note Syscall number 0x13.</span></div>
|
|
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"><a class="line" href="svc_8h.html#a60001215981b5254786f14c8e6542f45"> 463</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a60001215981b5254786f14c8e6542f45">svcMapSharedMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <span class="keywordtype">void</span>* addr, <span class="keywordtype">size_t</span> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span><span class="comment"> * @brief Unmaps a block of shared memory.</span></div>
|
|
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span><span class="comment"> * @note Syscall number 0x14.</span></div>
|
|
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"><a class="line" href="svc_8h.html#a33538ff3f2030d96357b15085db56724"> 470</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a33538ff3f2030d96357b15085db56724">svcUnmapSharedMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <span class="keywordtype">void</span>* addr, <span class="keywordtype">size_t</span> size);</div>
|
|
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span><span class="comment"> * @brief Creates a block of transfer memory.</span></div>
|
|
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span><span class="comment"> * @note Syscall number 0x15.</span></div>
|
|
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"><a class="line" href="svc_8h.html#abf6d0b8e876566f015c654c367efa955"> 477</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#abf6d0b8e876566f015c654c367efa955">svcCreateTransferMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* out, <span class="keywordtype">void</span>* addr, <span class="keywordtype">size_t</span> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span><span class="comment">///@name Miscellaneous</span></div>
|
|
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span><span class="comment"> * @brief Closes a handle, decrementing the reference count of the corresponding kernel object.</span></div>
|
|
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span><span class="comment"> * This might result in the kernel freeing the object.</span></div>
|
|
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span><span class="comment"> * @param handle Handle to close.</span></div>
|
|
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span><span class="comment"> * @note Syscall number 0x16.</span></div>
|
|
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"><a class="line" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c"> 491</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span><span class="comment">///@name Synchronization</span></div>
|
|
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span><span class="comment"> * @brief Resets a signal.</span></div>
|
|
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span><span class="comment"> * @note Syscall number 0x17.</span></div>
|
|
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="svc_8h.html#ab28b7fd419ecba670a4c7105282d04a7"> 503</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ab28b7fd419ecba670a4c7105282d04a7">svcResetSignal</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span><span class="comment">///@name Synchronization</span></div>
|
|
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span><span class="comment"> * @brief Waits on one or more synchronization objects, optionally with a timeout.</span></div>
|
|
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span><span class="comment"> * @note Syscall number 0x18.</span></div>
|
|
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span><span class="comment"> * @note \p handleCount must not be greater than \ref MAX_WAIT_OBJECTS. This is a Horizon kernel limitation.</span></div>
|
|
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span><span class="comment"> * @note This is the raw syscall, which can be cancelled by \ref svcCancelSynchronization or other means. \ref waitHandles or \ref waitMultiHandle should normally be used instead.</span></div>
|
|
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"><a class="line" href="svc_8h.html#a24db9958be55b2c39da7240eb18e1e32"> 517</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a24db9958be55b2c39da7240eb18e1e32">svcWaitSynchronization</a>(<a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* index, <span class="keyword">const</span> <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* handles, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> handleCount, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout);</div>
|
|
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span><span class="comment"> * @brief Waits on a single synchronization object, optionally with a timeout.</span></div>
|
|
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span><span class="comment"> * @note Wrapper for \ref svcWaitSynchronization.</span></div>
|
|
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span><span class="comment"> * @note This is the raw syscall, which can be cancelled by \ref svcCancelSynchronization or other means. \ref waitSingleHandle should normally be used instead.</span></div>
|
|
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span><span class="comment"> */</span></div>
|
|
<div class="foldopen" id="foldopen00525" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"><a class="line" href="svc_8h.html#a89eacfa918c52be6a3994e7fdf0f1b5e"> 525</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a89eacfa918c52be6a3994e7fdf0f1b5e">svcWaitSynchronizationSingle</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout) {</div>
|
|
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> tmp;</div>
|
|
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">return</span> <a class="code hl_function" href="svc_8h.html#a24db9958be55b2c39da7240eb18e1e32">svcWaitSynchronization</a>(&tmp, &handle, 1, timeout);</div>
|
|
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span><span class="comment"> * @brief Waits a \ref svcWaitSynchronization operation being done on a synchronization object in another thread.</span></div>
|
|
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span><span class="comment"> * @note Syscall number 0x19.</span></div>
|
|
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"><a class="line" href="svc_8h.html#a35ad30a14a03ce84e4892f89d657a35a"> 535</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a35ad30a14a03ce84e4892f89d657a35a">svcCancelSynchronization</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread);</div>
|
|
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span><span class="comment"> * @brief Arbitrates a mutex lock operation in userspace.</span></div>
|
|
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span><span class="comment"> * @note Syscall number 0x1A.</span></div>
|
|
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"><a class="line" href="svc_8h.html#a85f94b8a056afacdf7d11fd5fbf79b50"> 542</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a85f94b8a056afacdf7d11fd5fbf79b50">svcArbitrateLock</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> wait_tag, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* tag_location, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> self_tag);</div>
|
|
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span><span class="comment"> * @brief Arbitrates a mutex unlock operation in userspace.</span></div>
|
|
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span><span class="comment"> * @note Syscall number 0x1B.</span></div>
|
|
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"><a class="line" href="svc_8h.html#a3a5a409e3129ed25b55c68e0c3f12bb4"> 549</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a3a5a409e3129ed25b55c68e0c3f12bb4">svcArbitrateUnlock</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* tag_location);</div>
|
|
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span><span class="comment"> * @brief Performs a condition variable wait operation in userspace.</span></div>
|
|
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span><span class="comment"> * @note Syscall number 0x1C.</span></div>
|
|
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"><a class="line" href="svc_8h.html#a93e430d3a1404772e6030ed632b37381"> 556</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a93e430d3a1404772e6030ed632b37381">svcWaitProcessWideKeyAtomic</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* key, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* tag_location, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> self_tag, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout);</div>
|
|
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span><span class="comment"> * @brief Performs a condition variable wake-up operation in userspace.</span></div>
|
|
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span><span class="comment"> * @note Syscall number 0x1D.</span></div>
|
|
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"><a class="line" href="svc_8h.html#a3310d5242eb003bd2c2395b2d843a625"> 562</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#a3310d5242eb003bd2c2395b2d843a625">svcSignalProcessWideKey</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* key, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> num);</div>
|
|
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span><span class="comment">///@name Miscellaneous</span></div>
|
|
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span><span class="comment"> * @brief Gets the current system tick.</span></div>
|
|
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span><span class="comment"> * @return The current system tick.</span></div>
|
|
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span><span class="comment"> * @note Syscall number 0x1E.</span></div>
|
|
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"><a class="line" href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7"> 574</a></span><a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> <a class="code hl_function" href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svcGetSystemTick</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span><span class="comment">///@name Inter-process communication (IPC)</span></div>
|
|
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span><span class="comment"> * @brief Connects to a registered named port.</span></div>
|
|
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span><span class="comment"> * @note Syscall number 0x1F.</span></div>
|
|
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"><a class="line" href="svc_8h.html#aaa63de15a90f491c09fc1cc3c636092f"> 586</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aaa63de15a90f491c09fc1cc3c636092f">svcConnectToNamedPort</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* session, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
|
|
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span><span class="comment"> * @brief Sends a light IPC synchronization request to a session.</span></div>
|
|
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span><span class="comment"> * @note Syscall number 0x20.</span></div>
|
|
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"><a class="line" href="svc_8h.html#ad24225ba2ed15df3cb54d4014ba6b951"> 593</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ad24225ba2ed15df3cb54d4014ba6b951">svcSendSyncRequestLight</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> session);</div>
|
|
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span><span class="comment"> * @brief Sends an IPC synchronization request to a session.</span></div>
|
|
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span><span class="comment"> * @note Syscall number 0x21.</span></div>
|
|
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="svc_8h.html#a3e2f6333bfcd2a2953b5bde79122e913"> 600</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a3e2f6333bfcd2a2953b5bde79122e913">svcSendSyncRequest</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> session);</div>
|
|
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span><span class="comment"> * @brief Sends an IPC synchronization request to a session from an user allocated buffer.</span></div>
|
|
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span><span class="comment"> * @remark size must be allocated to 0x1000 bytes.</span></div>
|
|
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span><span class="comment"> * @note Syscall number 0x22.</span></div>
|
|
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"><a class="line" href="svc_8h.html#a4d738df3d83a0baf7b69e5a7c3d864a7"> 608</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a4d738df3d83a0baf7b69e5a7c3d864a7">svcSendSyncRequestWithUserBuffer</a>(<span class="keywordtype">void</span>* usrBuffer, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> session);</div>
|
|
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span><span class="comment"> * @brief Sends an IPC synchronization request to a session from an user allocated buffer (asynchronous version).</span></div>
|
|
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span><span class="comment"> * @remark size must be allocated to 0x1000 bytes.</span></div>
|
|
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span><span class="comment"> * @note Syscall number 0x23.</span></div>
|
|
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"><a class="line" href="svc_8h.html#ae69ce119bc3680991faa2bc32cc08f38"> 616</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ae69ce119bc3680991faa2bc32cc08f38">svcSendAsyncRequestWithUserBuffer</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* handle, <span class="keywordtype">void</span>* usrBuffer, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> session);</div>
|
|
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span><span class="comment">///@name Process and thread management</span></div>
|
|
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span><span class="comment"> * @brief Gets the PID associated with a process.</span></div>
|
|
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span><span class="comment"> * @note Syscall number 0x24.</span></div>
|
|
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"><a class="line" href="svc_8h.html#a3c01fc3f8a2d23d95eb2a1aaacc6f240"> 628</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a3c01fc3f8a2d23d95eb2a1aaacc6f240">svcGetProcessId</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *processID, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span><span class="comment"> * @brief Gets the TID associated with a process.</span></div>
|
|
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span><span class="comment"> * @note Syscall number 0x25.</span></div>
|
|
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"><a class="line" href="svc_8h.html#a93dd8157e5ad724912d152beae1f02d3"> 635</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a93dd8157e5ad724912d152beae1f02d3">svcGetThreadId</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *threadID, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span><span class="comment">///@name Miscellaneous</span></div>
|
|
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span><span class="comment"> * @brief Breaks execution.</span></div>
|
|
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span><span class="comment"> * @param[in] breakReason Break reason (see \ref BreakReason).</span></div>
|
|
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span><span class="comment"> * @param[in] address Address of the buffer to pass to the debugger.</span></div>
|
|
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span><span class="comment"> * @param[in] size Size of the buffer to pass to the debugger.</span></div>
|
|
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span><span class="comment"> * @note Syscall number 0x26.</span></div>
|
|
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"><a class="line" href="svc_8h.html#af1b4f894de6fe5a04196397ffbdf3147"> 650</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#af1b4f894de6fe5a04196397ffbdf3147">svcBreak</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> breakReason, uintptr_t address, uintptr_t size);</div>
|
|
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span><span class="comment">///@name Debugging</span></div>
|
|
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span><span class="comment"> * @brief Outputs debug text, if used during debugging.</span></div>
|
|
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span><span class="comment"> * @param[in] str Text to output.</span></div>
|
|
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span><span class="comment"> * @param[in] size Size of the text in bytes.</span></div>
|
|
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span><span class="comment"> * @note Syscall number 0x27.</span></div>
|
|
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"><a class="line" href="svc_8h.html#ab806fe3f84d2e3eac5ad892096f47afb"> 664</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ab806fe3f84d2e3eac5ad892096f47afb">svcOutputDebugString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span><span class="comment">///@name Miscellaneous</span></div>
|
|
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span><span class="comment"> * @brief Returns from an exception.</span></div>
|
|
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span><span class="comment"> * @param[in] res Result code.</span></div>
|
|
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"> 674</span><span class="comment"> * @note Syscall number 0x28.</span></div>
|
|
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"><a class="line" href="svc_8h.html#a2dd1ccc58e8520646df292b96dbce774"> 676</a></span><span class="keywordtype">void</span> <a class="code hl_define" href="types_8h.html#ade5bb7679c90297209347fcb85a0db41">NX_NORETURN</a> <a class="code hl_function" href="svc_8h.html#a2dd1ccc58e8520646df292b96dbce774">svcReturnFromException</a>(<a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> res);</div>
|
|
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"> 678</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span><span class="comment"> * @brief Retrieves information about the system, or a certain kernel object.</span></div>
|
|
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span><span class="comment"> * @param[out] out Variable to which store the information.</span></div>
|
|
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span><span class="comment"> * @param[in] id0 First ID of the property to retrieve.</span></div>
|
|
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span><span class="comment"> * @param[in] handle Handle of the object to retrieve information from, or \ref INVALID_HANDLE to retrieve information about the system.</span></div>
|
|
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span><span class="comment"> * @param[in] id1 Second ID of the property to retrieve.</span></div>
|
|
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span><span class="comment"> * @remark The full list of property IDs can be found on the <a href="https://switchbrew.org/wiki/SVC#svcGetInfo">switchbrew.org wiki</a>.</span></div>
|
|
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span><span class="comment"> * @note Syscall number 0x29.</span></div>
|
|
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"><a class="line" href="svc_8h.html#ace281ca87b161d1a01d10902c1c77026"> 688</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ace281ca87b161d1a01d10902c1c77026">svcGetInfo</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* out, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> id0, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> id1);</div>
|
|
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"> 690</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span><span class="comment">///@name Cache Management</span></div>
|
|
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"> 694</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"> 696</span><span class="comment"> * @brief Flushes the entire data cache (by set/way).</span></div>
|
|
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span><span class="comment"> * @note Syscall number 0x2A.</span></div>
|
|
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span><span class="comment"> * @warning This syscall is dangerous, and should not be used.</span></div>
|
|
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"><a class="line" href="svc_8h.html#aca43fb91d1103d64cc5146d0488668e6"> 701</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#aca43fb91d1103d64cc5146d0488668e6">svcFlushEntireDataCache</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"> 702</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"> 703</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"> 704</span><span class="comment"> * @brief Flushes data cache for a virtual address range.</span></div>
|
|
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span><span class="comment"> * @param[in] address Address of region to flush.</span></div>
|
|
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"> 706</span><span class="comment"> * @param[in] size Size of region to flush.</span></div>
|
|
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span><span class="comment"> * @remark armDCacheFlush should be used instead of this syscall whenever possible.</span></div>
|
|
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span><span class="comment"> * @note Syscall number 0x2B.</span></div>
|
|
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"><a class="line" href="svc_8h.html#a9747c64fdb658d1f7039ad66db148ed4"> 710</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a9747c64fdb658d1f7039ad66db148ed4">svcFlushDataCache</a>(<span class="keywordtype">void</span> *address, <span class="keywordtype">size_t</span> size);</div>
|
|
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span><span class="comment">///@name Memory management</span></div>
|
|
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span><span class="comment"> * @brief Maps new heap memory at the desired address. [3.0.0+]</span></div>
|
|
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span><span class="comment"> * @note Syscall number 0x2C.</span></div>
|
|
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"><a class="line" href="svc_8h.html#af13c2fb149b1f9168c6ae7ad328b9020"> 722</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#af13c2fb149b1f9168c6ae7ad328b9020">svcMapPhysicalMemory</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"> 725</span><span class="comment"> * @brief Undoes the effects of \ref svcMapPhysicalMemory. [3.0.0+]</span></div>
|
|
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"> 726</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</span><span class="comment"> * @note Syscall number 0x2D.</span></div>
|
|
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"><a class="line" href="svc_8h.html#aabe20001f4bcbe12e1474e46b8e56089"> 729</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aabe20001f4bcbe12e1474e46b8e56089">svcUnmapPhysicalMemory</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span><span class="comment">///@name Process and thread management</span></div>
|
|
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span><span class="comment"> * @brief Gets information about a thread that will be scheduled in the future. [5.0.0+]</span></div>
|
|
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span><span class="comment"> * @param[out] out_context Output \ref LastThreadContext for the thread that will be scheduled.</span></div>
|
|
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span><span class="comment"> * @param[out] out_thread_id Output thread id for the thread that will be scheduled.</span></div>
|
|
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span><span class="comment"> * @param[in] debug Debug handle.</span></div>
|
|
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"> 741</span><span class="comment"> * @param[in] ns Nanoseconds in the future to get scheduled thread at.</span></div>
|
|
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span><span class="comment"> * @note Syscall number 0x2E.</span></div>
|
|
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"><a class="line" href="svc_8h.html#a93a8f8b046b80b9ec45fe4bce09cb12f"> 746</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a93a8f8b046b80b9ec45fe4bce09cb12f">svcGetDebugFutureThreadInfo</a>(<a class="code hl_struct" href="structLastThreadContext.html">LastThreadContext</a> *out_context, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *out_thread_id, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> ns);</div>
|
|
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span><span class="comment"> * @brief Gets information about the previously-scheduled thread.</span></div>
|
|
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span><span class="comment"> * @param[out] out_context Output \ref LastThreadContext for the previously scheduled thread.</span></div>
|
|
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"> 751</span><span class="comment"> * @param[out] out_tls_address Output tls address for the previously scheduled thread.</span></div>
|
|
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span><span class="comment"> * @param[out] out_flags Output flags for the previously scheduled thread.</span></div>
|
|
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span><span class="comment"> * @note Syscall number 0x2F.</span></div>
|
|
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"> 755</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"><a class="line" href="svc_8h.html#a87cf12d452be21c309bc6a1fca4e5186"> 756</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a87cf12d452be21c309bc6a1fca4e5186">svcGetLastThreadInfo</a>(<a class="code hl_struct" href="structLastThreadContext.html">LastThreadContext</a> *out_context, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *out_tls_address, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *out_flags);</div>
|
|
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"> 757</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span><span class="comment">///@name Resource Limit Management</span></div>
|
|
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"> 763</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"> 764</span><span class="comment"> * @brief Gets the maximum value a LimitableResource can have, for a Resource Limit handle.</span></div>
|
|
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"> 765</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"> 766</span><span class="comment"> * @note Syscall number 0x30.</span></div>
|
|
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"><a class="line" href="svc_8h.html#ada20299eb2673e843d16270e2b193691"> 769</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ada20299eb2673e843d16270e2b193691">svcGetResourceLimitLimitValue</a>(<a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> reslimit_h, <a class="code hl_enumeration" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cf">LimitableResource</a> which);</div>
|
|
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"> 772</span><span class="comment"> * @brief Gets the maximum value a LimitableResource can have, for a Resource Limit handle.</span></div>
|
|
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span><span class="comment"> * @note Syscall number 0x31.</span></div>
|
|
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"> 775</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"> 776</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"><a class="line" href="svc_8h.html#a48f007b81189c1f86e1daa4c2d5c4c25"> 777</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a48f007b81189c1f86e1daa4c2d5c4c25">svcGetResourceLimitCurrentValue</a>(<a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> reslimit_h, <a class="code hl_enumeration" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cf">LimitableResource</a> which);</div>
|
|
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span><span class="comment">///@name Process and thread management</span></div>
|
|
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"> 783</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"> 784</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"> 785</span><span class="comment"> * @brief Configures the pause/unpause status of a thread.</span></div>
|
|
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"> 787</span><span class="comment"> * @note Syscall number 0x32.</span></div>
|
|
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"><a class="line" href="svc_8h.html#ad1418bbdb12af8b40cbec0a05471bbb5"> 789</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ad1418bbdb12af8b40cbec0a05471bbb5">svcSetThreadActivity</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread, <a class="code hl_enumeration" href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6f">ThreadActivity</a> paused);</div>
|
|
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span><span class="comment"> * @brief Dumps the registers of a thread paused by @ref svcSetThreadActivity (register groups: all).</span></div>
|
|
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span><span class="comment"> * @param[out] ctx Output thread context (register dump).</span></div>
|
|
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span><span class="comment"> * @param[in] thread Thread handle.</span></div>
|
|
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span><span class="comment"> * @note Syscall number 0x33.</span></div>
|
|
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span><span class="comment"> * @warning Official kernel will not dump x0..x18 if the thread is currently executing a system call, and prior to 6.0.0 doesn't dump TPIDR_EL0.</span></div>
|
|
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"><a class="line" href="svc_8h.html#a8dbfda3393b630af44e82e045e4be456"> 799</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a8dbfda3393b630af44e82e045e4be456">svcGetThreadContext3</a>(<a class="code hl_struct" href="structThreadContext.html">ThreadContext</a>* ctx, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread);</div>
|
|
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span><span class="comment">///@name Synchronization</span></div>
|
|
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span><span class="comment"> * @brief Arbitrates an address depending on type and value. [4.0.0+]</span></div>
|
|
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span><span class="comment"> * @param[in] address Address to arbitrate.</span></div>
|
|
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span><span class="comment"> * @param[in] arb_type \ref ArbitrationType to use.</span></div>
|
|
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span><span class="comment"> * @param[in] value Value to arbitrate on.</span></div>
|
|
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span><span class="comment"> * @param[in] timeout Maximum time in nanoseconds to wait.</span></div>
|
|
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span><span class="comment"> * @note Syscall number 0x34.</span></div>
|
|
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"><a class="line" href="svc_8h.html#ab04f82aebf254739598116f80ee4efd0"> 815</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ab04f82aebf254739598116f80ee4efd0">svcWaitForAddress</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> arb_type, <a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> value, <a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> timeout);</div>
|
|
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span><span class="comment"> * @brief Signals (and updates) an address depending on type and value. [4.0.0+]</span></div>
|
|
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span><span class="comment"> * @param[in] address Address to arbitrate.</span></div>
|
|
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span><span class="comment"> * @param[in] signal_type \ref SignalType to use.</span></div>
|
|
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span><span class="comment"> * @param[in] value Value to arbitrate on.</span></div>
|
|
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span><span class="comment"> * @param[in] count Number of waiting threads to signal.</span></div>
|
|
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span><span class="comment"> * @note Syscall number 0x35.</span></div>
|
|
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"><a class="line" href="svc_8h.html#a7a5fd91a7cb8add0a51ca3142f130a43"> 826</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a7a5fd91a7cb8add0a51ca3142f130a43">svcSignalToAddress</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> signal_type, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> value, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> count);</div>
|
|
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span><span class="comment">///@name Miscellaneous</span></div>
|
|
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span><span class="comment"> * @brief Sets thread preemption state (used during abort/panic). [8.0.0+]</span></div>
|
|
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span><span class="comment"> * @note Syscall number 0x36.</span></div>
|
|
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"><a class="line" href="svc_8h.html#a503df19543ebb1cd0f643dce5a311577"> 837</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#a503df19543ebb1cd0f643dce5a311577">svcSynchronizePreemptionState</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span><span class="comment">///@name Resource Limit Management</span></div>
|
|
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span><span class="comment"> * @brief Gets the peak value a LimitableResource has had, for a Resource Limit handle. [11.0.0+]</span></div>
|
|
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span><span class="comment"> * @note Syscall number 0x37.</span></div>
|
|
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"><a class="line" href="svc_8h.html#afb79c48775a58f1844953e1f3800a937"> 850</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#afb79c48775a58f1844953e1f3800a937">svcGetResourceLimitPeakValue</a>(<a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> reslimit_h, <a class="code hl_enumeration" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cf">LimitableResource</a> which);</div>
|
|
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span><span class="comment">///@name Memory Management</span></div>
|
|
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span><span class="comment"> * @brief Creates an IO Pool. [13.0.0+]</span></div>
|
|
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span><span class="comment"> * @note Syscall number 0x39.</span></div>
|
|
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"><a class="line" href="svc_8h.html#a6ad1402399805b406168a97d5695180d"> 863</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a6ad1402399805b406168a97d5695180d">svcCreateIoPool</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *out_handle, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> pool_type);</div>
|
|
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span><span class="comment"> * @brief Creates an IO Region. [13.0.0+]</span></div>
|
|
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span><span class="comment"> * @note Syscall number 0x3A.</span></div>
|
|
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"><a class="line" href="svc_8h.html#ab217c94fba5d0253c8475220be8b6df8"> 871</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ab217c94fba5d0253c8475220be8b6df8">svcCreateIoRegion</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *out_handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> io_pool_h, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> physical_address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> memory_mapping, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span><span class="comment">///@name Debugging</span></div>
|
|
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span><span class="comment"></span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span><span class="comment"> * @brief Causes the kernel to dump debug information. [1.0.0-3.0.2]</span></div>
|
|
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span><span class="comment"> * @param[in] dump_info_type Type of information to dump.</span></div>
|
|
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span><span class="comment"> * @param[in] arg0 Argument to the debugging operation.</span></div>
|
|
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span><span class="comment"> * @note Syscall number 0x3C.</span></div>
|
|
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"><a class="line" href="svc_8h.html#a2f58afd8531b043343665eb82eb38ec0"> 884</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#a2f58afd8531b043343665eb82eb38ec0">svcDumpInfo</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> dump_info_type, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> arg0);</div>
|
|
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span><span class="comment"> * @brief Performs a debugging operation on the kernel. [4.0.0+]</span></div>
|
|
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span><span class="comment"> * @param[in] kern_debug_type Type of debugging operation to perform.</span></div>
|
|
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span><span class="comment"> * @param[in] arg0 First argument to the debugging operation.</span></div>
|
|
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span><span class="comment"> * @param[in] arg1 Second argument to the debugging operation.</span></div>
|
|
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span><span class="comment"> * @param[in] arg2 Third argument to the debugging operation.</span></div>
|
|
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span><span class="comment"> * @note Syscall number 0x3C.</span></div>
|
|
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"><a class="line" href="svc_8h.html#ae4da440e4fc6882d15f1ba8e8b14afe6"> 895</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#ae4da440e4fc6882d15f1ba8e8b14afe6">svcKernelDebug</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kern_debug_type, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> arg0, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> arg1, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> arg2);</div>
|
|
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span><span class="comment"> * @brief Performs a debugging operation on the kernel. [4.0.0+]</span></div>
|
|
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span><span class="comment"> * @param[in] kern_trace_state Type of tracing the kernel should perform.</span></div>
|
|
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span><span class="comment"> * @note Syscall number 0x3D.</span></div>
|
|
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"><a class="line" href="svc_8h.html#a0019d27658980e0ea743d5d1e2e16036"> 903</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#a0019d27658980e0ea743d5d1e2e16036">svcChangeKernelTraceState</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kern_trace_state);</div>
|
|
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span><span class="comment"></span> \<span class="comment"></span></div>
|
|
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span><span class="comment">///@name Inter-process communication (IPC)</span></div>
|
|
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span><span class="comment"> * @brief Creates an IPC session.</span></div>
|
|
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span><span class="comment"> * @note Syscall number 0x40.</span></div>
|
|
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"><a class="line" href="svc_8h.html#abd693f34f731f04e7baba9c65cc0e341"> 916</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#abd693f34f731f04e7baba9c65cc0e341">svcCreateSession</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *server_handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *client_handle, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> unk0, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> unk1);<span class="comment">//unk* are normally 0?</span></div>
|
|
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span><span class="comment"> * @brief Accepts an IPC session.</span></div>
|
|
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span><span class="comment"> * @note Syscall number 0x41.</span></div>
|
|
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"><a class="line" href="svc_8h.html#a4c52fe6f3725a76d160dae81b628fbb8"> 924</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a4c52fe6f3725a76d160dae81b628fbb8">svcAcceptSession</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *session_handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> port_handle);</div>
|
|
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span><span class="comment"> * @brief Performs light IPC input/output.</span></div>
|
|
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span><span class="comment"> * @param[in] handle Server or port handle to act on.</span></div>
|
|
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span><span class="comment"> * @note Syscall number 0x42.</span></div>
|
|
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"><a class="line" href="svc_8h.html#ac7a522eadfe51906151cadabc20d5661"> 933</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ac7a522eadfe51906151cadabc20d5661">svcReplyAndReceiveLight</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span><span class="comment"> * @brief Performs IPC input/output.</span></div>
|
|
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span><span class="comment"> * @note Syscall number 0x43.</span></div>
|
|
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"><a class="line" href="svc_8h.html#ac38e7643d1c40cea5ed89da3e9996ab0"> 941</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ac38e7643d1c40cea5ed89da3e9996ab0">svcReplyAndReceive</a>(<a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* index, <span class="keyword">const</span> <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* handles, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> handleCount, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> replyTarget, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout);</div>
|
|
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span><span class="comment"> * @brief Performs IPC input/output from an user allocated buffer.</span></div>
|
|
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span><span class="comment"> * @note Syscall number 0x44.</span></div>
|
|
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"><a class="line" href="svc_8h.html#a514156806b19f5b9b0e00efa1013ba2c"> 949</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a514156806b19f5b9b0e00efa1013ba2c">svcReplyAndReceiveWithUserBuffer</a>(<a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>* index, <span class="keywordtype">void</span>* usrBuffer, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <span class="keyword">const</span> <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* handles, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> handleCount, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> replyTarget, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout);</div>
|
|
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span><span class="comment">///@name Synchronization</span></div>
|
|
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span><span class="comment"> * @brief Creates a system event.</span></div>
|
|
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span><span class="comment"> * @note Syscall number 0x45.</span></div>
|
|
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"><a class="line" href="svc_8h.html#a9c9b1b6f0225f857a44d633c287b3b34"> 962</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a9c9b1b6f0225f857a44d633c287b3b34">svcCreateEvent</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* server_handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* client_handle);</div>
|
|
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span><span class="comment">///@name Memory management</span></div>
|
|
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span><span class="comment"> * @brief Maps an IO Region. [13.0.0+]</span></div>
|
|
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span><span class="comment"> * @note Syscall number 0x46.</span></div>
|
|
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"><a class="line" href="svc_8h.html#aa508adabfdfe238a9253c106bc18847c"> 975</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aa508adabfdfe238a9253c106bc18847c">svcMapIoRegion</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> io_region_h, <span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span><span class="comment"> * @brief Undoes the effects of \ref svcMapIoRegion. [13.0.0+]</span></div>
|
|
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span><span class="comment"> * @note Syscall number 0x47.</span></div>
|
|
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"><a class="line" href="svc_8h.html#a939b63d368597a825aea83e941891782"> 983</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a939b63d368597a825aea83e941891782">svcUnmapIoRegion</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> io_region_h, <span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span><span class="comment"> * @brief Maps unsafe memory (usable for GPU DMA) for a system module at the desired address. [5.0.0+]</span></div>
|
|
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span><span class="comment"> * @note Syscall number 0x48.</span></div>
|
|
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"><a class="line" href="svc_8h.html#a8aed3615c1e2ea485536cdac50e1bece"> 991</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a8aed3615c1e2ea485536cdac50e1bece">svcMapPhysicalMemoryUnsafe</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span><span class="comment"> * @brief Undoes the effects of \ref svcMapPhysicalMemoryUnsafe. [5.0.0+]</span></div>
|
|
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span><span class="comment"> * @note Syscall number 0x49.</span></div>
|
|
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"><a class="line" href="svc_8h.html#ac634a19d26752b5da77b3b86b5f5828f"> 999</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ac634a19d26752b5da77b3b86b5f5828f">svcUnmapPhysicalMemoryUnsafe</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span><span class="comment"> * @brief Sets the system-wide limit for unsafe memory mappable using \ref svcMapPhysicalMemoryUnsafe. [5.0.0+]</span></div>
|
|
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span><span class="comment"> * @note Syscall number 0x4A.</span></div>
|
|
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"><a class="line" href="svc_8h.html#a0c348f897ade48b9f64d3a469c2d6094"> 1007</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a0c348f897ade48b9f64d3a469c2d6094">svcSetUnsafeLimit</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span><span class="comment">///@name Code memory / Just-in-time (JIT) compilation support</span></div>
|
|
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span><span class="comment"> * @brief Creates code memory in the caller's address space [4.0.0+].</span></div>
|
|
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span><span class="comment"> * @note Syscall number 0x4B.</span></div>
|
|
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"><a class="line" href="svc_8h.html#a35b532e0d80b3cd0acfcef668d37e55c"> 1021</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a35b532e0d80b3cd0acfcef668d37e55c">svcCreateCodeMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* code_handle, <span class="keywordtype">void</span>* src_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span><span class="comment"> * @brief Maps code memory in the caller's address space [4.0.0+].</span></div>
|
|
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span><span class="comment"> * @note Syscall number 0x4C.</span></div>
|
|
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"><a class="line" href="svc_8h.html#aa85e0dddfa17f53608daf6dc207452f9"> 1029</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aa85e0dddfa17f53608daf6dc207452f9">svcControlCodeMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> code_handle, <a class="code hl_enumeration" href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1b">CodeMapOperation</a> op, <span class="keywordtype">void</span>* dst_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> perm);</div>
|
|
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span><span class="comment">///@name Power Management</span></div>
|
|
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span><span class="comment"> * @brief Causes the system to enter deep sleep.</span></div>
|
|
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span><span class="comment"> * @note Syscall number 0x4D.</span></div>
|
|
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"><a class="line" href="svc_8h.html#a92169b898677b759ec7027e3f94e1738"> 1041</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#a92169b898677b759ec7027e3f94e1738">svcSleepSystem</a>(<span class="keywordtype">void</span>);</div>
|
|
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span><span class="comment">///@name Device memory-mapped I/O (MMIO)</span></div>
|
|
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span><span class="comment"> * @brief Reads/writes a protected MMIO register.</span></div>
|
|
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span><span class="comment"> * @note Syscall number 0x4E.</span></div>
|
|
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"><a class="line" href="svc_8h.html#a311956e1793210a3b9689465cbca08b9"> 1054</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a311956e1793210a3b9689465cbca08b9">svcReadWriteRegister</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* outVal, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> regAddr, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> rwMask, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> inVal);</div>
|
|
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span><span class="comment">///@name Process and thread management</span></div>
|
|
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span><span class="comment"> * @brief Configures the pause/unpause status of a process.</span></div>
|
|
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span><span class="comment"> * @note Syscall number 0x4F.</span></div>
|
|
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"><a class="line" href="svc_8h.html#a09a9482ae77bf69fde978fd0d3c26e34"> 1067</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a09a9482ae77bf69fde978fd0d3c26e34">svcSetProcessActivity</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="code hl_enumeration" href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7f">ProcessActivity</a> paused);</div>
|
|
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span><span class="comment">///@name Inter-process memory sharing</span></div>
|
|
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span><span class="comment"> * @brief Creates a block of shared memory.</span></div>
|
|
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span><span class="comment"> * @note Syscall number 0x50.</span></div>
|
|
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"><a class="line" href="svc_8h.html#a84c60aac2f1fc05da3ffa099c1a4a214"> 1080</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a84c60aac2f1fc05da3ffa099c1a4a214">svcCreateSharedMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* out, <span class="keywordtype">size_t</span> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> local_perm, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> other_perm);</div>
|
|
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span><span class="comment"> * @brief Maps a block of transfer memory.</span></div>
|
|
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span><span class="comment"> * @note Syscall number 0x51.</span></div>
|
|
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"><a class="line" href="svc_8h.html#ac4b0083a0681fb750777b01faf0abdba"> 1088</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ac4b0083a0681fb750777b01faf0abdba">svcMapTransferMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> tmem_handle, <span class="keywordtype">void</span>* addr, <span class="keywordtype">size_t</span> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span><span class="comment"> * @brief Unmaps a block of transfer memory.</span></div>
|
|
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span><span class="comment"> * @note Syscall number 0x52.</span></div>
|
|
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"><a class="line" href="svc_8h.html#ab6de22d43b37d58b62242d83392f82ed"> 1096</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ab6de22d43b37d58b62242d83392f82ed">svcUnmapTransferMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> tmem_handle, <span class="keywordtype">void</span>* addr, <span class="keywordtype">size_t</span> size);</div>
|
|
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span><span class="comment">///@name Device memory-mapped I/O (MMIO)</span></div>
|
|
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span><span class="comment"> * @brief Creates an event and binds it to a specific hardware interrupt.</span></div>
|
|
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span><span class="comment"> * @note Syscall number 0x53.</span></div>
|
|
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"><a class="line" href="svc_8h.html#a5d44115c6fd1932b144dff9f8b6de2cd"> 1109</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a5d44115c6fd1932b144dff9f8b6de2cd">svcCreateInterruptEvent</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> irqNum, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flag);</div>
|
|
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span><span class="comment"> * @brief Queries information about a certain virtual address, including its physical address.</span></div>
|
|
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span><span class="comment"> * @note Syscall number 0x54.</span></div>
|
|
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"><a class="line" href="svc_8h.html#ab84481188897f5ff577426ed30332e0f"> 1117</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ab84481188897f5ff577426ed30332e0f">svcQueryPhysicalAddress</a>(<a class="code hl_struct" href="structPhysicalMemoryInfo.html">PhysicalMemoryInfo</a> *out, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> virtaddr);</div>
|
|
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span><span class="comment"> * @brief Returns a virtual address mapped to a given IO range.</span></div>
|
|
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span><span class="comment"> * @note Syscall number 0x55.</span></div>
|
|
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span><span class="comment"> * @warning Only exists on [10.0.0+]. For older versions use \ref svcLegacyQueryIoMapping.</span></div>
|
|
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"><a class="line" href="svc_8h.html#acdac3f8d432c07e43248e2d52a193229"> 1126</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#acdac3f8d432c07e43248e2d52a193229">svcQueryMemoryMapping</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* virtaddr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* out_size, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> physaddr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span><span class="comment"> * @brief Returns a virtual address mapped to a given IO range.</span></div>
|
|
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span><span class="comment"> * @note Syscall number 0x55.</span></div>
|
|
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span><span class="comment"> * @warning Only exists on [1.0.0-9.2.0]. For newer versions use \ref svcQueryMemoryMapping.</span></div>
|
|
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"><a class="line" href="svc_8h.html#a491f44f233289cd00c13a2922588c87e"> 1135</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a491f44f233289cd00c13a2922588c87e">svcLegacyQueryIoMapping</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* virtaddr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> physaddr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span><span class="comment">///@name I/O memory management unit (IOMMU)</span></div>
|
|
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span><span class="comment"> * @brief Creates a virtual address space for binding device address spaces.</span></div>
|
|
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span><span class="comment"> * @note Syscall number 0x56.</span></div>
|
|
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"><a class="line" href="svc_8h.html#af0fe9d1c5f45a46acaabb3a5e15f2115"> 1148</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#af0fe9d1c5f45a46acaabb3a5e15f2115">svcCreateDeviceAddressSpace</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_size);</div>
|
|
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span><span class="comment"> * @brief Attaches a device address space to a device.</span></div>
|
|
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span><span class="comment"> * @note Syscall number 0x57.</span></div>
|
|
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"><a class="line" href="svc_8h.html#a8ba74a3ed7b35da04b16af2add65cf19"> 1156</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a8ba74a3ed7b35da04b16af2add65cf19">svcAttachDeviceAddressSpace</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> device, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span><span class="comment"> * @brief Detaches a device address space from a device.</span></div>
|
|
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span><span class="comment"> * @note Syscall number 0x58.</span></div>
|
|
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"><a class="line" href="svc_8h.html#aff07fadb31e64d983e75e03dcb7fbcc7"> 1164</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aff07fadb31e64d983e75e03dcb7fbcc7">svcDetachDeviceAddressSpace</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> device, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
|
|
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"> 1167</span><span class="comment"> * @brief Maps an attached device address space to an userspace address.</span></div>
|
|
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span><span class="comment"> * @remark The userspace destination address must have the \ref MemState_MapDeviceAllowed bit set.</span></div>
|
|
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span><span class="comment"> * @note Syscall number 0x59.</span></div>
|
|
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"><a class="line" href="svc_8h.html#a357947870fc46bbb3609947e3762c70a"> 1173</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a357947870fc46bbb3609947e3762c70a">svcMapDeviceAddressSpaceByForce</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc_handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> map_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_size, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_addr, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> option);</div>
|
|
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span><span class="comment"> * @brief Maps an attached device address space to an userspace address.</span></div>
|
|
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span><span class="comment"> * @remark The userspace destination address must have the \ref MemState_MapDeviceAlignedAllowed bit set.</span></div>
|
|
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span><span class="comment"> * @note Syscall number 0x5A.</span></div>
|
|
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"><a class="line" href="svc_8h.html#a84967734dfc6e382083478521e6ae087"> 1182</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a84967734dfc6e382083478521e6ae087">svcMapDeviceAddressSpaceAligned</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc_handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> map_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_size, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_addr, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> option);</div>
|
|
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span><span class="comment"> * @brief Maps an attached device address space to an userspace address. [1.0.0-12.1.0]</span></div>
|
|
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span><span class="comment"> * @remark The userspace destination address must have the \ref MemState_MapDeviceAlignedAllowed bit set.</span></div>
|
|
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span><span class="comment"> * @note Syscall number 0x5B.</span></div>
|
|
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"><a class="line" href="svc_8h.html#aa2ea54f29f5f661b585f614fba238adf"> 1191</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aa2ea54f29f5f661b585f614fba238adf">svcMapDeviceAddressSpace</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *out_mapped_size, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc_handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> map_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_size, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_addr, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span><span class="comment"> * @brief Unmaps an attached device address space from an userspace address.</span></div>
|
|
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span><span class="comment"> * @note Syscall number 0x5C.</span></div>
|
|
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"><a class="line" href="svc_8h.html#aa2bd1c4d3899e276cb1e9ad972fb1b1b"> 1199</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aa2bd1c4d3899e276cb1e9ad972fb1b1b">svcUnmapDeviceAddressSpace</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc_handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> map_addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> map_size, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dev_addr);</div>
|
|
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span><span class="comment">///@name Cache Management</span></div>
|
|
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span><span class="comment"> * @brief Invalidates data cache for a virtual address range within a process.</span></div>
|
|
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span><span class="comment"> * @param[in] address Address of region to invalidate.</span></div>
|
|
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span><span class="comment"> * @param[in] size Size of region to invalidate.</span></div>
|
|
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span><span class="comment"> * @note Syscall number 0x5D.</span></div>
|
|
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"><a class="line" href="svc_8h.html#aa2d22868598e2f3a21ec5b4c8b267d68"> 1213</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aa2d22868598e2f3a21ec5b4c8b267d68">svcInvalidateProcessDataCache</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, uintptr_t address, <span class="keywordtype">size_t</span> size);</div>
|
|
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span><span class="comment"> * @brief Stores data cache for a virtual address range within a process.</span></div>
|
|
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span><span class="comment"> * @param[in] address Address of region to store.</span></div>
|
|
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span><span class="comment"> * @param[in] size Size of region to store.</span></div>
|
|
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span><span class="comment"> * @note Syscall number 0x5E.</span></div>
|
|
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"><a class="line" href="svc_8h.html#a24009c10131806984b77ca87177ad4f4"> 1222</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a24009c10131806984b77ca87177ad4f4">svcStoreProcessDataCache</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, uintptr_t address, <span class="keywordtype">size_t</span> size);</div>
|
|
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span><span class="comment"> * @brief Flushes data cache for a virtual address range within a process.</span></div>
|
|
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span><span class="comment"> * @param[in] address Address of region to flush.</span></div>
|
|
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span><span class="comment"> * @param[in] size Size of region to flush.</span></div>
|
|
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span><span class="comment"> * @note Syscall number 0x5F.</span></div>
|
|
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"><a class="line" href="svc_8h.html#a86c6d9669426f91db60134c291dcb263"> 1231</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a86c6d9669426f91db60134c291dcb263">svcFlushProcessDataCache</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, uintptr_t address, <span class="keywordtype">size_t</span> size);</div>
|
|
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span><span class="comment">///@name Debugging</span></div>
|
|
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span><span class="comment"> * @brief Debugs an active process.</span></div>
|
|
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span><span class="comment"> * @note Syscall number 0x60.</span></div>
|
|
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"><a class="line" href="svc_8h.html#a87d5401d21d1b15bd3453557371ca1fd"> 1244</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a87d5401d21d1b15bd3453557371ca1fd">svcDebugActiveProcess</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* debug, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> processID);</div>
|
|
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span><span class="comment"> * @brief Breaks an active debugging session.</span></div>
|
|
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span><span class="comment"> * @note Syscall number 0x61.</span></div>
|
|
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"><a class="line" href="svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4"> 1252</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4">svcBreakDebugProcess</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug);</div>
|
|
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span><span class="comment"> * @brief Terminates the process of an active debugging session.</span></div>
|
|
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span><span class="comment"> * @note Syscall number 0x62.</span></div>
|
|
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"><a class="line" href="svc_8h.html#aea161e7c96b51fd4db42a168f678d413"> 1260</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aea161e7c96b51fd4db42a168f678d413">svcTerminateDebugProcess</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug);</div>
|
|
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span><span class="comment"> * @brief Gets an incoming debug event from a debugging session.</span></div>
|
|
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span><span class="comment"> * @note Syscall number 0x63.</span></div>
|
|
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"><a class="line" href="svc_8h.html#a9c852ab77e16437670bc9dc9f82743c3"> 1268</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a9c852ab77e16437670bc9dc9f82743c3">svcGetDebugEvent</a>(<span class="keywordtype">void</span>* event_out, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug);</div>
|
|
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span><span class="comment"> * @brief Continues a debugging session.</span></div>
|
|
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span><span class="comment"> * @note Syscall number 0x64.</span></div>
|
|
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span><span class="comment"> * @warning Only exists on [3.0.0+]. For older versions use \ref svcLegacyContinueDebugEvent.</span></div>
|
|
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"><a class="line" href="svc_8h.html#ac9d51ea383f3c3a7d85407ab298ec639"> 1277</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ac9d51ea383f3c3a7d85407ab298ec639">svcContinueDebugEvent</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* tid_list, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> num_tids);</div>
|
|
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span><span class="comment"> * @brief Continues a debugging session.</span></div>
|
|
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span><span class="comment"> * @note Syscall number 0x64.</span></div>
|
|
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span><span class="comment"> * @warning Only exists on [1.0.0-2.3.0]. For newer versions use \ref svcContinueDebugEvent.</span></div>
|
|
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"><a class="line" href="svc_8h.html#ab79e22aba49f67fab7dfe412fc26910b"> 1286</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ab79e22aba49f67fab7dfe412fc26910b">svcLegacyContinueDebugEvent</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> threadID);</div>
|
|
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span><span class="comment"> * @brief Gets the context (dump the registers) of a thread in a debugging session.</span></div>
|
|
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span><span class="comment"> * @param[out] ctx Output thread context (register dump).</span></div>
|
|
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span><span class="comment"> * @param[in] debug Debug handle.</span></div>
|
|
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span><span class="comment"> * @param[in] threadID ID of the thread to dump the context of.</span></div>
|
|
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span><span class="comment"> * @param[in] flags Register groups to select, combination of @ref RegisterGroup flags.</span></div>
|
|
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span><span class="comment"> * @note Syscall number 0x67.</span></div>
|
|
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span><span class="comment"> * @warning Official kernel will not dump any CPU GPR if the thread is currently executing a system call (except @ref svcBreak and @ref svcReturnFromException).</span></div>
|
|
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"><a class="line" href="svc_8h.html#a8a48772c68b4aabee0a389194e3fa8bb"> 1299</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a8a48772c68b4aabee0a389194e3fa8bb">svcGetDebugThreadContext</a>(<a class="code hl_struct" href="structThreadContext.html">ThreadContext</a>* ctx, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> threadID, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags);</div>
|
|
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span><span class="comment"> * @brief Gets the context (dump the registers) of a thread in a debugging session.</span></div>
|
|
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span><span class="comment"> * @param[in] debug Debug handle.</span></div>
|
|
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span><span class="comment"> * @param[in] threadID ID of the thread to set the context of.</span></div>
|
|
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span><span class="comment"> * @param[in] ctx Input thread context (register dump).</span></div>
|
|
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span><span class="comment"> * @param[in] flags Register groups to select, combination of @ref RegisterGroup flags.</span></div>
|
|
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span><span class="comment"> * @note Syscall number 0x68.</span></div>
|
|
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span><span class="comment"> * @warning Official kernel will return an error if the thread is currently executing a system call (except @ref svcBreak and @ref svcReturnFromException).</span></div>
|
|
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"><a class="line" href="svc_8h.html#a2d59c1480ce58f7b8408067be9fcfd89"> 1312</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a2d59c1480ce58f7b8408067be9fcfd89">svcSetDebugThreadContext</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> threadID, <span class="keyword">const</span> <a class="code hl_struct" href="structThreadContext.html">ThreadContext</a>* ctx, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags);</div>
|
|
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span><span class="comment">///@name Process and thread management</span></div>
|
|
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span><span class="comment"> * @brief Retrieves a list of all running processes.</span></div>
|
|
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span><span class="comment"> * @note Syscall number 0x65.</span></div>
|
|
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"><a class="line" href="svc_8h.html#af23de090f6a32b6778795a798b658aef"> 1325</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#af23de090f6a32b6778795a798b658aef">svcGetProcessList</a>(<a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *num_out, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *pids_out, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> max_pids);</div>
|
|
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span><span class="comment"> * @brief Retrieves a list of all threads for a debug handle (or zero).</span></div>
|
|
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span><span class="comment"> * @note Syscall number 0x66.</span></div>
|
|
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"><a class="line" href="svc_8h.html#a7ec64f34c0e204e7f5b991821b2d4cb5"> 1333</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a7ec64f34c0e204e7f5b991821b2d4cb5">svcGetThreadList</a>(<a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *num_out, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *tids_out, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> max_tids, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug);</div>
|
|
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span><span class="comment">///@name Debugging</span></div>
|
|
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span><span class="comment"> * @brief Queries memory information from a process that is being debugged.</span></div>
|
|
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span><span class="comment"> * @note Syscall number 0x69.</span></div>
|
|
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"><a class="line" href="svc_8h.html#afb7f2e0fa14bbfb877be31246908b795"> 1346</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#afb7f2e0fa14bbfb877be31246908b795">svcQueryDebugProcessMemory</a>(<a class="code hl_struct" href="structMemoryInfo.html">MemoryInfo</a>* meminfo_ptr, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* pageinfo, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> addr);</div>
|
|
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span><span class="comment"> * @brief Reads memory from a process that is being debugged.</span></div>
|
|
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span><span class="comment"> * @note Syscall number 0x6A.</span></div>
|
|
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"><a class="line" href="svc_8h.html#a4179503862f4cfbf584da5904b531740"> 1354</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a4179503862f4cfbf584da5904b531740">svcReadDebugProcessMemory</a>(<span class="keywordtype">void</span>* buffer, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span><span class="comment"> * @brief Writes to memory in a process that is being debugged.</span></div>
|
|
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span><span class="comment"> * @note Syscall number 0x6B.</span></div>
|
|
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"><a class="line" href="svc_8h.html#a3b82b7b5c052857d18a3ec4c126e2378"> 1362</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a3b82b7b5c052857d18a3ec4c126e2378">svcWriteDebugProcessMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <span class="keyword">const</span> <span class="keywordtype">void</span>* buffer, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span><span class="comment"> * @brief Sets one of the hardware breakpoints.</span></div>
|
|
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span><span class="comment"> * @note Syscall number 0x6C.</span></div>
|
|
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"><a class="line" href="svc_8h.html#a8dd940e8183f04cbb8918eb66391b353"> 1370</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a8dd940e8183f04cbb8918eb66391b353">svcSetHardwareBreakPoint</a>(<a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> which, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> flags, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> value);</div>
|
|
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span><span class="comment"> * @brief Gets parameters from a thread in a debugging session.</span></div>
|
|
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"> 1375</span><span class="comment"> * @note Syscall number 0x6D.</span></div>
|
|
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"> 1376</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"><a class="line" href="svc_8h.html#ae19d9fa5877db971321070384eea1e7a"> 1378</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ae19d9fa5877db971321070384eea1e7a">svcGetDebugThreadParam</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* out_64, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* out_32, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> threadID, <a class="code hl_enumeration" href="svc_8h.html#a7d49c50b5c71de8d0845106a61f03200">DebugThreadParam</a> param);</div>
|
|
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"> 1379</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"> 1382</span><span class="comment">///@name Miscellaneous</span></div>
|
|
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span><span class="comment"> * @brief Retrieves privileged information about the system, or a certain kernel object.</span></div>
|
|
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"> 1387</span><span class="comment"> * @param[out] out Variable to which store the information.</span></div>
|
|
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span><span class="comment"> * @param[in] id0 First ID of the property to retrieve.</span></div>
|
|
<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span><span class="comment"> * @param[in] handle Handle of the object to retrieve information from, or \ref INVALID_HANDLE to retrieve information about the system.</span></div>
|
|
<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"> 1390</span><span class="comment"> * @param[in] id1 Second ID of the property to retrieve.</span></div>
|
|
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"> 1391</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span><span class="comment"> * @remark The full list of property IDs can be found on the <a href="https://switchbrew.org/wiki/SVC#svcGetSystemInfo">switchbrew.org wiki</a>.</span></div>
|
|
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span><span class="comment"> * @note Syscall number 0x6F.</span></div>
|
|
<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"><a class="line" href="svc_8h.html#a90b6d32ca4dbed2b1433f16c3d7a6da8"> 1396</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a90b6d32ca4dbed2b1433f16c3d7a6da8">svcGetSystemInfo</a>(<a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>* out, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> id0, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> id1);</div>
|
|
<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"> 1398</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span><span class="comment">///@name Inter-process communication (IPC)</span></div>
|
|
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01403" name="l01403"></a><span class="lineno"> 1403</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"> 1404</span><span class="comment"> * @brief Creates a port.</span></div>
|
|
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"> 1405</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"> 1406</span><span class="comment"> * @note Syscall number 0x70.</span></div>
|
|
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"> 1408</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"><a class="line" href="svc_8h.html#acd24675fa56b6970d787f5ed298516ad"> 1409</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#acd24675fa56b6970d787f5ed298516ad">svcCreatePort</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* portServer, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *portClient, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> max_sessions, <span class="keywordtype">bool</span> is_light, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
|
|
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"> 1412</span><span class="comment"> * @brief Manages a named port.</span></div>
|
|
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"> 1413</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span><span class="comment"> * @note Syscall number 0x71.</span></div>
|
|
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"> 1415</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"><a class="line" href="svc_8h.html#aef25daa79b8df1661c4e0e3837403d34"> 1417</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aef25daa79b8df1661c4e0e3837403d34">svcManageNamedPort</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* portServer, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> maxSessions);</div>
|
|
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"> 1418</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span><span class="comment"> * @brief Manages a named port.</span></div>
|
|
<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"> 1421</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span><span class="comment"> * @note Syscall number 0x72.</span></div>
|
|
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"><a class="line" href="svc_8h.html#ac583ce3ad83ea710f3b2b9fa927b4c8e"> 1425</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ac583ce3ad83ea710f3b2b9fa927b4c8e">svcConnectToPort</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* session, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> port);</div>
|
|
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span><span class="comment">///@name Memory management</span></div>
|
|
<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"> 1430</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span><span class="comment"> * @brief Sets the memory permissions for the specified memory with the supplied process handle.</span></div>
|
|
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span><span class="comment"> * @param[in] proc Process handle.</span></div>
|
|
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"> 1435</span><span class="comment"> * @param[in] addr Address of the memory.</span></div>
|
|
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span><span class="comment"> * @param[in] size Size of the memory.</span></div>
|
|
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span><span class="comment"> * @param[in] perm Permissions (see \ref Permission).</span></div>
|
|
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span><span class="comment"> * @remark This returns an error (0xD801) when \p perm is >0x5, hence -WX and RWX are not allowed.</span></div>
|
|
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span><span class="comment"> * @note Syscall number 0x73.</span></div>
|
|
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"><a class="line" href="svc_8h.html#af0e2d6b1fdba5429d56b4a5650596553"> 1443</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#af0e2d6b1fdba5429d56b4a5650596553">svcSetProcessMemoryPermission</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> addr, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm);</div>
|
|
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"> 1444</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span><span class="comment"> * @brief Maps the src address from the supplied process handle into the current process.</span></div>
|
|
<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"> 1447</span><span class="comment"> * @param[in] dst Address to which map the memory in the current process.</span></div>
|
|
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span><span class="comment"> * @param[in] proc Process handle.</span></div>
|
|
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span><span class="comment"> * @param[in] src Source mapping address.</span></div>
|
|
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span><span class="comment"> * @param[in] size Size of the memory.</span></div>
|
|
<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</span><span class="comment"> * @remark This allows mapping code and rodata with RW- permission.</span></div>
|
|
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span><span class="comment"> * @note Syscall number 0x74.</span></div>
|
|
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01455" name="l01455"></a><span class="lineno"> 1455</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"><a class="line" href="svc_8h.html#a910de76b6dcd5c7a09ffca688bdd0d77"> 1456</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a910de76b6dcd5c7a09ffca688bdd0d77">svcMapProcessMemory</a>(<span class="keywordtype">void</span>* dst, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> src, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01458" name="l01458"></a><span class="lineno"> 1458</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span><span class="comment"> * @brief Undoes the effects of \ref svcMapProcessMemory.</span></div>
|
|
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span><span class="comment"> * @param[in] dst Destination mapping address</span></div>
|
|
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span><span class="comment"> * @param[in] proc Process handle.</span></div>
|
|
<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span><span class="comment"> * @param[in] src Address of the memory in the process.</span></div>
|
|
<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span><span class="comment"> * @param[in] size Size of the memory.</span></div>
|
|
<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"> 1465</span><span class="comment"> * @remark This allows mapping code and rodata with RW- permission.</span></div>
|
|
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span><span class="comment"> * @note Syscall number 0x75.</span></div>
|
|
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"><a class="line" href="svc_8h.html#a4d9690c5684c4456a87b311ce8f7025f"> 1469</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a4d9690c5684c4456a87b311ce8f7025f">svcUnmapProcessMemory</a>(<span class="keywordtype">void</span>* dst, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> src, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span><span class="comment"> * @brief Equivalent to \ref svcQueryMemory, for another process.</span></div>
|
|
<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span><span class="comment"> * @param[out] meminfo_ptr \ref MemoryInfo structure which will be filled in.</span></div>
|
|
<div class="line"><a id="l01474" name="l01474"></a><span class="lineno"> 1474</span><span class="comment"> * @param[out] pageinfo Page information which will be filled in.</span></div>
|
|
<div class="line"><a id="l01475" name="l01475"></a><span class="lineno"> 1475</span><span class="comment"> * @param[in] proc Process handle.</span></div>
|
|
<div class="line"><a id="l01476" name="l01476"></a><span class="lineno"> 1476</span><span class="comment"> * @param[in] addr Address to query.</span></div>
|
|
<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"> 1477</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span><span class="comment"> * @note Syscall number 0x76.</span></div>
|
|
<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"><a class="line" href="svc_8h.html#afcfcabc58fdbea2d41a255c4d0f513eb"> 1481</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#afcfcabc58fdbea2d41a255c4d0f513eb">svcQueryProcessMemory</a>(<a class="code hl_struct" href="structMemoryInfo.html">MemoryInfo</a>* meminfo_ptr, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *pageinfo, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> addr);</div>
|
|
<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"> 1484</span><span class="comment"> * @brief Maps normal heap in a certain process as executable code (used when loading NROs).</span></div>
|
|
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span><span class="comment"> * @param[in] proc Process handle (cannot be \ref CUR_PROCESS_HANDLE).</span></div>
|
|
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span><span class="comment"> * @param[in] dst Destination mapping address.</span></div>
|
|
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</span><span class="comment"> * @param[in] src Source mapping address.</span></div>
|
|
<div class="line"><a id="l01488" name="l01488"></a><span class="lineno"> 1488</span><span class="comment"> * @param[in] size Size of the mapping.</span></div>
|
|
<div class="line"><a id="l01489" name="l01489"></a><span class="lineno"> 1489</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01490" name="l01490"></a><span class="lineno"> 1490</span><span class="comment"> * @note Syscall number 0x77.</span></div>
|
|
<div class="line"><a id="l01491" name="l01491"></a><span class="lineno"> 1491</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01492" name="l01492"></a><span class="lineno"> 1492</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01493" name="l01493"></a><span class="lineno"><a class="line" href="svc_8h.html#ae094e05379fe209fe17c8312d3c8f2c7"> 1493</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ae094e05379fe209fe17c8312d3c8f2c7">svcMapProcessCodeMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dst, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> src, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01494" name="l01494"></a><span class="lineno"> 1494</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01495" name="l01495"></a><span class="lineno"> 1495</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01496" name="l01496"></a><span class="lineno"> 1496</span><span class="comment"> * @brief Undoes the effects of \ref svcMapProcessCodeMemory.</span></div>
|
|
<div class="line"><a id="l01497" name="l01497"></a><span class="lineno"> 1497</span><span class="comment"> * @param[in] proc Process handle (cannot be \ref CUR_PROCESS_HANDLE).</span></div>
|
|
<div class="line"><a id="l01498" name="l01498"></a><span class="lineno"> 1498</span><span class="comment"> * @param[in] dst Destination mapping address.</span></div>
|
|
<div class="line"><a id="l01499" name="l01499"></a><span class="lineno"> 1499</span><span class="comment"> * @param[in] src Source mapping address.</span></div>
|
|
<div class="line"><a id="l01500" name="l01500"></a><span class="lineno"> 1500</span><span class="comment"> * @param[in] size Size of the mapping.</span></div>
|
|
<div class="line"><a id="l01501" name="l01501"></a><span class="lineno"> 1501</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01502" name="l01502"></a><span class="lineno"> 1502</span><span class="comment"> * @note Syscall number 0x78.</span></div>
|
|
<div class="line"><a id="l01503" name="l01503"></a><span class="lineno"> 1503</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01504" name="l01504"></a><span class="lineno"> 1504</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01505" name="l01505"></a><span class="lineno"><a class="line" href="svc_8h.html#aa304657bd6c37e9ed976cd875fe70391"> 1505</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#aa304657bd6c37e9ed976cd875fe70391">svcUnmapProcessCodeMemory</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> dst, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> src, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01506" name="l01506"></a><span class="lineno"> 1506</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01507" name="l01507"></a><span class="lineno"> 1507</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01508" name="l01508"></a><span class="lineno"> 1508</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01509" name="l01509"></a><span class="lineno"> 1509</span><span class="comment">///@name Process and thread management</span></div>
|
|
<div class="line"><a id="l01510" name="l01510"></a><span class="lineno"> 1510</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01511" name="l01511"></a><span class="lineno"> 1511</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01512" name="l01512"></a><span class="lineno"> 1512</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01513" name="l01513"></a><span class="lineno"> 1513</span><span class="comment"> * @brief Creates a new process.</span></div>
|
|
<div class="line"><a id="l01514" name="l01514"></a><span class="lineno"> 1514</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01515" name="l01515"></a><span class="lineno"> 1515</span><span class="comment"> * @note Syscall number 0x79.</span></div>
|
|
<div class="line"><a id="l01516" name="l01516"></a><span class="lineno"> 1516</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01517" name="l01517"></a><span class="lineno"> 1517</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01518" name="l01518"></a><span class="lineno"><a class="line" href="svc_8h.html#ae31d7605dadf0020a310e1f3cc6da034"> 1518</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#ae31d7605dadf0020a310e1f3cc6da034">svcCreateProcess</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* out, <span class="keyword">const</span> <span class="keywordtype">void</span>* proc_info, <span class="keyword">const</span> <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* caps, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> cap_num);</div>
|
|
<div class="line"><a id="l01519" name="l01519"></a><span class="lineno"> 1519</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01520" name="l01520"></a><span class="lineno"> 1520</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01521" name="l01521"></a><span class="lineno"> 1521</span><span class="comment"> * @brief Starts executing a freshly created process.</span></div>
|
|
<div class="line"><a id="l01522" name="l01522"></a><span class="lineno"> 1522</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01523" name="l01523"></a><span class="lineno"> 1523</span><span class="comment"> * @note Syscall number 0x7A.</span></div>
|
|
<div class="line"><a id="l01524" name="l01524"></a><span class="lineno"> 1524</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01525" name="l01525"></a><span class="lineno"> 1525</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01526" name="l01526"></a><span class="lineno"><a class="line" href="svc_8h.html#a67d4c7aec8a718ff4bf2b1ee2d4d4bfa"> 1526</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a67d4c7aec8a718ff4bf2b1ee2d4d4bfa">svcStartProcess</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> main_prio, <a class="code hl_typedef" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> default_cpu, <a class="code hl_typedef" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> stack_size);</div>
|
|
<div class="line"><a id="l01527" name="l01527"></a><span class="lineno"> 1527</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01528" name="l01528"></a><span class="lineno"> 1528</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01529" name="l01529"></a><span class="lineno"> 1529</span><span class="comment"> * @brief Terminates a running process.</span></div>
|
|
<div class="line"><a id="l01530" name="l01530"></a><span class="lineno"> 1530</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01531" name="l01531"></a><span class="lineno"> 1531</span><span class="comment"> * @note Syscall number 0x7B.</span></div>
|
|
<div class="line"><a id="l01532" name="l01532"></a><span class="lineno"> 1532</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01533" name="l01533"></a><span class="lineno"> 1533</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01534" name="l01534"></a><span class="lineno"><a class="line" href="svc_8h.html#a6d70a28cbd560d0081f2b513524760ef"> 1534</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a6d70a28cbd560d0081f2b513524760ef">svcTerminateProcess</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc);</div>
|
|
<div class="line"><a id="l01535" name="l01535"></a><span class="lineno"> 1535</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01536" name="l01536"></a><span class="lineno"> 1536</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01537" name="l01537"></a><span class="lineno"> 1537</span><span class="comment"> * @brief Gets a \ref ProcessInfoType for a process.</span></div>
|
|
<div class="line"><a id="l01538" name="l01538"></a><span class="lineno"> 1538</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01539" name="l01539"></a><span class="lineno"> 1539</span><span class="comment"> * @note Syscall number 0x7C.</span></div>
|
|
<div class="line"><a id="l01540" name="l01540"></a><span class="lineno"> 1540</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01541" name="l01541"></a><span class="lineno"> 1541</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01542" name="l01542"></a><span class="lineno"><a class="line" href="svc_8h.html#a5718c92e53245eeadddb236200f5e962"> 1542</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a5718c92e53245eeadddb236200f5e962">svcGetProcessInfo</a>(<a class="code hl_typedef" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> proc, <a class="code hl_enumeration" href="svc_8h.html#ab26ba3b814f7567b853380aa9964a695">ProcessInfoType</a> which);</div>
|
|
<div class="line"><a id="l01543" name="l01543"></a><span class="lineno"> 1543</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01544" name="l01544"></a><span class="lineno"> 1544</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01545" name="l01545"></a><span class="lineno"> 1545</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01546" name="l01546"></a><span class="lineno"> 1546</span><span class="comment">///@name Resource Limit Management</span></div>
|
|
<div class="line"><a id="l01547" name="l01547"></a><span class="lineno"> 1547</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01548" name="l01548"></a><span class="lineno"> 1548</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01549" name="l01549"></a><span class="lineno"> 1549</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01550" name="l01550"></a><span class="lineno"> 1550</span><span class="comment"> * @brief Creates a new Resource Limit handle.</span></div>
|
|
<div class="line"><a id="l01551" name="l01551"></a><span class="lineno"> 1551</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01552" name="l01552"></a><span class="lineno"> 1552</span><span class="comment"> * @note Syscall number 0x7D.</span></div>
|
|
<div class="line"><a id="l01553" name="l01553"></a><span class="lineno"> 1553</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01554" name="l01554"></a><span class="lineno"> 1554</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01555" name="l01555"></a><span class="lineno"><a class="line" href="svc_8h.html#adba350120768af44d412533ffd78681d"> 1555</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#adba350120768af44d412533ffd78681d">svcCreateResourceLimit</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* out);</div>
|
|
<div class="line"><a id="l01556" name="l01556"></a><span class="lineno"> 1556</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01557" name="l01557"></a><span class="lineno"> 1557</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01558" name="l01558"></a><span class="lineno"> 1558</span><span class="comment"> * @brief Sets the value for a \ref LimitableResource for a Resource Limit handle.</span></div>
|
|
<div class="line"><a id="l01559" name="l01559"></a><span class="lineno"> 1559</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01560" name="l01560"></a><span class="lineno"> 1560</span><span class="comment"> * @note Syscall number 0x7E.</span></div>
|
|
<div class="line"><a id="l01561" name="l01561"></a><span class="lineno"> 1561</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01562" name="l01562"></a><span class="lineno"> 1562</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01563" name="l01563"></a><span class="lineno"><a class="line" href="svc_8h.html#a782bd34f8b2e9325f878dc1bd103cc6a"> 1563</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a782bd34f8b2e9325f878dc1bd103cc6a">svcSetResourceLimitLimitValue</a>(<a class="code hl_typedef" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> reslimit, <a class="code hl_enumeration" href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cf">LimitableResource</a> which, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> value);</div>
|
|
<div class="line"><a id="l01564" name="l01564"></a><span class="lineno"> 1564</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01565" name="l01565"></a><span class="lineno"> 1565</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01566" name="l01566"></a><span class="lineno"> 1566</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01567" name="l01567"></a><span class="lineno"> 1567</span><span class="comment">///@name ( ͡° ͜ʖ ͡°)</span></div>
|
|
<div class="line"><a id="l01568" name="l01568"></a><span class="lineno"> 1568</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01569" name="l01569"></a><span class="lineno"> 1569</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01570" name="l01570"></a><span class="lineno"> 1570</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01571" name="l01571"></a><span class="lineno"> 1571</span><span class="comment"> * @brief Calls a secure monitor function (TrustZone, EL3).</span></div>
|
|
<div class="line"><a id="l01572" name="l01572"></a><span class="lineno"> 1572</span><span class="comment"> * @param regs Arguments to pass to the secure monitor.</span></div>
|
|
<div class="line"><a id="l01573" name="l01573"></a><span class="lineno"> 1573</span><span class="comment"> * @note Syscall number 0x7F.</span></div>
|
|
<div class="line"><a id="l01574" name="l01574"></a><span class="lineno"> 1574</span><span class="comment"> * @warning This is a privileged syscall. Use \ref envIsSyscallHinted to check if it is available.</span></div>
|
|
<div class="line"><a id="l01575" name="l01575"></a><span class="lineno"> 1575</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01576" name="l01576"></a><span class="lineno"><a class="line" href="svc_8h.html#aafc661f59e3ee2024f0a2d8b54657ca8"> 1576</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="svc_8h.html#aafc661f59e3ee2024f0a2d8b54657ca8">svcCallSecureMonitor</a>(<a class="code hl_struct" href="structSecmonArgs.html">SecmonArgs</a>* regs);</div>
|
|
<div class="line"><a id="l01577" name="l01577"></a><span class="lineno"> 1577</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01578" name="l01578"></a><span class="lineno"> 1578</span><span class="comment">///@}</span></div>
|
|
<div class="line"><a id="l01579" name="l01579"></a><span class="lineno"> 1579</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01580" name="l01580"></a><span class="lineno"> 1580</span><span class="comment">///@name Memory management</span></div>
|
|
<div class="line"><a id="l01581" name="l01581"></a><span class="lineno"> 1581</span><span class="comment">///@{</span></div>
|
|
<div class="line"><a id="l01582" name="l01582"></a><span class="lineno"> 1582</span><span class="comment"></span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01583" name="l01583"></a><span class="lineno"> 1583</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01584" name="l01584"></a><span class="lineno"> 1584</span><span class="comment"> * @brief Maps new insecure memory at the desired address. [15.0.0+]</span></div>
|
|
<div class="line"><a id="l01585" name="l01585"></a><span class="lineno"> 1585</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01586" name="l01586"></a><span class="lineno"> 1586</span><span class="comment"> * @note Syscall number 0x90.</span></div>
|
|
<div class="line"><a id="l01587" name="l01587"></a><span class="lineno"> 1587</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01588" name="l01588"></a><span class="lineno"><a class="line" href="svc_8h.html#a0c1b55ebcc6149c485f5f3b0ebbec068"> 1588</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a0c1b55ebcc6149c485f5f3b0ebbec068">svcMapInsecurePhysicalMemory</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01589" name="l01589"></a><span class="lineno"> 1589</span><span class="comment"></span> </div>
|
|
<div class="line"><a id="l01590" name="l01590"></a><span class="lineno"> 1590</span><span class="comment">/**</span></div>
|
|
<div class="line"><a id="l01591" name="l01591"></a><span class="lineno"> 1591</span><span class="comment"> * @brief Undoes the effects of \ref svcMapInsecureMemory. [15.0.0+]</span></div>
|
|
<div class="line"><a id="l01592" name="l01592"></a><span class="lineno"> 1592</span><span class="comment"> * @return Result code.</span></div>
|
|
<div class="line"><a id="l01593" name="l01593"></a><span class="lineno"> 1593</span><span class="comment"> * @note Syscall number 0x91.</span></div>
|
|
<div class="line"><a id="l01594" name="l01594"></a><span class="lineno"> 1594</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l01595" name="l01595"></a><span class="lineno"><a class="line" href="svc_8h.html#a215bba333c2f27a3b0d02d9dbc99818e"> 1595</a></span><a class="code hl_typedef" href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a> <a class="code hl_function" href="svc_8h.html#a215bba333c2f27a3b0d02d9dbc99818e">svcUnmapInsecurePhysicalMemory</a>(<span class="keywordtype">void</span> *address, <a class="code hl_typedef" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> size);</div>
|
|
<div class="line"><a id="l01596" name="l01596"></a><span class="lineno"> 1596</span> </div>
|
|
<div class="line"><a id="l01597" name="l01597"></a><span class="lineno"> 1597</span><span class="comment">///@}</span></div>
|
|
<div class="ttc" id="astructLastThreadContext_html"><div class="ttname"><a href="structLastThreadContext.html">LastThreadContext</a></div><div class="ttdoc">Context of a scheduled thread.</div><div class="ttdef"><b>Definition</b> svc.h:274</div></div>
|
|
<div class="ttc" id="astructLastThreadContext_html_a422e1dba0b62e4c2882e88ba28ab56a6"><div class="ttname"><a href="structLastThreadContext.html#a422e1dba0b62e4c2882e88ba28ab56a6">LastThreadContext::fp</a></div><div class="ttdeci">u64 fp</div><div class="ttdoc">Frame Pointer for the thread.</div><div class="ttdef"><b>Definition</b> svc.h:275</div></div>
|
|
<div class="ttc" id="astructLastThreadContext_html_a57aae62b7e7b0442ad6b6ff944a917e2"><div class="ttname"><a href="structLastThreadContext.html#a57aae62b7e7b0442ad6b6ff944a917e2">LastThreadContext::lr</a></div><div class="ttdeci">u64 lr</div><div class="ttdoc">Link Register for the thread.</div><div class="ttdef"><b>Definition</b> svc.h:277</div></div>
|
|
<div class="ttc" id="astructLastThreadContext_html_acb25e79356b0356bdfbe30cffd787906"><div class="ttname"><a href="structLastThreadContext.html#acb25e79356b0356bdfbe30cffd787906">LastThreadContext::sp</a></div><div class="ttdeci">u64 sp</div><div class="ttdoc">Stack Pointer for the thread.</div><div class="ttdef"><b>Definition</b> svc.h:276</div></div>
|
|
<div class="ttc" id="astructLastThreadContext_html_ae1259d37dad62f723631292bbad96d34"><div class="ttname"><a href="structLastThreadContext.html#ae1259d37dad62f723631292bbad96d34">LastThreadContext::pc</a></div><div class="ttdeci">u64 pc</div><div class="ttdoc">Program Counter for the thread.</div><div class="ttdef"><b>Definition</b> svc.h:278</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html"><div class="ttname"><a href="structMemoryInfo.html">MemoryInfo</a></div><div class="ttdoc">Memory information structure.</div><div class="ttdef"><b>Definition</b> svc.h:91</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_a039ea6eb9d63b1eb432c874bfb6240a9"><div class="ttname"><a href="structMemoryInfo.html#a039ea6eb9d63b1eb432c874bfb6240a9">MemoryInfo::attr</a></div><div class="ttdeci">u32 attr</div><div class="ttdoc">Memory attributes (see MemoryAttribute).</div><div class="ttdef"><b>Definition</b> svc.h:95</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_a049cbd4f423846dfaba77ed61ac99391"><div class="ttname"><a href="structMemoryInfo.html#a049cbd4f423846dfaba77ed61ac99391">MemoryInfo::type</a></div><div class="ttdeci">u32 type</div><div class="ttdoc">Memory type (see lower 8 bits of MemoryState).</div><div class="ttdef"><b>Definition</b> svc.h:94</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_a13b4af5e333d70dd29942c20f10368d4"><div class="ttname"><a href="structMemoryInfo.html#a13b4af5e333d70dd29942c20f10368d4">MemoryInfo::ipc_refcount</a></div><div class="ttdeci">u32 ipc_refcount</div><div class="ttdoc">IPC reference count.</div><div class="ttdef"><b>Definition</b> svc.h:97</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_a224b48fa631a705e922521236b910725"><div class="ttname"><a href="structMemoryInfo.html#a224b48fa631a705e922521236b910725">MemoryInfo::perm</a></div><div class="ttdeci">u32 perm</div><div class="ttdoc">Memory permissions (see Permission).</div><div class="ttdef"><b>Definition</b> svc.h:96</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_a84011bc4f4baabbb83317d2e1171bf2f"><div class="ttname"><a href="structMemoryInfo.html#a84011bc4f4baabbb83317d2e1171bf2f">MemoryInfo::addr</a></div><div class="ttdeci">u64 addr</div><div class="ttdoc">Base address.</div><div class="ttdef"><b>Definition</b> svc.h:92</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_aa466a8741cda59fe35e92b9b1d81c582"><div class="ttname"><a href="structMemoryInfo.html#aa466a8741cda59fe35e92b9b1d81c582">MemoryInfo::size</a></div><div class="ttdeci">u64 size</div><div class="ttdoc">Size.</div><div class="ttdef"><b>Definition</b> svc.h:93</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_ac953a541d559dc500a555471ca874ad3"><div class="ttname"><a href="structMemoryInfo.html#ac953a541d559dc500a555471ca874ad3">MemoryInfo::padding</a></div><div class="ttdeci">u32 padding</div><div class="ttdoc">Padding.</div><div class="ttdef"><b>Definition</b> svc.h:99</div></div>
|
|
<div class="ttc" id="astructMemoryInfo_html_af5f0b5f54e1a39da5674b3c0bdb4bd57"><div class="ttname"><a href="structMemoryInfo.html#af5f0b5f54e1a39da5674b3c0bdb4bd57">MemoryInfo::device_refcount</a></div><div class="ttdeci">u32 device_refcount</div><div class="ttdoc">Device reference count.</div><div class="ttdef"><b>Definition</b> svc.h:98</div></div>
|
|
<div class="ttc" id="astructPhysicalMemoryInfo_html"><div class="ttname"><a href="structPhysicalMemoryInfo.html">PhysicalMemoryInfo</a></div><div class="ttdoc">Physical memory information structure.</div><div class="ttdef"><b>Definition</b> svc.h:103</div></div>
|
|
<div class="ttc" id="astructPhysicalMemoryInfo_html_a78839604c71dc8170873424843eccdec"><div class="ttname"><a href="structPhysicalMemoryInfo.html#a78839604c71dc8170873424843eccdec">PhysicalMemoryInfo::virtual_address</a></div><div class="ttdeci">u64 virtual_address</div><div class="ttdoc">Virtual address.</div><div class="ttdef"><b>Definition</b> svc.h:105</div></div>
|
|
<div class="ttc" id="astructPhysicalMemoryInfo_html_ac30c900fbcfd95a7b8fb4aeafa52ae47"><div class="ttname"><a href="structPhysicalMemoryInfo.html#ac30c900fbcfd95a7b8fb4aeafa52ae47">PhysicalMemoryInfo::physical_address</a></div><div class="ttdeci">u64 physical_address</div><div class="ttdoc">Physical address.</div><div class="ttdef"><b>Definition</b> svc.h:104</div></div>
|
|
<div class="ttc" id="astructPhysicalMemoryInfo_html_ae03687b07a4d812861b84fbf2e052d92"><div class="ttname"><a href="structPhysicalMemoryInfo.html#ae03687b07a4d812861b84fbf2e052d92">PhysicalMemoryInfo::size</a></div><div class="ttdeci">u64 size</div><div class="ttdoc">Size.</div><div class="ttdef"><b>Definition</b> svc.h:106</div></div>
|
|
<div class="ttc" id="astructSecmonArgs_html"><div class="ttname"><a href="structSecmonArgs.html">SecmonArgs</a></div><div class="ttdoc">Secure monitor arguments.</div><div class="ttdef"><b>Definition</b> svc.h:110</div></div>
|
|
<div class="ttc" id="astructThreadContext_html"><div class="ttname"><a href="structThreadContext.html">ThreadContext</a></div><div class="ttdoc">Thread context structure (register dump)</div><div class="ttdef"><b>Definition</b> thread_context.h:49</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a0019d27658980e0ea743d5d1e2e16036"><div class="ttname"><a href="svc_8h.html#a0019d27658980e0ea743d5d1e2e16036">svcChangeKernelTraceState</a></div><div class="ttdeci">void svcChangeKernelTraceState(u32 kern_trace_state)</div><div class="ttdoc">Performs a debugging operation on the kernel.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a00f5b708129ef172b59197a775b533ec"><div class="ttname"><a href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a></div><div class="ttdeci">ArbitrationType</div><div class="ttdoc">WaitForAddress behaviors.</div><div class="ttdef"><b>Definition</b> svc.h:266</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a00f5b708129ef172b59197a775b533eca2a42c81ba6bf1fd4c2fef7754d94ef65"><div class="ttname"><a href="svc_8h.html#a00f5b708129ef172b59197a775b533eca2a42c81ba6bf1fd4c2fef7754d94ef65">ArbitrationType_WaitIfEqual64</a></div><div class="ttdeci">@ ArbitrationType_WaitIfEqual64</div><div class="ttdoc">[19.0.0+] Wait if the 64-bit value is equal to argument.</div><div class="ttdef"><b>Definition</b> svc.h:270</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a00f5b708129ef172b59197a775b533eca8aa9678a175f204a2ea9e3c0681cf51d"><div class="ttname"><a href="svc_8h.html#a00f5b708129ef172b59197a775b533eca8aa9678a175f204a2ea9e3c0681cf51d">ArbitrationType_WaitIfEqual</a></div><div class="ttdeci">@ ArbitrationType_WaitIfEqual</div><div class="ttdoc">Wait if the 32-bit value is equal to argument.</div><div class="ttdef"><b>Definition</b> svc.h:269</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a00f5b708129ef172b59197a775b533eca9f2dd8a0177395db1f403f1753083bea"><div class="ttname"><a href="svc_8h.html#a00f5b708129ef172b59197a775b533eca9f2dd8a0177395db1f403f1753083bea">ArbitrationType_DecrementAndWaitIfLessThan</a></div><div class="ttdeci">@ ArbitrationType_DecrementAndWaitIfLessThan</div><div class="ttdoc">Decrement the 32-bit value and wait if it is less than argument.</div><div class="ttdef"><b>Definition</b> svc.h:268</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a00f5b708129ef172b59197a775b533ecaee97dfc5f8f55b9d323e0b4802606a83"><div class="ttname"><a href="svc_8h.html#a00f5b708129ef172b59197a775b533ecaee97dfc5f8f55b9d323e0b4802606a83">ArbitrationType_WaitIfLessThan</a></div><div class="ttdeci">@ ArbitrationType_WaitIfLessThan</div><div class="ttdoc">Wait if the 32-bit value is less than argument.</div><div class="ttdef"><b>Definition</b> svc.h:267</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a0226fca03ea48110b3305110b9b668bf"><div class="ttname"><a href="svc_8h.html#a0226fca03ea48110b3305110b9b668bf">svcSetMemoryPermission</a></div><div class="ttdeci">Result svcSetMemoryPermission(void *addr, u64 size, u32 perm)</div><div class="ttdoc">Set the memory permissions of a (page-aligned) range of memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a0591112f39c2dee78eb9a0a862611fa6"><div class="ttname"><a href="svc_8h.html#a0591112f39c2dee78eb9a0a862611fa6">svcSleepThread</a></div><div class="ttdeci">void svcSleepThread(s64 nano)</div><div class="ttdoc">Sleeps the current thread for the specified amount of time.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a09a9482ae77bf69fde978fd0d3c26e34"><div class="ttname"><a href="svc_8h.html#a09a9482ae77bf69fde978fd0d3c26e34">svcSetProcessActivity</a></div><div class="ttdeci">Result svcSetProcessActivity(Handle process, ProcessActivity paused)</div><div class="ttdoc">Configures the pause/unpause status of a process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a09f47e8301d61442fc76727da0b0554c"><div class="ttname"><a href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a></div><div class="ttdeci">Result svcCloseHandle(Handle handle)</div><div class="ttdoc">Closes a handle, decrementing the reference count of the corresponding kernel object.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a0b57b609f47e1759d659fe5e33a1d063"><div class="ttname"><a href="svc_8h.html#a0b57b609f47e1759d659fe5e33a1d063">svcSetHeapSize</a></div><div class="ttdeci">Result svcSetHeapSize(void **out_addr, u64 size)</div><div class="ttdoc">Set the process heap to a given size.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a0b6bc03099af7acf157c47e3a737b145"><div class="ttname"><a href="svc_8h.html#a0b6bc03099af7acf157c47e3a737b145">svcGetThreadCoreMask</a></div><div class="ttdeci">Result svcGetThreadCoreMask(s32 *preferred_core, u64 *affinity_mask, Handle handle)</div><div class="ttdoc">Gets a thread's core mask.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a0c1b55ebcc6149c485f5f3b0ebbec068"><div class="ttname"><a href="svc_8h.html#a0c1b55ebcc6149c485f5f3b0ebbec068">svcMapInsecurePhysicalMemory</a></div><div class="ttdeci">Result svcMapInsecurePhysicalMemory(void *address, u64 size)</div><div class="ttdoc">Maps new insecure memory at the desired address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a0c348f897ade48b9f64d3a469c2d6094"><div class="ttname"><a href="svc_8h.html#a0c348f897ade48b9f64d3a469c2d6094">svcSetUnsafeLimit</a></div><div class="ttdeci">Result svcSetUnsafeLimit(u64 size)</div><div class="ttdoc">Sets the system-wide limit for unsafe memory mappable using svcMapPhysicalMemoryUnsafe.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a13c436b563f62abed77388f8d2adad17"><div class="ttname"><a href="svc_8h.html#a13c436b563f62abed77388f8d2adad17">svcExitProcess</a></div><div class="ttdeci">void svcExitProcess(void)</div><div class="ttdoc">Exits the current process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200c"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200c">Permission</a></div><div class="ttdeci">Permission</div><div class="ttdoc">Memory permission bitmasks.</div><div class="ttdef"><b>Definition</b> svc.h:80</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200ca00886aee335d55c075c1f0ee3100ee9f"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca00886aee335d55c075c1f0ee3100ee9f">Perm_W</a></div><div class="ttdeci">@ Perm_W</div><div class="ttdoc">Write permission.</div><div class="ttdef"><b>Definition</b> svc.h:83</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200ca1bf74d986219ad6b62ae06dc61b3e1b6"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca1bf74d986219ad6b62ae06dc61b3e1b6">Perm_Rx</a></div><div class="ttdeci">@ Perm_Rx</div><div class="ttdoc">Read/execute permissions.</div><div class="ttdef"><b>Definition</b> svc.h:86</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200ca4212f419c58a6ad520155347955e0751"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca4212f419c58a6ad520155347955e0751">Perm_None</a></div><div class="ttdeci">@ Perm_None</div><div class="ttdoc">No permissions.</div><div class="ttdef"><b>Definition</b> svc.h:81</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200ca48288defc34d874293c9e74141989f59"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca48288defc34d874293c9e74141989f59">Perm_X</a></div><div class="ttdeci">@ Perm_X</div><div class="ttdoc">Execute permission.</div><div class="ttdef"><b>Definition</b> svc.h:84</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200ca57ac3963c1fe3f280b59c6f2eaf491e1"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca57ac3963c1fe3f280b59c6f2eaf491e1">Perm_Rw</a></div><div class="ttdeci">@ Perm_Rw</div><div class="ttdoc">Read/write permissions.</div><div class="ttdef"><b>Definition</b> svc.h:85</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200ca7a1e8798ee89e46e527ac5568cf81801"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200ca7a1e8798ee89e46e527ac5568cf81801">Perm_R</a></div><div class="ttdeci">@ Perm_R</div><div class="ttdoc">Read permission.</div><div class="ttdef"><b>Definition</b> svc.h:82</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a1474fa581c530fcdc28ca0a11770200caea28058376beab491fb57a0cc9a802cf"><div class="ttname"><a href="svc_8h.html#a1474fa581c530fcdc28ca0a11770200caea28058376beab491fb57a0cc9a802cf">Perm_DontCare</a></div><div class="ttdeci">@ Perm_DontCare</div><div class="ttdoc">Don't care.</div><div class="ttdef"><b>Definition</b> svc.h:87</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a215bba333c2f27a3b0d02d9dbc99818e"><div class="ttname"><a href="svc_8h.html#a215bba333c2f27a3b0d02d9dbc99818e">svcUnmapInsecurePhysicalMemory</a></div><div class="ttdeci">Result svcUnmapInsecurePhysicalMemory(void *address, u64 size)</div><div class="ttdoc">Undoes the effects of svcMapInsecureMemory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a24007c9b4df57e9e09ee48e82462a824"><div class="ttname"><a href="svc_8h.html#a24007c9b4df57e9e09ee48e82462a824">svcSetThreadPriority</a></div><div class="ttdeci">Result svcSetThreadPriority(Handle handle, u32 priority)</div><div class="ttdoc">Sets a thread's priority.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a24009c10131806984b77ca87177ad4f4"><div class="ttname"><a href="svc_8h.html#a24009c10131806984b77ca87177ad4f4">svcStoreProcessDataCache</a></div><div class="ttdeci">Result svcStoreProcessDataCache(Handle process, uintptr_t address, size_t size)</div><div class="ttdoc">Stores data cache for a virtual address range within a process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a24db9958be55b2c39da7240eb18e1e32"><div class="ttname"><a href="svc_8h.html#a24db9958be55b2c39da7240eb18e1e32">svcWaitSynchronization</a></div><div class="ttdeci">Result svcWaitSynchronization(s32 *index, const Handle *handles, s32 handleCount, u64 timeout)</div><div class="ttdoc">Waits on one or more synchronization objects, optionally with a timeout.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2b80be9755f160e77d3e4debea7007cf"><div class="ttname"><a href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cf">LimitableResource</a></div><div class="ttdeci">LimitableResource</div><div class="ttdoc">Limitable Resources.</div><div class="ttdef"><b>Definition</b> svc.h:137</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2b80be9755f160e77d3e4debea7007cfa17a84936c25973dbffb47198b5080604"><div class="ttname"><a href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa17a84936c25973dbffb47198b5080604">LimitableResource_Memory</a></div><div class="ttdeci">@ LimitableResource_Memory</div><div class="ttdoc">How much memory can a process map.</div><div class="ttdef"><b>Definition</b> svc.h:138</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2b80be9755f160e77d3e4debea7007cfa18da8f7f670a62aa48b58d889c4eac8f"><div class="ttname"><a href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa18da8f7f670a62aa48b58d889c4eac8f">LimitableResource_Sessions</a></div><div class="ttdeci">@ LimitableResource_Sessions</div><div class="ttdoc">How many sessions can a process own.</div><div class="ttdef"><b>Definition</b> svc.h:142</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2b80be9755f160e77d3e4debea7007cfa422306acd10011a437f48b81c3612e68"><div class="ttname"><a href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa422306acd10011a437f48b81c3612e68">LimitableResource_Events</a></div><div class="ttdeci">@ LimitableResource_Events</div><div class="ttdoc">How many events can a process have.</div><div class="ttdef"><b>Definition</b> svc.h:140</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2b80be9755f160e77d3e4debea7007cfa74348628989a7d81ef5b3c4b85582642"><div class="ttname"><a href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa74348628989a7d81ef5b3c4b85582642">LimitableResource_Threads</a></div><div class="ttdeci">@ LimitableResource_Threads</div><div class="ttdoc">How many threads can a process spawn.</div><div class="ttdef"><b>Definition</b> svc.h:139</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2b80be9755f160e77d3e4debea7007cfa8a6834d64f446e96c7af6071f71ac35d"><div class="ttname"><a href="svc_8h.html#a2b80be9755f160e77d3e4debea7007cfa8a6834d64f446e96c7af6071f71ac35d">LimitableResource_TransferMemories</a></div><div class="ttdeci">@ LimitableResource_TransferMemories</div><div class="ttdoc">How many transfer memories can a process make.</div><div class="ttdef"><b>Definition</b> svc.h:141</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2d59c1480ce58f7b8408067be9fcfd89"><div class="ttname"><a href="svc_8h.html#a2d59c1480ce58f7b8408067be9fcfd89">svcSetDebugThreadContext</a></div><div class="ttdeci">Result svcSetDebugThreadContext(Handle debug, u64 threadID, const ThreadContext *ctx, u32 flags)</div><div class="ttdoc">Gets the context (dump the registers) of a thread in a debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2dd1ccc58e8520646df292b96dbce774"><div class="ttname"><a href="svc_8h.html#a2dd1ccc58e8520646df292b96dbce774">svcReturnFromException</a></div><div class="ttdeci">void svcReturnFromException(Result res)</div><div class="ttdoc">Returns from an exception.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a2f58afd8531b043343665eb82eb38ec0"><div class="ttname"><a href="svc_8h.html#a2f58afd8531b043343665eb82eb38ec0">svcDumpInfo</a></div><div class="ttdeci">void svcDumpInfo(u32 dump_info_type, u64 arg0)</div><div class="ttdoc">Causes the kernel to dump debug information.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a311956e1793210a3b9689465cbca08b9"><div class="ttname"><a href="svc_8h.html#a311956e1793210a3b9689465cbca08b9">svcReadWriteRegister</a></div><div class="ttdeci">Result svcReadWriteRegister(u32 *outVal, u64 regAddr, u32 rwMask, u32 inVal)</div><div class="ttdoc">Reads/writes a protected MMIO register.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a3310d5242eb003bd2c2395b2d843a625"><div class="ttname"><a href="svc_8h.html#a3310d5242eb003bd2c2395b2d843a625">svcSignalProcessWideKey</a></div><div class="ttdeci">void svcSignalProcessWideKey(u32 *key, s32 num)</div><div class="ttdoc">Performs a condition variable wake-up operation in userspace.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a33538ff3f2030d96357b15085db56724"><div class="ttname"><a href="svc_8h.html#a33538ff3f2030d96357b15085db56724">svcUnmapSharedMemory</a></div><div class="ttdeci">Result svcUnmapSharedMemory(Handle handle, void *addr, size_t size)</div><div class="ttdoc">Unmaps a block of shared memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a3477b74c310cfd6610c9016e5712a5f4"><div class="ttname"><a href="svc_8h.html#a3477b74c310cfd6610c9016e5712a5f4">svcSetThreadCoreMask</a></div><div class="ttdeci">Result svcSetThreadCoreMask(Handle handle, s32 preferred_core, u32 affinity_mask)</div><div class="ttdoc">Sets a thread's core mask.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a357947870fc46bbb3609947e3762c70a"><div class="ttname"><a href="svc_8h.html#a357947870fc46bbb3609947e3762c70a">svcMapDeviceAddressSpaceByForce</a></div><div class="ttdeci">Result svcMapDeviceAddressSpaceByForce(Handle handle, Handle proc_handle, u64 map_addr, u64 dev_size, u64 dev_addr, u32 option)</div><div class="ttdoc">Maps an attached device address space to an userspace address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a35ad30a14a03ce84e4892f89d657a35a"><div class="ttname"><a href="svc_8h.html#a35ad30a14a03ce84e4892f89d657a35a">svcCancelSynchronization</a></div><div class="ttdeci">Result svcCancelSynchronization(Handle thread)</div><div class="ttdoc">Waits a svcWaitSynchronization operation being done on a synchronization object in another thread.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a35b532e0d80b3cd0acfcef668d37e55c"><div class="ttname"><a href="svc_8h.html#a35b532e0d80b3cd0acfcef668d37e55c">svcCreateCodeMemory</a></div><div class="ttdeci">Result svcCreateCodeMemory(Handle *code_handle, void *src_addr, u64 size)</div><div class="ttdoc">Creates code memory in the caller's address space [4.0.0+].</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a360acc04616a478566b89ad9f537c6e2"><div class="ttname"><a href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2">PhysicalMemorySystemInfo</a></div><div class="ttdeci">PhysicalMemorySystemInfo</div><div class="ttdoc">GetSystemInfo PhysicalMemory Sub IDs.</div><div class="ttdef"><b>Definition</b> svc.h:244</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a360acc04616a478566b89ad9f537c6e2a0b4cb37348182d98af8451a9d8cb2b78"><div class="ttname"><a href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2a0b4cb37348182d98af8451a9d8cb2b78">PhysicalMemorySystemInfo_SystemUnsafe</a></div><div class="ttdeci">@ PhysicalMemorySystemInfo_SystemUnsafe</div><div class="ttdoc">Memory allocated for unsafe system usage (accessible to devices).</div><div class="ttdef"><b>Definition</b> svc.h:248</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a360acc04616a478566b89ad9f537c6e2a5f4f816b7797ec3065b9d1b1487c8d7e"><div class="ttname"><a href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2a5f4f816b7797ec3065b9d1b1487c8d7e">PhysicalMemorySystemInfo_Applet</a></div><div class="ttdeci">@ PhysicalMemorySystemInfo_Applet</div><div class="ttdoc">Memory allocated for applet usage.</div><div class="ttdef"><b>Definition</b> svc.h:246</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a360acc04616a478566b89ad9f537c6e2aed34f03c8cff75fdd6709ff9682f1a1c"><div class="ttname"><a href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2aed34f03c8cff75fdd6709ff9682f1a1c">PhysicalMemorySystemInfo_System</a></div><div class="ttdeci">@ PhysicalMemorySystemInfo_System</div><div class="ttdoc">Memory allocated for system usage.</div><div class="ttdef"><b>Definition</b> svc.h:247</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a360acc04616a478566b89ad9f537c6e2af633dc7b5cdc8ae1b8312f2ae1146687"><div class="ttname"><a href="svc_8h.html#a360acc04616a478566b89ad9f537c6e2af633dc7b5cdc8ae1b8312f2ae1146687">PhysicalMemorySystemInfo_Application</a></div><div class="ttdeci">@ PhysicalMemorySystemInfo_Application</div><div class="ttdoc">Memory allocated for application usage.</div><div class="ttdef"><b>Definition</b> svc.h:245</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675e"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675e">ProcessState</a></div><div class="ttdeci">ProcessState</div><div class="ttdoc">Process States.</div><div class="ttdef"><b>Definition</b> svc.h:157</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675ea0a3ef08311e8ee262240d8b9fd927f30"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea0a3ef08311e8ee262240d8b9fd927f30">ProcessState_RunningAttached</a></div><div class="ttdeci">@ ProcessState_RunningAttached</div><div class="ttdoc">Process that is running normally, attached to a debugger.</div><div class="ttdef"><b>Definition</b> svc.h:162</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675ea54691b5758cdab4600f2a5c6fad8a6bc"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea54691b5758cdab4600f2a5c6fad8a6bc">ProcessState_DebugSuspended</a></div><div class="ttdeci">@ ProcessState_DebugSuspended</div><div class="ttdoc">Process execution suspended by debugger.</div><div class="ttdef"><b>Definition</b> svc.h:165</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675ea5ecd3dbecd9c66e7709166e6afeb2e24"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675ea5ecd3dbecd9c66e7709166e6afeb2e24">ProcessState_Crashed</a></div><div class="ttdeci">@ ProcessState_Crashed</div><div class="ttdoc">Process that has just crashed.</div><div class="ttdef"><b>Definition</b> svc.h:161</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675eaa24277c34c7bc02df2e070e2d2a30132"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaa24277c34c7bc02df2e070e2d2a30132">ProcessState_Created</a></div><div class="ttdeci">@ ProcessState_Created</div><div class="ttdoc">Newly-created process, not yet started.</div><div class="ttdef"><b>Definition</b> svc.h:158</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675eaada7416f51f3af8543a0d938aa107f41"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaada7416f51f3af8543a0d938aa107f41">ProcessState_Exited</a></div><div class="ttdeci">@ ProcessState_Exited</div><div class="ttdoc">Process has finished exiting.</div><div class="ttdef"><b>Definition</b> svc.h:164</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675eae97831a9729cf8a26d5975e98c93ede9"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eae97831a9729cf8a26d5975e98c93ede9">ProcessState_Running</a></div><div class="ttdeci">@ ProcessState_Running</div><div class="ttdoc">Process that is running normally (and detached from any debugger).</div><div class="ttdef"><b>Definition</b> svc.h:160</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675eaf2e94aba4da1f0a3607cead293933ebe"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaf2e94aba4da1f0a3607cead293933ebe">ProcessState_CreatedAttached</a></div><div class="ttdeci">@ ProcessState_CreatedAttached</div><div class="ttdoc">Newly-created process, not yet started but attached to debugger.</div><div class="ttdef"><b>Definition</b> svc.h:159</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a373a58178f69d5e3e1de7516d105675eaf64f0cd28ba9db94798f9c49803ecf98"><div class="ttname"><a href="svc_8h.html#a373a58178f69d5e3e1de7516d105675eaf64f0cd28ba9db94798f9c49803ecf98">ProcessState_Exiting</a></div><div class="ttdeci">@ ProcessState_Exiting</div><div class="ttdoc">Process has begun exiting.</div><div class="ttdef"><b>Definition</b> svc.h:163</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a374cbfc5df1cffe097fc1e85bde98e51"><div class="ttname"><a href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51">YieldType</a></div><div class="ttdeci">YieldType</div><div class="ttdoc">SleepThread yield types.</div><div class="ttdef"><b>Definition</b> svc.h:252</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a374cbfc5df1cffe097fc1e85bde98e51a057b229b96e072534309b109d56694da"><div class="ttname"><a href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51a057b229b96e072534309b109d56694da">YieldType_WithCoreMigration</a></div><div class="ttdeci">@ YieldType_WithCoreMigration</div><div class="ttdoc">Yields to another thread (possibly on a different core).</div><div class="ttdef"><b>Definition</b> svc.h:254</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a374cbfc5df1cffe097fc1e85bde98e51ad3fbac0d597cfe900e36154a1e4f1a49"><div class="ttname"><a href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51ad3fbac0d597cfe900e36154a1e4f1a49">YieldType_ToAnyThread</a></div><div class="ttdeci">@ YieldType_ToAnyThread</div><div class="ttdoc">Yields and performs forced load-balancing.</div><div class="ttdef"><b>Definition</b> svc.h:255</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a374cbfc5df1cffe097fc1e85bde98e51ad5de77001b0121f5e595d51c2e7ca19f"><div class="ttname"><a href="svc_8h.html#a374cbfc5df1cffe097fc1e85bde98e51ad5de77001b0121f5e595d51c2e7ca19f">YieldType_WithoutCoreMigration</a></div><div class="ttdeci">@ YieldType_WithoutCoreMigration</div><div class="ttdoc">Yields to another thread on the same core.</div><div class="ttdef"><b>Definition</b> svc.h:253</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a39d731de6d3a534fe8545ad987d7ff9b"><div class="ttname"><a href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9b">MemoryMapping</a></div><div class="ttdeci">MemoryMapping</div><div class="ttdoc">Memory mapping type.</div><div class="ttdef"><b>Definition</b> svc.h:282</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a39d731de6d3a534fe8545ad987d7ff9ba1b4498474858dbd6abcbf79f7fb7a29d"><div class="ttname"><a href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba1b4498474858dbd6abcbf79f7fb7a29d">MemoryMapping_Memory</a></div><div class="ttdeci">@ MemoryMapping_Memory</div><div class="ttdoc">Mapping normal memory.</div><div class="ttdef"><b>Definition</b> svc.h:285</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a39d731de6d3a534fe8545ad987d7ff9ba4cec90d68155ead7556fc8a7c3af1b54"><div class="ttname"><a href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba4cec90d68155ead7556fc8a7c3af1b54">MemoryMapping_Uncached</a></div><div class="ttdeci">@ MemoryMapping_Uncached</div><div class="ttdoc">Mapping normal memory without cache.</div><div class="ttdef"><b>Definition</b> svc.h:284</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a39d731de6d3a534fe8545ad987d7ff9ba8bc300066367dcabe93a6a530c0ef00b"><div class="ttname"><a href="svc_8h.html#a39d731de6d3a534fe8545ad987d7ff9ba8bc300066367dcabe93a6a530c0ef00b">MemoryMapping_IoRegister</a></div><div class="ttdeci">@ MemoryMapping_IoRegister</div><div class="ttdoc">Mapping IO registers.</div><div class="ttdef"><b>Definition</b> svc.h:283</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a3a31bff3a0f1d8ff768911e38f70c5d7"><div class="ttname"><a href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svcGetSystemTick</a></div><div class="ttdeci">u64 svcGetSystemTick(void)</div><div class="ttdoc">Gets the current system tick.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a3a5a409e3129ed25b55c68e0c3f12bb4"><div class="ttname"><a href="svc_8h.html#a3a5a409e3129ed25b55c68e0c3f12bb4">svcArbitrateUnlock</a></div><div class="ttdeci">Result svcArbitrateUnlock(u32 *tag_location)</div><div class="ttdoc">Arbitrates a mutex unlock operation in userspace.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a3b82b7b5c052857d18a3ec4c126e2378"><div class="ttname"><a href="svc_8h.html#a3b82b7b5c052857d18a3ec4c126e2378">svcWriteDebugProcessMemory</a></div><div class="ttdeci">Result svcWriteDebugProcessMemory(Handle debug, const void *buffer, u64 addr, u64 size)</div><div class="ttdoc">Writes to memory in a process that is being debugged.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a3c01fc3f8a2d23d95eb2a1aaacc6f240"><div class="ttname"><a href="svc_8h.html#a3c01fc3f8a2d23d95eb2a1aaacc6f240">svcGetProcessId</a></div><div class="ttdeci">Result svcGetProcessId(u64 *processID, Handle handle)</div><div class="ttdoc">Gets the PID associated with a process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a3e2f6333bfcd2a2953b5bde79122e913"><div class="ttname"><a href="svc_8h.html#a3e2f6333bfcd2a2953b5bde79122e913">svcSendSyncRequest</a></div><div class="ttdeci">Result svcSendSyncRequest(Handle session)</div><div class="ttdoc">Sends an IPC synchronization request to a session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4179503862f4cfbf584da5904b531740"><div class="ttname"><a href="svc_8h.html#a4179503862f4cfbf584da5904b531740">svcReadDebugProcessMemory</a></div><div class="ttdeci">Result svcReadDebugProcessMemory(void *buffer, Handle debug, u64 addr, u64 size)</div><div class="ttdoc">Reads memory from a process that is being debugged.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a42cac6762248ad9e26500746f28f0c73"><div class="ttname"><a href="svc_8h.html#a42cac6762248ad9e26500746f28f0c73">BreakReason</a></div><div class="ttdeci">BreakReason</div><div class="ttdoc">Break reasons.</div><div class="ttdef"><b>Definition</b> svc.h:115</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01">MemoryType</a></div><div class="ttdeci">MemoryType</div><div class="ttdoc">Memory type enumeration (lower 8 bits of MemoryState)</div><div class="ttdef"><b>Definition</b> svc.h:20</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a0cd7ce2f917724549d194b641280f562"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a0cd7ce2f917724549d194b641280f562">MemType_Normal</a></div><div class="ttdeci">@ MemType_Normal</div><div class="ttdoc">Mapped by kernel capability parsing in svcCreateProcess.</div><div class="ttdef"><b>Definition</b> svc.h:23</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a1e7751624fed0042d9b5a043bbba8f93"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a1e7751624fed0042d9b5a043bbba8f93">MemType_Heap</a></div><div class="ttdeci">@ MemType_Heap</div><div class="ttdoc">Mapped using svcSetHeapSize.</div><div class="ttdef"><b>Definition</b> svc.h:26</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a53e565eea6f34bf5121334c9c764e352"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a53e565eea6f34bf5121334c9c764e352">MemType_CodeReadOnly</a></div><div class="ttdeci">@ MemType_CodeReadOnly</div><div class="ttdoc">Mapped in kernel during svcControlCodeMemory.</div><div class="ttdef"><b>Definition</b> svc.h:41</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a567c46fdcd7367d1acfb96d18e958671"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a567c46fdcd7367d1acfb96d18e958671">MemType_Unmapped</a></div><div class="ttdeci">@ MemType_Unmapped</div><div class="ttdoc">Unmapped memory.</div><div class="ttdef"><b>Definition</b> svc.h:21</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a5ac9f753dd40b88a50bf4c693d2e8304"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a5ac9f753dd40b88a50bf4c693d2e8304">MemType_IpcBuffer0</a></div><div class="ttdeci">@ MemType_IpcBuffer0</div><div class="ttdoc">IPC buffers with descriptor flags=0.</div><div class="ttdef"><b>Definition</b> svc.h:31</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a7f5d78db67421226a16275deeea1b706"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a7f5d78db67421226a16275deeea1b706">MemType_CodeWritable</a></div><div class="ttdeci">@ MemType_CodeWritable</div><div class="ttdoc">Mapped in kernel during svcControlCodeMemory.</div><div class="ttdef"><b>Definition</b> svc.h:42</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a83a259e7f87606a6d58951e5680957b7"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a83a259e7f87606a6d58951e5680957b7">MemType_WeirdMappedMem</a></div><div class="ttdeci">@ MemType_WeirdMappedMem</div><div class="ttdoc">Mapped using svcMapMemory.</div><div class="ttdef"><b>Definition</b> svc.h:28</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a85122ce0328b14014b347a77e2453918"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a85122ce0328b14014b347a77e2453918">MemType_Insecure</a></div><div class="ttdeci">@ MemType_Insecure</div><div class="ttdoc">Mapped in kernel during svcMapInsecurePhysicalMemory.</div><div class="ttdef"><b>Definition</b> svc.h:44</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a85dce7e8f11c2d98333859e0506c9987"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a85dce7e8f11c2d98333859e0506c9987">MemType_MappedMemory</a></div><div class="ttdeci">@ MemType_MappedMemory</div><div class="ttdoc">Mapped using svcMapMemory.</div><div class="ttdef"><b>Definition</b> svc.h:32</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a88a172f5bfec71345d9646f705b962bb"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a88a172f5bfec71345d9646f705b962bb">MemType_IpcBuffer1</a></div><div class="ttdeci">@ MemType_IpcBuffer1</div><div class="ttdoc">IPC buffers with descriptor flags=1.</div><div class="ttdef"><b>Definition</b> svc.h:38</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a91a7a0d071253e6741f620dcbaf9c451"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a91a7a0d071253e6741f620dcbaf9c451">MemType_ModuleCodeMutable</a></div><div class="ttdeci">@ MemType_ModuleCodeMutable</div><div class="ttdoc">Transition from MemType_ModuleCodeStatic performed by svcSetProcessMemoryPermission.</div><div class="ttdef"><b>Definition</b> svc.h:30</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a95a0fe00af43407ce23e83e92e37878e"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a95a0fe00af43407ce23e83e92e37878e">MemType_CodeStatic</a></div><div class="ttdeci">@ MemType_CodeStatic</div><div class="ttdoc">Mapped during svcCreateProcess.</div><div class="ttdef"><b>Definition</b> svc.h:24</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01a96629d434b3174eb8d3b2bcd34032523"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01a96629d434b3174eb8d3b2bcd34032523">MemType_Coverage</a></div><div class="ttdeci">@ MemType_Coverage</div><div class="ttdoc">Not available.</div><div class="ttdef"><b>Definition</b> svc.h:43</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01aa10ca5fafbf739ff64f8a6ea94478861"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01aa10ca5fafbf739ff64f8a6ea94478861">MemType_Reserved</a></div><div class="ttdeci">@ MemType_Reserved</div><div class="ttdoc">Reserved.</div><div class="ttdef"><b>Definition</b> svc.h:37</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01aad5569d57c77748cdffe119ae0ea00bb"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01aad5569d57c77748cdffe119ae0ea00bb">MemType_TransferMem</a></div><div class="ttdeci">@ MemType_TransferMem</div><div class="ttdoc">Mapped using svcMapTransferMemory when the owning process has perm!=0.</div><div class="ttdef"><b>Definition</b> svc.h:35</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01ab1e7cfd6aba5c50bdc53e9fa45f86baa"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ab1e7cfd6aba5c50bdc53e9fa45f86baa">MemType_ModuleCodeStatic</a></div><div class="ttdeci">@ MemType_ModuleCodeStatic</div><div class="ttdoc">Mapped using svcMapProcessCodeMemory.</div><div class="ttdef"><b>Definition</b> svc.h:29</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01ab7bf4bfd72dd5e6cc338af1cad4ed018"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ab7bf4bfd72dd5e6cc338af1cad4ed018">MemType_ThreadLocal</a></div><div class="ttdeci">@ MemType_ThreadLocal</div><div class="ttdoc">Mapped during svcCreateThread.</div><div class="ttdef"><b>Definition</b> svc.h:33</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01ac1bb8760c223eba40ea8c4472154d313"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ac1bb8760c223eba40ea8c4472154d313">MemType_IpcBuffer3</a></div><div class="ttdeci">@ MemType_IpcBuffer3</div><div class="ttdoc">IPC buffers with descriptor flags=3.</div><div class="ttdef"><b>Definition</b> svc.h:39</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01ac91d07e8dd1faa1249254b407ddfcd97"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ac91d07e8dd1faa1249254b407ddfcd97">MemType_ProcessMem</a></div><div class="ttdeci">@ MemType_ProcessMem</div><div class="ttdoc">Mapped using svcMapProcessMemory.</div><div class="ttdef"><b>Definition</b> svc.h:36</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01accceb32e81a15e961585ca29d361e516"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01accceb32e81a15e961585ca29d361e516">MemType_TransferMemIsolated</a></div><div class="ttdeci">@ MemType_TransferMemIsolated</div><div class="ttdoc">Mapped using svcMapTransferMemory when the owning process has perm=0.</div><div class="ttdef"><b>Definition</b> svc.h:34</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01ad93bf0181cddf0351eae7cb46db725bf"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ad93bf0181cddf0351eae7cb46db725bf">MemType_CodeMutable</a></div><div class="ttdeci">@ MemType_CodeMutable</div><div class="ttdoc">Transition from MemType_CodeStatic performed by svcSetProcessMemoryPermission.</div><div class="ttdef"><b>Definition</b> svc.h:25</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01add1bb950899c316ddb359b36dfe1f61d"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01add1bb950899c316ddb359b36dfe1f61d">MemType_KernelStack</a></div><div class="ttdeci">@ MemType_KernelStack</div><div class="ttdoc">Mapped in kernel during svcCreateThread.</div><div class="ttdef"><b>Definition</b> svc.h:40</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01adf6eb60e3b18de35f16f2595cf5d2a4c"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01adf6eb60e3b18de35f16f2595cf5d2a4c">MemType_SharedMem</a></div><div class="ttdeci">@ MemType_SharedMem</div><div class="ttdoc">Mapped using svcMapSharedMemory.</div><div class="ttdef"><b>Definition</b> svc.h:27</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a462bfa9dfea81692463ecb192183dd01ae99704f08329e592f919f16596cdba9d"><div class="ttname"><a href="svc_8h.html#a462bfa9dfea81692463ecb192183dd01ae99704f08329e592f919f16596cdba9d">MemType_Io</a></div><div class="ttdeci">@ MemType_Io</div><div class="ttdoc">Mapped by kernel capability parsing in svcCreateProcess.</div><div class="ttdef"><b>Definition</b> svc.h:22</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a48f007b81189c1f86e1daa4c2d5c4c25"><div class="ttname"><a href="svc_8h.html#a48f007b81189c1f86e1daa4c2d5c4c25">svcGetResourceLimitCurrentValue</a></div><div class="ttdeci">Result svcGetResourceLimitCurrentValue(s64 *out, Handle reslimit_h, LimitableResource which)</div><div class="ttdoc">Gets the maximum value a LimitableResource can have, for a Resource Limit handle.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a491f44f233289cd00c13a2922588c87e"><div class="ttname"><a href="svc_8h.html#a491f44f233289cd00c13a2922588c87e">svcLegacyQueryIoMapping</a></div><div class="ttdeci">Result svcLegacyQueryIoMapping(u64 *virtaddr, u64 physaddr, u64 size)</div><div class="ttdoc">Returns a virtual address mapped to a given IO range.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4c52fe6f3725a76d160dae81b628fbb8"><div class="ttname"><a href="svc_8h.html#a4c52fe6f3725a76d160dae81b628fbb8">svcAcceptSession</a></div><div class="ttdeci">Result svcAcceptSession(Handle *session_handle, Handle port_handle)</div><div class="ttdoc">Accepts an IPC session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4d738df3d83a0baf7b69e5a7c3d864a7"><div class="ttname"><a href="svc_8h.html#a4d738df3d83a0baf7b69e5a7c3d864a7">svcSendSyncRequestWithUserBuffer</a></div><div class="ttdeci">Result svcSendSyncRequestWithUserBuffer(void *usrBuffer, u64 size, Handle session)</div><div class="ttdoc">Sends an IPC synchronization request to a session from an user allocated buffer.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4d9690c5684c4456a87b311ce8f7025f"><div class="ttname"><a href="svc_8h.html#a4d9690c5684c4456a87b311ce8f7025f">svcUnmapProcessMemory</a></div><div class="ttdeci">Result svcUnmapProcessMemory(void *dst, Handle proc, u64 src, u64 size)</div><div class="ttdoc">Undoes the effects of svcMapProcessMemory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1f"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1f">InfoType</a></div><div class="ttdeci">InfoType</div><div class="ttdoc">GetInfo IDs.</div><div class="ttdef"><b>Definition</b> svc.h:184</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa015e7d4b8d619b69d95dee9d8d586901"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa015e7d4b8d619b69d95dee9d8d586901">InfoType_HeapRegionSize</a></div><div class="ttdeci">@ InfoType_HeapRegionSize</div><div class="ttdoc">Size of the Heap memory region.</div><div class="ttdef"><b>Definition</b> svc.h:190</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa02e63dab21b94197dd77d9467bc34560"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa02e63dab21b94197dd77d9467bc34560">InfoType_TransferMemoryHint</a></div><div class="ttdeci">@ InfoType_TransferMemoryHint</div><div class="ttdoc">[19.0.0+] Low bits of the process address for a KTransferMemory.</div><div class="ttdef"><b>Definition</b> svc.h:215</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa04be21c5876a0472c51c32d3efcc969a"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa04be21c5876a0472c51c32d3efcc969a">InfoType_SystemResourceSizeUsed</a></div><div class="ttdeci">@ InfoType_SystemResourceSizeUsed</div><div class="ttdoc">[3.0.0+] Amount of memory currently used by process memory management.</div><div class="ttdef"><b>Definition</b> svc.h:202</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa132c3a420527f1fbd71404301e6ca3c5"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa132c3a420527f1fbd71404301e6ca3c5">InfoType_StackRegionAddress</a></div><div class="ttdeci">@ InfoType_StackRegionAddress</div><div class="ttdoc">[2.0.0+] Base of the Stack memory region.</div><div class="ttdef"><b>Definition</b> svc.h:199</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa25a2b3403e40d0e4b6b5fa5f3abc484e"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa25a2b3403e40d0e4b6b5fa5f3abc484e">InfoType_SystemResourceSizeTotal</a></div><div class="ttdeci">@ InfoType_SystemResourceSizeTotal</div><div class="ttdoc">[3.0.0+] Total memory allocated for process memory management.</div><div class="ttdef"><b>Definition</b> svc.h:201</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa2f0edec96abe6633791c0b6bce350ca6"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa2f0edec96abe6633791c0b6bce350ca6">InfoType_PriorityMask</a></div><div class="ttdeci">@ InfoType_PriorityMask</div><div class="ttdoc">Bitmask of allowed Thread Priorities.</div><div class="ttdef"><b>Definition</b> svc.h:186</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa3736a99f4a56661e6e2562e1261658f9"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa3736a99f4a56661e6e2562e1261658f9">InfoType_IoRegionHint</a></div><div class="ttdeci">@ InfoType_IoRegionHint</div><div class="ttdoc">[16.0.0+] Low bits of the physical address for a KIoRegion.</div><div class="ttdef"><b>Definition</b> svc.h:212</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa4be382b724273e78a89dd861abd6da16"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa4be382b724273e78a89dd861abd6da16">InfoType_IsSvcPermitted</a></div><div class="ttdeci">@ InfoType_IsSvcPermitted</div><div class="ttdoc">[14.0.0+] Does process have access to SVC (only usable with svcSynchronizePreemptionState at present)...</div><div class="ttdef"><b>Definition</b> svc.h:211</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa53796e39499080c6cab6b5f7db0e6b6c"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa53796e39499080c6cab6b5f7db0e6b6c">InfoType_TotalMemorySize</a></div><div class="ttdeci">@ InfoType_TotalMemorySize</div><div class="ttdoc">Total amount of memory available for process.</div><div class="ttdef"><b>Definition</b> svc.h:191</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa5f510b7ca2ba5dad173f7e0e61d4beab"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa5f510b7ca2ba5dad173f7e0e61d4beab">InfoType_AslrRegionSize</a></div><div class="ttdeci">@ InfoType_AslrRegionSize</div><div class="ttdoc">[2.0.0+] Size of the process's address space.</div><div class="ttdef"><b>Definition</b> svc.h:198</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa62ea4e99ae83483cd995bec2c8ef12c4"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa62ea4e99ae83483cd995bec2c8ef12c4">InfoType_ThreadTickCountDeprecated</a></div><div class="ttdeci">@ InfoType_ThreadTickCountDeprecated</div><div class="ttdoc">[1.0.0-12.1.0] Number of ticks spent on thread.</div><div class="ttdef"><b>Definition</b> svc.h:217</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa655d305619abe4e19fba6cc7a0de1fce"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa655d305619abe4e19fba6cc7a0de1fce">InfoType_AslrRegionAddress</a></div><div class="ttdeci">@ InfoType_AslrRegionAddress</div><div class="ttdoc">[2.0.0+] Base of the process's address space.</div><div class="ttdef"><b>Definition</b> svc.h:197</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa69316fc00112158e9aaee09b9772e2c1"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa69316fc00112158e9aaee09b9772e2c1">InfoType_ResourceLimit</a></div><div class="ttdeci">@ InfoType_ResourceLimit</div><div class="ttdoc">Current process's resource limit handle.</div><div class="ttdef"><b>Definition</b> svc.h:194</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa69703344f0da4b29cd85f99a7846e9cf"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa69703344f0da4b29cd85f99a7846e9cf">InfoType_UsedNonSystemMemorySize</a></div><div class="ttdeci">@ InfoType_UsedNonSystemMemorySize</div><div class="ttdoc">[6.0.0+] Amount of memory used by process, excluding that for process memory management.</div><div class="ttdef"><b>Definition</b> svc.h:207</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa6c94dda74aaf6b506bc51ed2ca5e314f"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa6c94dda74aaf6b506bc51ed2ca5e314f">InfoType_DebuggerAttached</a></div><div class="ttdeci">@ InfoType_DebuggerAttached</div><div class="ttdoc">Whether current process is being debugged.</div><div class="ttdef"><b>Definition</b> svc.h:193</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa84592f86f18de4f95c3cbc54c87aace8"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa84592f86f18de4f95c3cbc54c87aace8">InfoType_RandomEntropy</a></div><div class="ttdeci">@ InfoType_RandomEntropy</div><div class="ttdoc">[2.0.0+] Random entropy for current process.</div><div class="ttdef"><b>Definition</b> svc.h:196</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa84685df154b7a0c4c6a4e73a4eed7024"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa84685df154b7a0c4c6a4e73a4eed7024">InfoType_IdleTickCount</a></div><div class="ttdeci">@ InfoType_IdleTickCount</div><div class="ttdoc">Number of idle ticks on CPU.</div><div class="ttdef"><b>Definition</b> svc.h:195</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fa8fd4761334f67b226d99ab687a536001"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fa8fd4761334f67b226d99ab687a536001">InfoType_IsApplication</a></div><div class="ttdeci">@ InfoType_IsApplication</div><div class="ttdoc">[9.0.0+] Whether the specified process is an Application.</div><div class="ttdef"><b>Definition</b> svc.h:208</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1faa3317c1b2791205d885e5a32d18cc427"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faa3317c1b2791205d885e5a32d18cc427">InfoType_FreeThreadCount</a></div><div class="ttdeci">@ InfoType_FreeThreadCount</div><div class="ttdoc">[11.0.0+] The number of free threads available to the process's resource limit.</div><div class="ttdef"><b>Definition</b> svc.h:209</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1faab174c2a8ca164f1a322bfc5d29f2e6c"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faab174c2a8ca164f1a322bfc5d29f2e6c">InfoType_ThreadTickCount</a></div><div class="ttdeci">@ InfoType_ThreadTickCount</div><div class="ttdoc">[13.0.0+] Number of ticks spent on thread.</div><div class="ttdef"><b>Definition</b> svc.h:210</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1faad9d2594c11d8ee54babf48f24e7ffb5"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faad9d2594c11d8ee54babf48f24e7ffb5">InfoType_ProgramId</a></div><div class="ttdeci">@ InfoType_ProgramId</div><div class="ttdoc">[3.0.0+] Program ID for the process.</div><div class="ttdef"><b>Definition</b> svc.h:203</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fab518e0ceda01a9bd154e3b087e3b7db6"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fab518e0ceda01a9bd154e3b087e3b7db6">InfoType_AliasRegionSize</a></div><div class="ttdeci">@ InfoType_AliasRegionSize</div><div class="ttdoc">Size of the Alias memory region.</div><div class="ttdef"><b>Definition</b> svc.h:188</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fab60d692b975f7cf1b907f50c655b45b9"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fab60d692b975f7cf1b907f50c655b45b9">InfoType_StackRegionSize</a></div><div class="ttdeci">@ InfoType_StackRegionSize</div><div class="ttdoc">[2.0.0+] Size of the Stack memory region.</div><div class="ttdef"><b>Definition</b> svc.h:200</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fabba3a24f4fa36ddd0617f9e9e7adb6e1"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fabba3a24f4fa36ddd0617f9e9e7adb6e1">InfoType_UsedMemorySize</a></div><div class="ttdeci">@ InfoType_UsedMemorySize</div><div class="ttdoc">Amount of memory currently used by process.</div><div class="ttdef"><b>Definition</b> svc.h:192</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fabe8790985212a46dabe5b6bddc63fd7c"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fabe8790985212a46dabe5b6bddc63fd7c">InfoType_HeapRegionAddress</a></div><div class="ttdeci">@ InfoType_HeapRegionAddress</div><div class="ttdoc">Base of the Heap memory region.</div><div class="ttdef"><b>Definition</b> svc.h:189</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fac2ca2f5db51d8a1484da8d482a9c6235"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fac2ca2f5db51d8a1484da8d482a9c6235">InfoType_InitialProcessIdRange</a></div><div class="ttdeci">@ InfoType_InitialProcessIdRange</div><div class="ttdoc">[4.0.0-4.1.0] Min/max initial process IDs.</div><div class="ttdef"><b>Definition</b> svc.h:204</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1facdf069e1a94f176710299947ce1e5ca6"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1facdf069e1a94f176710299947ce1e5ca6">InfoType_AliasRegionExtraSize</a></div><div class="ttdeci">@ InfoType_AliasRegionExtraSize</div><div class="ttdoc">[18.0.0+] Extra size added to the reserved region.</div><div class="ttdef"><b>Definition</b> svc.h:213</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fad98e22dfe0f1e37a613c62722f5a7294"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fad98e22dfe0f1e37a613c62722f5a7294">InfoType_TotalNonSystemMemorySize</a></div><div class="ttdeci">@ InfoType_TotalNonSystemMemorySize</div><div class="ttdoc">[6.0.0+] Total amount of memory available for process, excluding that for process memory management.</div><div class="ttdef"><b>Definition</b> svc.h:206</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fadc62d41e865e184c917b1c6a9c093eb5"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fadc62d41e865e184c917b1c6a9c093eb5">InfoType_CoreMask</a></div><div class="ttdeci">@ InfoType_CoreMask</div><div class="ttdoc">Bitmask of allowed Core IDs.</div><div class="ttdef"><b>Definition</b> svc.h:185</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1fadd6bfa83131fad4b40d7c9574f349049"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1fadd6bfa83131fad4b40d7c9574f349049">InfoType_AliasRegionAddress</a></div><div class="ttdeci">@ InfoType_AliasRegionAddress</div><div class="ttdoc">Base of the Alias memory region.</div><div class="ttdef"><b>Definition</b> svc.h:187</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a4fab2721054fd66cc89f138fd029fd1faf5b6297819a64d79d7ae2b0d7fff2724"><div class="ttname"><a href="svc_8h.html#a4fab2721054fd66cc89f138fd029fd1faf5b6297819a64d79d7ae2b0d7fff2724">InfoType_UserExceptionContextAddress</a></div><div class="ttdeci">@ InfoType_UserExceptionContextAddress</div><div class="ttdoc">[5.0.0+] Address of the process's exception context (for break).</div><div class="ttdef"><b>Definition</b> svc.h:205</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a503df19543ebb1cd0f643dce5a311577"><div class="ttname"><a href="svc_8h.html#a503df19543ebb1cd0f643dce5a311577">svcSynchronizePreemptionState</a></div><div class="ttdeci">void svcSynchronizePreemptionState(void)</div><div class="ttdoc">Sets thread preemption state (used during abort/panic).</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5110a33b165f8a5bb952cdb277269ee5"><div class="ttname"><a href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5">InitialProcessIdRangeInfo</a></div><div class="ttdeci">InitialProcessIdRangeInfo</div><div class="ttdoc">GetInfo InitialProcessIdRange Sub IDs.</div><div class="ttdef"><b>Definition</b> svc.h:238</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5110a33b165f8a5bb952cdb277269ee5a0cc4462bd426dc4abdeccb24179ddd77"><div class="ttname"><a href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5a0cc4462bd426dc4abdeccb24179ddd77">InitialProcessIdRangeInfo_Maximum</a></div><div class="ttdeci">@ InitialProcessIdRangeInfo_Maximum</div><div class="ttdoc">Highest initial process ID.</div><div class="ttdef"><b>Definition</b> svc.h:240</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5110a33b165f8a5bb952cdb277269ee5a1fa7eea4767f3fbf63f0ff591203476a"><div class="ttname"><a href="svc_8h.html#a5110a33b165f8a5bb952cdb277269ee5a1fa7eea4767f3fbf63f0ff591203476a">InitialProcessIdRangeInfo_Minimum</a></div><div class="ttdeci">@ InitialProcessIdRangeInfo_Minimum</div><div class="ttdoc">Lowest initial process ID.</div><div class="ttdef"><b>Definition</b> svc.h:239</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a514156806b19f5b9b0e00efa1013ba2c"><div class="ttname"><a href="svc_8h.html#a514156806b19f5b9b0e00efa1013ba2c">svcReplyAndReceiveWithUserBuffer</a></div><div class="ttdeci">Result svcReplyAndReceiveWithUserBuffer(s32 *index, void *usrBuffer, u64 size, const Handle *handles, s32 handleCount, Handle replyTarget, u64 timeout)</div><div class="ttdoc">Performs IPC input/output from an user allocated buffer.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5718c92e53245eeadddb236200f5e962"><div class="ttname"><a href="svc_8h.html#a5718c92e53245eeadddb236200f5e962">svcGetProcessInfo</a></div><div class="ttdeci">Result svcGetProcessInfo(s64 *out, Handle proc, ProcessInfoType which)</div><div class="ttdoc">Gets a ProcessInfoType for a process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a59ab632d9c688e1bdcdeec59f8dcce7f"><div class="ttname"><a href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7f">ProcessActivity</a></div><div class="ttdeci">ProcessActivity</div><div class="ttdoc">Process Activity.</div><div class="ttdef"><b>Definition</b> svc.h:169</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a59ab632d9c688e1bdcdeec59f8dcce7fa90b6afb7e2df07035364a8a2a5ae350d"><div class="ttname"><a href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7fa90b6afb7e2df07035364a8a2a5ae350d">ProcessActivity_Runnable</a></div><div class="ttdeci">@ ProcessActivity_Runnable</div><div class="ttdoc">Process can run.</div><div class="ttdef"><b>Definition</b> svc.h:170</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a59ab632d9c688e1bdcdeec59f8dcce7faf2de6b12e4c28c0700bc8102d842151b"><div class="ttname"><a href="svc_8h.html#a59ab632d9c688e1bdcdeec59f8dcce7faf2de6b12e4c28c0700bc8102d842151b">ProcessActivity_Paused</a></div><div class="ttdeci">@ ProcessActivity_Paused</div><div class="ttdoc">Process is paused.</div><div class="ttdef"><b>Definition</b> svc.h:171</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5ac06bbd87fd051b1e77b11666f84f1b"><div class="ttname"><a href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1b">CodeMapOperation</a></div><div class="ttdeci">CodeMapOperation</div><div class="ttdoc">Code memory mapping operations.</div><div class="ttdef"><b>Definition</b> svc.h:129</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5ac06bbd87fd051b1e77b11666f84f1ba271d36d2f1665df321b652ef9f01c7da"><div class="ttname"><a href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba271d36d2f1665df321b652ef9f01c7da">CodeMapOperation_UnmapSlave</a></div><div class="ttdeci">@ CodeMapOperation_UnmapSlave</div><div class="ttdoc">Unmap slave.</div><div class="ttdef"><b>Definition</b> svc.h:133</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5ac06bbd87fd051b1e77b11666f84f1ba39fd7f1fdc109b0408006618298bc52a"><div class="ttname"><a href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba39fd7f1fdc109b0408006618298bc52a">CodeMapOperation_UnmapOwner</a></div><div class="ttdeci">@ CodeMapOperation_UnmapOwner</div><div class="ttdoc">Unmap owner.</div><div class="ttdef"><b>Definition</b> svc.h:132</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5ac06bbd87fd051b1e77b11666f84f1ba9cbd5c8acb4dba09ac740ef4cb0d0429"><div class="ttname"><a href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1ba9cbd5c8acb4dba09ac740ef4cb0d0429">CodeMapOperation_MapSlave</a></div><div class="ttdeci">@ CodeMapOperation_MapSlave</div><div class="ttdoc">Map slave.</div><div class="ttdef"><b>Definition</b> svc.h:131</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5ac06bbd87fd051b1e77b11666f84f1bae935148188388b1cfcd8a8380fe5bdc0"><div class="ttname"><a href="svc_8h.html#a5ac06bbd87fd051b1e77b11666f84f1bae935148188388b1cfcd8a8380fe5bdc0">CodeMapOperation_MapOwner</a></div><div class="ttdeci">@ CodeMapOperation_MapOwner</div><div class="ttdoc">Map owner.</div><div class="ttdef"><b>Definition</b> svc.h:130</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a5d44115c6fd1932b144dff9f8b6de2cd"><div class="ttname"><a href="svc_8h.html#a5d44115c6fd1932b144dff9f8b6de2cd">svcCreateInterruptEvent</a></div><div class="ttdeci">Result svcCreateInterruptEvent(Handle *handle, u64 irqNum, u32 flag)</div><div class="ttdoc">Creates an event and binds it to a specific hardware interrupt.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a60001215981b5254786f14c8e6542f45"><div class="ttname"><a href="svc_8h.html#a60001215981b5254786f14c8e6542f45">svcMapSharedMemory</a></div><div class="ttdeci">Result svcMapSharedMemory(Handle handle, void *addr, size_t size, u32 perm)</div><div class="ttdoc">Maps a block of shared memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a630f1b316abd57661aa1c6225a70050a"><div class="ttname"><a href="svc_8h.html#a630f1b316abd57661aa1c6225a70050a">svcMapMemory</a></div><div class="ttdeci">Result svcMapMemory(void *dst_addr, void *src_addr, u64 size)</div><div class="ttdoc">Maps a memory range into a different range.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a67d4c7aec8a718ff4bf2b1ee2d4d4bfa"><div class="ttname"><a href="svc_8h.html#a67d4c7aec8a718ff4bf2b1ee2d4d4bfa">svcStartProcess</a></div><div class="ttdeci">Result svcStartProcess(Handle proc, s32 main_prio, s32 default_cpu, u32 stack_size)</div><div class="ttdoc">Starts executing a freshly created process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a6ad1402399805b406168a97d5695180d"><div class="ttname"><a href="svc_8h.html#a6ad1402399805b406168a97d5695180d">svcCreateIoPool</a></div><div class="ttdeci">Result svcCreateIoPool(Handle *out_handle, u32 pool_type)</div><div class="ttdoc">Creates an IO Pool.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a6d70a28cbd560d0081f2b513524760ef"><div class="ttname"><a href="svc_8h.html#a6d70a28cbd560d0081f2b513524760ef">svcTerminateProcess</a></div><div class="ttdeci">Result svcTerminateProcess(Handle proc)</div><div class="ttdoc">Terminates a running process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a7619533a1b3158309e3000870af00289"><div class="ttname"><a href="svc_8h.html#a7619533a1b3158309e3000870af00289">svcSetMemoryAttribute</a></div><div class="ttdeci">Result svcSetMemoryAttribute(void *addr, u64 size, u32 val0, u32 val1)</div><div class="ttdoc">Set the memory attributes of a (page-aligned) range of memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a782bd34f8b2e9325f878dc1bd103cc6a"><div class="ttname"><a href="svc_8h.html#a782bd34f8b2e9325f878dc1bd103cc6a">svcSetResourceLimitLimitValue</a></div><div class="ttdeci">Result svcSetResourceLimitLimitValue(Handle reslimit, LimitableResource which, u64 value)</div><div class="ttdoc">Sets the value for a LimitableResource for a Resource Limit handle.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a7a5fd91a7cb8add0a51ca3142f130a43"><div class="ttname"><a href="svc_8h.html#a7a5fd91a7cb8add0a51ca3142f130a43">svcSignalToAddress</a></div><div class="ttdeci">Result svcSignalToAddress(void *address, u32 signal_type, s32 value, s32 count)</div><div class="ttdoc">Signals (and updates) an address depending on type and value.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a7b9240100b1f1e5ac8d3208ce8f24147"><div class="ttname"><a href="svc_8h.html#a7b9240100b1f1e5ac8d3208ce8f24147">svcExitThread</a></div><div class="ttdeci">void svcExitThread(void)</div><div class="ttdoc">Exits the current thread.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a7d49c50b5c71de8d0845106a61f03200"><div class="ttname"><a href="svc_8h.html#a7d49c50b5c71de8d0845106a61f03200">DebugThreadParam</a></div><div class="ttdeci">DebugThreadParam</div><div class="ttdoc">Debug Thread Parameters.</div><div class="ttdef"><b>Definition</b> svc.h:175</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a7ec64f34c0e204e7f5b991821b2d4cb5"><div class="ttname"><a href="svc_8h.html#a7ec64f34c0e204e7f5b991821b2d4cb5">svcGetThreadList</a></div><div class="ttdeci">Result svcGetThreadList(s32 *num_out, u64 *tids_out, u32 max_tids, Handle debug)</div><div class="ttdoc">Retrieves a list of all threads for a debug handle (or zero).</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8296d39edbd12f0b4ba8d2802b9c6bf6"><div class="ttname"><a href="svc_8h.html#a8296d39edbd12f0b4ba8d2802b9c6bf6">svcGetCurrentProcessorNumber</a></div><div class="ttdeci">u32 svcGetCurrentProcessorNumber(void)</div><div class="ttdoc">Gets the current processor's number.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a84967734dfc6e382083478521e6ae087"><div class="ttname"><a href="svc_8h.html#a84967734dfc6e382083478521e6ae087">svcMapDeviceAddressSpaceAligned</a></div><div class="ttdeci">Result svcMapDeviceAddressSpaceAligned(Handle handle, Handle proc_handle, u64 map_addr, u64 dev_size, u64 dev_addr, u32 option)</div><div class="ttdoc">Maps an attached device address space to an userspace address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a84c60aac2f1fc05da3ffa099c1a4a214"><div class="ttname"><a href="svc_8h.html#a84c60aac2f1fc05da3ffa099c1a4a214">svcCreateSharedMemory</a></div><div class="ttdeci">Result svcCreateSharedMemory(Handle *out, size_t size, u32 local_perm, u32 other_perm)</div><div class="ttdoc">Creates a block of shared memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a85f94b8a056afacdf7d11fd5fbf79b50"><div class="ttname"><a href="svc_8h.html#a85f94b8a056afacdf7d11fd5fbf79b50">svcArbitrateLock</a></div><div class="ttdeci">Result svcArbitrateLock(u32 wait_tag, u32 *tag_location, u32 self_tag)</div><div class="ttdoc">Arbitrates a mutex lock operation in userspace.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a86c6d9669426f91db60134c291dcb263"><div class="ttname"><a href="svc_8h.html#a86c6d9669426f91db60134c291dcb263">svcFlushProcessDataCache</a></div><div class="ttdeci">Result svcFlushProcessDataCache(Handle process, uintptr_t address, size_t size)</div><div class="ttdoc">Flushes data cache for a virtual address range within a process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a87cf12d452be21c309bc6a1fca4e5186"><div class="ttname"><a href="svc_8h.html#a87cf12d452be21c309bc6a1fca4e5186">svcGetLastThreadInfo</a></div><div class="ttdeci">Result svcGetLastThreadInfo(LastThreadContext *out_context, u64 *out_tls_address, u32 *out_flags)</div><div class="ttdoc">Gets information about the previously-scheduled thread.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a87d5401d21d1b15bd3453557371ca1fd"><div class="ttname"><a href="svc_8h.html#a87d5401d21d1b15bd3453557371ca1fd">svcDebugActiveProcess</a></div><div class="ttdeci">Result svcDebugActiveProcess(Handle *debug, u64 processID)</div><div class="ttdoc">Debugs an active process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a89eacfa918c52be6a3994e7fdf0f1b5e"><div class="ttname"><a href="svc_8h.html#a89eacfa918c52be6a3994e7fdf0f1b5e">svcWaitSynchronizationSingle</a></div><div class="ttdeci">static Result svcWaitSynchronizationSingle(Handle handle, u64 timeout)</div><div class="ttdoc">Waits on a single synchronization object, optionally with a timeout.</div><div class="ttdef"><b>Definition</b> svc.h:525</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8a48772c68b4aabee0a389194e3fa8bb"><div class="ttname"><a href="svc_8h.html#a8a48772c68b4aabee0a389194e3fa8bb">svcGetDebugThreadContext</a></div><div class="ttdeci">Result svcGetDebugThreadContext(ThreadContext *ctx, Handle debug, u64 threadID, u32 flags)</div><div class="ttdoc">Gets the context (dump the registers) of a thread in a debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8aed3615c1e2ea485536cdac50e1bece"><div class="ttname"><a href="svc_8h.html#a8aed3615c1e2ea485536cdac50e1bece">svcMapPhysicalMemoryUnsafe</a></div><div class="ttdeci">Result svcMapPhysicalMemoryUnsafe(void *address, u64 size)</div><div class="ttdoc">Maps unsafe memory (usable for GPU DMA) for a system module at the desired address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8ba74a3ed7b35da04b16af2add65cf19"><div class="ttname"><a href="svc_8h.html#a8ba74a3ed7b35da04b16af2add65cf19">svcAttachDeviceAddressSpace</a></div><div class="ttdeci">Result svcAttachDeviceAddressSpace(u64 device, Handle handle)</div><div class="ttdoc">Attaches a device address space to a device.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8d0bc14e7683a41578957dfecb64ad6f"><div class="ttname"><a href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6f">ThreadActivity</a></div><div class="ttdeci">ThreadActivity</div><div class="ttdoc">Thread Activity.</div><div class="ttdef"><b>Definition</b> svc.h:146</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8d0bc14e7683a41578957dfecb64ad6fa0eee13fe2eae816f6399d3f45fe7b865"><div class="ttname"><a href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6fa0eee13fe2eae816f6399d3f45fe7b865">ThreadActivity_Paused</a></div><div class="ttdeci">@ ThreadActivity_Paused</div><div class="ttdoc">Thread is paused.</div><div class="ttdef"><b>Definition</b> svc.h:148</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8d0bc14e7683a41578957dfecb64ad6fa12202434d1858d45cac2ac050bff0b0c"><div class="ttname"><a href="svc_8h.html#a8d0bc14e7683a41578957dfecb64ad6fa12202434d1858d45cac2ac050bff0b0c">ThreadActivity_Runnable</a></div><div class="ttdeci">@ ThreadActivity_Runnable</div><div class="ttdoc">Thread can run.</div><div class="ttdef"><b>Definition</b> svc.h:147</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8dbfda3393b630af44e82e045e4be456"><div class="ttname"><a href="svc_8h.html#a8dbfda3393b630af44e82e045e4be456">svcGetThreadContext3</a></div><div class="ttdeci">Result svcGetThreadContext3(ThreadContext *ctx, Handle thread)</div><div class="ttdoc">Dumps the registers of a thread paused by svcSetThreadActivity (register groups: all).</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8dd940e8183f04cbb8918eb66391b353"><div class="ttname"><a href="svc_8h.html#a8dd940e8183f04cbb8918eb66391b353">svcSetHardwareBreakPoint</a></div><div class="ttdeci">Result svcSetHardwareBreakPoint(u32 which, u64 flags, u64 value)</div><div class="ttdoc">Sets one of the hardware breakpoints.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8ea9d1fbd5c9267f4c02c948de47847a"><div class="ttname"><a href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847a">MemoryAttribute</a></div><div class="ttdeci">MemoryAttribute</div><div class="ttdoc">Memory attribute bitmasks.</div><div class="ttdef"><b>Definition</b> svc.h:71</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8ea9d1fbd5c9267f4c02c948de47847aa1f0d19b95d5cf92ca4e313500371918e"><div class="ttname"><a href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa1f0d19b95d5cf92ca4e313500371918e">MemAttr_IsUncached</a></div><div class="ttdeci">@ MemAttr_IsUncached</div><div class="ttdoc">Is uncached.</div><div class="ttdef"><b>Definition</b> svc.h:75</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8ea9d1fbd5c9267f4c02c948de47847aa2fde93ae09d3ac93bd99001e463796ca"><div class="ttname"><a href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa2fde93ae09d3ac93bd99001e463796ca">MemAttr_IsPermissionLocked</a></div><div class="ttdeci">@ MemAttr_IsPermissionLocked</div><div class="ttdoc">Is permission locked.</div><div class="ttdef"><b>Definition</b> svc.h:76</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8ea9d1fbd5c9267f4c02c948de47847aa90ad374ebcdffec70862d67226b2f26a"><div class="ttname"><a href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aa90ad374ebcdffec70862d67226b2f26a">MemAttr_IsBorrowed</a></div><div class="ttdeci">@ MemAttr_IsBorrowed</div><div class="ttdoc">Is borrowed memory.</div><div class="ttdef"><b>Definition</b> svc.h:72</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8ea9d1fbd5c9267f4c02c948de47847aab94255757dda2051dff7189d8aa16347"><div class="ttname"><a href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aab94255757dda2051dff7189d8aa16347">MemAttr_IsDeviceMapped</a></div><div class="ttdeci">@ MemAttr_IsDeviceMapped</div><div class="ttdoc">Is device mapped (when DeviceRefCount > 0).</div><div class="ttdef"><b>Definition</b> svc.h:74</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a8ea9d1fbd5c9267f4c02c948de47847aad94b7a34f201fcf7513fb8f5c47b7ee1"><div class="ttname"><a href="svc_8h.html#a8ea9d1fbd5c9267f4c02c948de47847aad94b7a34f201fcf7513fb8f5c47b7ee1">MemAttr_IsIpcMapped</a></div><div class="ttdeci">@ MemAttr_IsIpcMapped</div><div class="ttdoc">Is IPC mapped (when IpcRefCount > 0).</div><div class="ttdef"><b>Definition</b> svc.h:73</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a90b6d32ca4dbed2b1433f16c3d7a6da8"><div class="ttname"><a href="svc_8h.html#a90b6d32ca4dbed2b1433f16c3d7a6da8">svcGetSystemInfo</a></div><div class="ttdeci">Result svcGetSystemInfo(u64 *out, u64 id0, Handle handle, u64 id1)</div><div class="ttdoc">Retrieves privileged information about the system, or a certain kernel object.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a910de76b6dcd5c7a09ffca688bdd0d77"><div class="ttname"><a href="svc_8h.html#a910de76b6dcd5c7a09ffca688bdd0d77">svcMapProcessMemory</a></div><div class="ttdeci">Result svcMapProcessMemory(void *dst, Handle proc, u64 src, u64 size)</div><div class="ttdoc">Maps the src address from the supplied process handle into the current process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a92169b898677b759ec7027e3f94e1738"><div class="ttname"><a href="svc_8h.html#a92169b898677b759ec7027e3f94e1738">svcSleepSystem</a></div><div class="ttdeci">void svcSleepSystem(void)</div><div class="ttdoc">Causes the system to enter deep sleep.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a925697c0fadf511add66d26d14103420"><div class="ttname"><a href="svc_8h.html#a925697c0fadf511add66d26d14103420">svcStartThread</a></div><div class="ttdeci">Result svcStartThread(Handle handle)</div><div class="ttdoc">Starts a freshly created thread.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a939b63d368597a825aea83e941891782"><div class="ttname"><a href="svc_8h.html#a939b63d368597a825aea83e941891782">svcUnmapIoRegion</a></div><div class="ttdeci">Result svcUnmapIoRegion(Handle io_region_h, void *address, u64 size)</div><div class="ttdoc">Undoes the effects of svcMapIoRegion.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a93a8f8b046b80b9ec45fe4bce09cb12f"><div class="ttname"><a href="svc_8h.html#a93a8f8b046b80b9ec45fe4bce09cb12f">svcGetDebugFutureThreadInfo</a></div><div class="ttdeci">Result svcGetDebugFutureThreadInfo(LastThreadContext *out_context, u64 *out_thread_id, Handle debug, s64 ns)</div><div class="ttdoc">Gets information about a thread that will be scheduled in the future.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a93dd8157e5ad724912d152beae1f02d3"><div class="ttname"><a href="svc_8h.html#a93dd8157e5ad724912d152beae1f02d3">svcGetThreadId</a></div><div class="ttdeci">Result svcGetThreadId(u64 *threadID, Handle handle)</div><div class="ttdoc">Gets the TID associated with a process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a93e430d3a1404772e6030ed632b37381"><div class="ttname"><a href="svc_8h.html#a93e430d3a1404772e6030ed632b37381">svcWaitProcessWideKeyAtomic</a></div><div class="ttdeci">Result svcWaitProcessWideKeyAtomic(u32 *key, u32 *tag_location, u32 self_tag, u64 timeout)</div><div class="ttdoc">Performs a condition variable wait operation in userspace.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a9609f301ffe5836bc68a8f73fece12b4"><div class="ttname"><a href="svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4">svcBreakDebugProcess</a></div><div class="ttdeci">Result svcBreakDebugProcess(Handle debug)</div><div class="ttdoc">Breaks an active debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a962e97133d90f449fcb0657914fd6e10"><div class="ttname"><a href="svc_8h.html#a962e97133d90f449fcb0657914fd6e10">svcUnmapMemory</a></div><div class="ttdeci">Result svcUnmapMemory(void *dst_addr, void *src_addr, u64 size)</div><div class="ttdoc">Unmaps a region that was previously mapped with svcMapMemory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a9747c64fdb658d1f7039ad66db148ed4"><div class="ttname"><a href="svc_8h.html#a9747c64fdb658d1f7039ad66db148ed4">svcFlushDataCache</a></div><div class="ttdeci">Result svcFlushDataCache(void *address, size_t size)</div><div class="ttdoc">Flushes data cache for a virtual address range.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a9c852ab77e16437670bc9dc9f82743c3"><div class="ttname"><a href="svc_8h.html#a9c852ab77e16437670bc9dc9f82743c3">svcGetDebugEvent</a></div><div class="ttdeci">Result svcGetDebugEvent(void *event_out, Handle debug)</div><div class="ttdoc">Gets an incoming debug event from a debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_a9c9b1b6f0225f857a44d633c287b3b34"><div class="ttname"><a href="svc_8h.html#a9c9b1b6f0225f857a44d633c287b3b34">svcCreateEvent</a></div><div class="ttdeci">Result svcCreateEvent(Handle *server_handle, Handle *client_handle)</div><div class="ttdoc">Creates a system event.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aa2ba283455711cec8d6b9403a0dc2d34"><div class="ttname"><a href="svc_8h.html#aa2ba283455711cec8d6b9403a0dc2d34">svcQueryMemory</a></div><div class="ttdeci">Result svcQueryMemory(MemoryInfo *meminfo_ptr, u32 *pageinfo, u64 addr)</div><div class="ttdoc">Query information about an address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aa2bd1c4d3899e276cb1e9ad972fb1b1b"><div class="ttname"><a href="svc_8h.html#aa2bd1c4d3899e276cb1e9ad972fb1b1b">svcUnmapDeviceAddressSpace</a></div><div class="ttdeci">Result svcUnmapDeviceAddressSpace(Handle handle, Handle proc_handle, u64 map_addr, u64 map_size, u64 dev_addr)</div><div class="ttdoc">Unmaps an attached device address space from an userspace address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aa2d22868598e2f3a21ec5b4c8b267d68"><div class="ttname"><a href="svc_8h.html#aa2d22868598e2f3a21ec5b4c8b267d68">svcInvalidateProcessDataCache</a></div><div class="ttdeci">Result svcInvalidateProcessDataCache(Handle process, uintptr_t address, size_t size)</div><div class="ttdoc">Invalidates data cache for a virtual address range within a process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aa2ea54f29f5f661b585f614fba238adf"><div class="ttname"><a href="svc_8h.html#aa2ea54f29f5f661b585f614fba238adf">svcMapDeviceAddressSpace</a></div><div class="ttdeci">Result svcMapDeviceAddressSpace(u64 *out_mapped_size, Handle handle, Handle proc_handle, u64 map_addr, u64 dev_size, u64 dev_addr, u32 perm)</div><div class="ttdoc">Maps an attached device address space to an userspace address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aa304657bd6c37e9ed976cd875fe70391"><div class="ttname"><a href="svc_8h.html#aa304657bd6c37e9ed976cd875fe70391">svcUnmapProcessCodeMemory</a></div><div class="ttdeci">Result svcUnmapProcessCodeMemory(Handle proc, u64 dst, u64 src, u64 size)</div><div class="ttdoc">Undoes the effects of svcMapProcessCodeMemory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aa508adabfdfe238a9253c106bc18847c"><div class="ttname"><a href="svc_8h.html#aa508adabfdfe238a9253c106bc18847c">svcMapIoRegion</a></div><div class="ttdeci">Result svcMapIoRegion(Handle io_region_h, void *address, u64 size, u32 perm)</div><div class="ttdoc">Maps an IO Region.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aa85e0dddfa17f53608daf6dc207452f9"><div class="ttname"><a href="svc_8h.html#aa85e0dddfa17f53608daf6dc207452f9">svcControlCodeMemory</a></div><div class="ttdeci">Result svcControlCodeMemory(Handle code_handle, CodeMapOperation op, void *dst_addr, u64 size, u64 perm)</div><div class="ttdoc">Maps code memory in the caller's address space [4.0.0+].</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aaa63de15a90f491c09fc1cc3c636092f"><div class="ttname"><a href="svc_8h.html#aaa63de15a90f491c09fc1cc3c636092f">svcConnectToNamedPort</a></div><div class="ttdeci">Result svcConnectToNamedPort(Handle *session, const char *name)</div><div class="ttdoc">Connects to a registered named port.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aabe20001f4bcbe12e1474e46b8e56089"><div class="ttname"><a href="svc_8h.html#aabe20001f4bcbe12e1474e46b8e56089">svcUnmapPhysicalMemory</a></div><div class="ttdeci">Result svcUnmapPhysicalMemory(void *address, u64 size)</div><div class="ttdoc">Undoes the effects of svcMapPhysicalMemory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aad6ca876084fe82fadbaf26d6e919ade"><div class="ttname"><a href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919ade">SignalType</a></div><div class="ttdeci">SignalType</div><div class="ttdoc">SignalToAddress behaviors.</div><div class="ttdef"><b>Definition</b> svc.h:259</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aad6ca876084fe82fadbaf26d6e919adea49cf31221a4a30c05444d1c4bf2ec689"><div class="ttname"><a href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adea49cf31221a4a30c05444d1c4bf2ec689">SignalType_Signal</a></div><div class="ttdeci">@ SignalType_Signal</div><div class="ttdoc">Signals the address.</div><div class="ttdef"><b>Definition</b> svc.h:260</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aad6ca876084fe82fadbaf26d6e919adeaaeb55202b2abbe773c6d8bc8b2078719"><div class="ttname"><a href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adeaaeb55202b2abbe773c6d8bc8b2078719">SignalType_SignalAndModifyBasedOnWaitingThreadCountIfEqual</a></div><div class="ttdeci">@ SignalType_SignalAndModifyBasedOnWaitingThreadCountIfEqual</div><div class="ttdoc">Signals the address and updates its value if equal to argument.</div><div class="ttdef"><b>Definition</b> svc.h:262</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aad6ca876084fe82fadbaf26d6e919adeabe79e6fbce05d3f568f00195cbd0cc77"><div class="ttname"><a href="svc_8h.html#aad6ca876084fe82fadbaf26d6e919adeabe79e6fbce05d3f568f00195cbd0cc77">SignalType_SignalAndIncrementIfEqual</a></div><div class="ttdeci">@ SignalType_SignalAndIncrementIfEqual</div><div class="ttdoc">Signals the address and increments its value if equal to argument.</div><div class="ttdef"><b>Definition</b> svc.h:261</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aafc661f59e3ee2024f0a2d8b54657ca8"><div class="ttname"><a href="svc_8h.html#aafc661f59e3ee2024f0a2d8b54657ca8">svcCallSecureMonitor</a></div><div class="ttdeci">void svcCallSecureMonitor(SecmonArgs *regs)</div><div class="ttdoc">Calls a secure monitor function (TrustZone, EL3).</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab04f82aebf254739598116f80ee4efd0"><div class="ttname"><a href="svc_8h.html#ab04f82aebf254739598116f80ee4efd0">svcWaitForAddress</a></div><div class="ttdeci">Result svcWaitForAddress(void *address, u32 arb_type, s64 value, s64 timeout)</div><div class="ttdoc">Arbitrates an address depending on type and value.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab217c94fba5d0253c8475220be8b6df8"><div class="ttname"><a href="svc_8h.html#ab217c94fba5d0253c8475220be8b6df8">svcCreateIoRegion</a></div><div class="ttdeci">Result svcCreateIoRegion(Handle *out_handle, Handle io_pool_h, u64 physical_address, u64 size, u32 memory_mapping, u32 perm)</div><div class="ttdoc">Creates an IO Region.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab26ba3b814f7567b853380aa9964a695"><div class="ttname"><a href="svc_8h.html#ab26ba3b814f7567b853380aa9964a695">ProcessInfoType</a></div><div class="ttdeci">ProcessInfoType</div><div class="ttdoc">Process Information.</div><div class="ttdef"><b>Definition</b> svc.h:152</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab26ba3b814f7567b853380aa9964a695a5a3ecd4360c7d628ca7840750574af43"><div class="ttname"><a href="svc_8h.html#ab26ba3b814f7567b853380aa9964a695a5a3ecd4360c7d628ca7840750574af43">ProcessInfoType_ProcessState</a></div><div class="ttdeci">@ ProcessInfoType_ProcessState</div><div class="ttdoc">What state is a process in.</div><div class="ttdef"><b>Definition</b> svc.h:153</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab28b7fd419ecba670a4c7105282d04a7"><div class="ttname"><a href="svc_8h.html#ab28b7fd419ecba670a4c7105282d04a7">svcResetSignal</a></div><div class="ttdeci">Result svcResetSignal(Handle handle)</div><div class="ttdoc">Resets a signal.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab6de22d43b37d58b62242d83392f82ed"><div class="ttname"><a href="svc_8h.html#ab6de22d43b37d58b62242d83392f82ed">svcUnmapTransferMemory</a></div><div class="ttdeci">Result svcUnmapTransferMemory(Handle tmem_handle, void *addr, size_t size)</div><div class="ttdoc">Unmaps a block of transfer memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab79e22aba49f67fab7dfe412fc26910b"><div class="ttname"><a href="svc_8h.html#ab79e22aba49f67fab7dfe412fc26910b">svcLegacyContinueDebugEvent</a></div><div class="ttdeci">Result svcLegacyContinueDebugEvent(Handle debug, u32 flags, u64 threadID)</div><div class="ttdoc">Continues a debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab806fe3f84d2e3eac5ad892096f47afb"><div class="ttname"><a href="svc_8h.html#ab806fe3f84d2e3eac5ad892096f47afb">svcOutputDebugString</a></div><div class="ttdeci">Result svcOutputDebugString(const char *str, u64 size)</div><div class="ttdoc">Outputs debug text, if used during debugging.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ab84481188897f5ff577426ed30332e0f"><div class="ttname"><a href="svc_8h.html#ab84481188897f5ff577426ed30332e0f">svcQueryPhysicalAddress</a></div><div class="ttdeci">Result svcQueryPhysicalAddress(PhysicalMemoryInfo *out, u64 virtaddr)</div><div class="ttdoc">Queries information about a certain virtual address, including its physical address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_abd693f34f731f04e7baba9c65cc0e341"><div class="ttname"><a href="svc_8h.html#abd693f34f731f04e7baba9c65cc0e341">svcCreateSession</a></div><div class="ttdeci">Result svcCreateSession(Handle *server_handle, Handle *client_handle, u32 unk0, u64 unk1)</div><div class="ttdoc">Creates an IPC session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_abf6d0b8e876566f015c654c367efa955"><div class="ttname"><a href="svc_8h.html#abf6d0b8e876566f015c654c367efa955">svcCreateTransferMemory</a></div><div class="ttdeci">Result svcCreateTransferMemory(Handle *out, void *addr, size_t size, u32 perm)</div><div class="ttdoc">Creates a block of transfer memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac1640d4be07bc36f681250f63d45b1a0"><div class="ttname"><a href="svc_8h.html#ac1640d4be07bc36f681250f63d45b1a0">IoPoolType</a></div><div class="ttdeci">IoPoolType</div><div class="ttdoc">Io Pools.</div><div class="ttdef"><b>Definition</b> svc.h:289</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac1640d4be07bc36f681250f63d45b1a0afca16b62bc1f488879945594109490aa"><div class="ttname"><a href="svc_8h.html#ac1640d4be07bc36f681250f63d45b1a0afca16b62bc1f488879945594109490aa">IoPoolType_PcieA2</a></div><div class="ttdeci">@ IoPoolType_PcieA2</div><div class="ttdoc">Physical address range 0x12000000-0x1FFFFFFF.</div><div class="ttdef"><b>Definition</b> svc.h:290</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac38e7643d1c40cea5ed89da3e9996ab0"><div class="ttname"><a href="svc_8h.html#ac38e7643d1c40cea5ed89da3e9996ab0">svcReplyAndReceive</a></div><div class="ttdeci">Result svcReplyAndReceive(s32 *index, const Handle *handles, s32 handleCount, Handle replyTarget, u64 timeout)</div><div class="ttdoc">Performs IPC input/output.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac393e8184d6ce5a10a4b9940bbc4efd2"><div class="ttname"><a href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2">SystemInfoType</a></div><div class="ttdeci">SystemInfoType</div><div class="ttdoc">GetSystemInfo IDs.</div><div class="ttdef"><b>Definition</b> svc.h:221</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac393e8184d6ce5a10a4b9940bbc4efd2a0f66ef7ed1b4a2734f14c9a3a7a75634"><div class="ttname"><a href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2a0f66ef7ed1b4a2734f14c9a3a7a75634">SystemInfoType_TotalPhysicalMemorySize</a></div><div class="ttdeci">@ SystemInfoType_TotalPhysicalMemorySize</div><div class="ttdoc">Total amount of DRAM available to system.</div><div class="ttdef"><b>Definition</b> svc.h:222</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac393e8184d6ce5a10a4b9940bbc4efd2abe912cf6e51c86b44c1fae40ef9806ef"><div class="ttname"><a href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2abe912cf6e51c86b44c1fae40ef9806ef">SystemInfoType_UsedPhysicalMemorySize</a></div><div class="ttdeci">@ SystemInfoType_UsedPhysicalMemorySize</div><div class="ttdoc">Current amount of DRAM used by system.</div><div class="ttdef"><b>Definition</b> svc.h:223</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac393e8184d6ce5a10a4b9940bbc4efd2adf4c1a6953062a9f83ee18255a2c6a6d"><div class="ttname"><a href="svc_8h.html#ac393e8184d6ce5a10a4b9940bbc4efd2adf4c1a6953062a9f83ee18255a2c6a6d">SystemInfoType_InitialProcessIdRange</a></div><div class="ttdeci">@ SystemInfoType_InitialProcessIdRange</div><div class="ttdoc">Min/max initial process IDs.</div><div class="ttdef"><b>Definition</b> svc.h:224</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac4b0083a0681fb750777b01faf0abdba"><div class="ttname"><a href="svc_8h.html#ac4b0083a0681fb750777b01faf0abdba">svcMapTransferMemory</a></div><div class="ttdeci">Result svcMapTransferMemory(Handle tmem_handle, void *addr, size_t size, u32 perm)</div><div class="ttdoc">Maps a block of transfer memory.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac583ce3ad83ea710f3b2b9fa927b4c8e"><div class="ttname"><a href="svc_8h.html#ac583ce3ad83ea710f3b2b9fa927b4c8e">svcConnectToPort</a></div><div class="ttdeci">Result svcConnectToPort(Handle *session, Handle port)</div><div class="ttdoc">Manages a named port.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac62690a14d27773ca936c1b53549f59d"><div class="ttname"><a href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d">svcClearEvent</a></div><div class="ttdeci">Result svcClearEvent(Handle handle)</div><div class="ttdoc">Clears an event's signalled status.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac634a19d26752b5da77b3b86b5f5828f"><div class="ttname"><a href="svc_8h.html#ac634a19d26752b5da77b3b86b5f5828f">svcUnmapPhysicalMemoryUnsafe</a></div><div class="ttdeci">Result svcUnmapPhysicalMemoryUnsafe(void *address, u64 size)</div><div class="ttdoc">Undoes the effects of svcMapPhysicalMemoryUnsafe.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dc"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dc">MemoryState</a></div><div class="ttdeci">MemoryState</div><div class="ttdoc">Memory state bitmasks.</div><div class="ttdef"><b>Definition</b> svc.h:48</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca0b9f597e50e4f47dee03697db021f4a6"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca0b9f597e50e4f47dee03697db021f4a6">MemState_MapAllowed</a></div><div class="ttdeci">@ MemState_MapAllowed</div><div class="ttdoc">Map allowed.</div><div class="ttdef"><b>Definition</b> svc.h:56</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca136a037981304cc8a95f75bcada98597"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca136a037981304cc8a95f75bcada98597">MemState_IpcSendAllowed_Type0</a></div><div class="ttdeci">@ MemState_IpcSendAllowed_Type0</div><div class="ttdoc">IPC type 0 send allowed.</div><div class="ttdef"><b>Definition</b> svc.h:52</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca29326606f7512034bb9de0d2bad669a2"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca29326606f7512034bb9de0d2bad669a2">MemState_MapDeviceAlignedAllowed</a></div><div class="ttdeci">@ MemState_MapDeviceAlignedAllowed</div><div class="ttdoc">Map device aligned allowed.</div><div class="ttdef"><b>Definition</b> svc.h:61</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca33c2f355a7f07aa7ae6d74e88ed0ef92"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca33c2f355a7f07aa7ae6d74e88ed0ef92">MemState_IsRefCounted</a></div><div class="ttdeci">@ MemState_IsRefCounted</div><div class="ttdoc">Alias for MemState_IsPoolAllocated.</div><div class="ttdef"><b>Definition</b> svc.h:64</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca4cf2fa7d861b14f59c009af31b153395"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca4cf2fa7d861b14f59c009af31b153395">MemState_AttrChangeAllowed</a></div><div class="ttdeci">@ MemState_AttrChangeAllowed</div><div class="ttdoc">Attribute change allowed.</div><div class="ttdef"><b>Definition</b> svc.h:66</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca58d52d4f03df15aa2be388048cc02cac"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca58d52d4f03df15aa2be388048cc02cac">MemState_CodeMemAllowed</a></div><div class="ttdeci">@ MemState_CodeMemAllowed</div><div class="ttdoc">Code memory allowed.</div><div class="ttdef"><b>Definition</b> svc.h:67</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca5f22032640e80fec3d137e274bbdf06d"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca5f22032640e80fec3d137e274bbdf06d">MemState_IpcSendAllowed_Type1</a></div><div class="ttdeci">@ MemState_IpcSendAllowed_Type1</div><div class="ttdoc">IPC type 1 send allowed.</div><div class="ttdef"><b>Definition</b> svc.h:54</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca755cef82b398359425a6804a0da80c33"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca755cef82b398359425a6804a0da80c33">MemState_IpcBufferAllowed</a></div><div class="ttdeci">@ MemState_IpcBufferAllowed</div><div class="ttdoc">IPC buffer allowed.</div><div class="ttdef"><b>Definition</b> svc.h:62</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca7c0425a7d3751493203cdfcecf66f6f3"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca7c0425a7d3751493203cdfcecf66f6f3">MemState_IpcSendAllowed_Type3</a></div><div class="ttdeci">@ MemState_IpcSendAllowed_Type3</div><div class="ttdoc">IPC type 3 send allowed.</div><div class="ttdef"><b>Definition</b> svc.h:53</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca8c33389160add776baaeefea3e327e82"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca8c33389160add776baaeefea3e327e82">MemState_TransferMemAllowed</a></div><div class="ttdeci">@ MemState_TransferMemAllowed</div><div class="ttdoc">Transfer memory allowed.</div><div class="ttdef"><b>Definition</b> svc.h:58</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca947412f7e301f83036df01a2d83e28b7"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca947412f7e301f83036df01a2d83e28b7">MemState_Type</a></div><div class="ttdeci">@ MemState_Type</div><div class="ttdoc">Type field (see MemoryType).</div><div class="ttdef"><b>Definition</b> svc.h:49</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dca94bba48584901439cf2600bd22d016ad"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dca94bba48584901439cf2600bd22d016ad">MemState_ProcessPermChangeAllowed</a></div><div class="ttdeci">@ MemState_ProcessPermChangeAllowed</div><div class="ttdoc">Process permission change allowed.</div><div class="ttdef"><b>Definition</b> svc.h:55</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dcaa281c89d815a95e58cedfe23ff49936c"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaa281c89d815a95e58cedfe23ff49936c">MemState_UnmapProcessCodeMemAllowed</a></div><div class="ttdeci">@ MemState_UnmapProcessCodeMemAllowed</div><div class="ttdoc">Unmap process code memory allowed.</div><div class="ttdef"><b>Definition</b> svc.h:57</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dcaaac9c9e7fcdeb1a31b883925e8765954"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaaac9c9e7fcdeb1a31b883925e8765954">MemState_IsPoolAllocated</a></div><div class="ttdeci">@ MemState_IsPoolAllocated</div><div class="ttdoc">Is pool allocated.</div><div class="ttdef"><b>Definition</b> svc.h:63</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dcaacc39b416fd5e94205dfb6006957c9e3"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcaacc39b416fd5e94205dfb6006957c9e3">MemState_QueryPAddrAllowed</a></div><div class="ttdeci">@ MemState_QueryPAddrAllowed</div><div class="ttdoc">Query physical address allowed.</div><div class="ttdef"><b>Definition</b> svc.h:59</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dcab07bf37268be2b5e689d056deb30304c"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcab07bf37268be2b5e689d056deb30304c">MemState_PermChangeAllowed</a></div><div class="ttdeci">@ MemState_PermChangeAllowed</div><div class="ttdoc">Permission change allowed.</div><div class="ttdef"><b>Definition</b> svc.h:50</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dcacb42b3ba4b2b9ef7594c3f360aad40e0"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcacb42b3ba4b2b9ef7594c3f360aad40e0">MemState_ForceRwByDebugSyscalls</a></div><div class="ttdeci">@ MemState_ForceRwByDebugSyscalls</div><div class="ttdoc">Force read/writable by debug syscalls.</div><div class="ttdef"><b>Definition</b> svc.h:51</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dcacf09881be25238029645576660464c9d"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcacf09881be25238029645576660464c9d">MemState_MapDeviceAllowed</a></div><div class="ttdeci">@ MemState_MapDeviceAllowed</div><div class="ttdoc">Map device allowed (svcMapDeviceAddressSpace and svcMapDeviceAddressSpaceByForce).</div><div class="ttdef"><b>Definition</b> svc.h:60</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac6adb48770903ba5fa1f628a598720dcae3dc34834acbd9a6f17ed36ec2346a17"><div class="ttname"><a href="svc_8h.html#ac6adb48770903ba5fa1f628a598720dcae3dc34834acbd9a6f17ed36ec2346a17">MemState_MapProcessAllowed</a></div><div class="ttdeci">@ MemState_MapProcessAllowed</div><div class="ttdoc">Map process allowed.</div><div class="ttdef"><b>Definition</b> svc.h:65</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac7a522eadfe51906151cadabc20d5661"><div class="ttname"><a href="svc_8h.html#ac7a522eadfe51906151cadabc20d5661">svcReplyAndReceiveLight</a></div><div class="ttdeci">Result svcReplyAndReceiveLight(Handle handle)</div><div class="ttdoc">Performs light IPC input/output.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ac9d51ea383f3c3a7d85407ab298ec639"><div class="ttname"><a href="svc_8h.html#ac9d51ea383f3c3a7d85407ab298ec639">svcContinueDebugEvent</a></div><div class="ttdeci">Result svcContinueDebugEvent(Handle debug, u32 flags, u64 *tid_list, u32 num_tids)</div><div class="ttdoc">Continues a debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aca43fb91d1103d64cc5146d0488668e6"><div class="ttname"><a href="svc_8h.html#aca43fb91d1103d64cc5146d0488668e6">svcFlushEntireDataCache</a></div><div class="ttdeci">void svcFlushEntireDataCache(void)</div><div class="ttdoc">Flushes the entire data cache (by set/way).</div></div>
|
|
<div class="ttc" id="asvc_8h_html_acd24675fa56b6970d787f5ed298516ad"><div class="ttname"><a href="svc_8h.html#acd24675fa56b6970d787f5ed298516ad">svcCreatePort</a></div><div class="ttdeci">Result svcCreatePort(Handle *portServer, Handle *portClient, s32 max_sessions, bool is_light, const char *name)</div><div class="ttdoc">Creates a port.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_acdac3f8d432c07e43248e2d52a193229"><div class="ttname"><a href="svc_8h.html#acdac3f8d432c07e43248e2d52a193229">svcQueryMemoryMapping</a></div><div class="ttdeci">Result svcQueryMemoryMapping(u64 *virtaddr, u64 *out_size, u64 physaddr, u64 size)</div><div class="ttdoc">Returns a virtual address mapped to a given IO range.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ace281ca87b161d1a01d10902c1c77026"><div class="ttname"><a href="svc_8h.html#ace281ca87b161d1a01d10902c1c77026">svcGetInfo</a></div><div class="ttdeci">Result svcGetInfo(u64 *out, u32 id0, Handle handle, u64 id1)</div><div class="ttdoc">Retrieves information about the system, or a certain kernel object.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad1418bbdb12af8b40cbec0a05471bbb5"><div class="ttname"><a href="svc_8h.html#ad1418bbdb12af8b40cbec0a05471bbb5">svcSetThreadActivity</a></div><div class="ttdeci">Result svcSetThreadActivity(Handle thread, ThreadActivity paused)</div><div class="ttdoc">Configures the pause/unpause status of a thread.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad24225ba2ed15df3cb54d4014ba6b951"><div class="ttname"><a href="svc_8h.html#ad24225ba2ed15df3cb54d4014ba6b951">svcSendSyncRequestLight</a></div><div class="ttdeci">Result svcSendSyncRequestLight(Handle session)</div><div class="ttdoc">Sends a light IPC synchronization request to a session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad70a7529a17d5f5db098f7186b2da9d5"><div class="ttname"><a href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5">TickCountInfo</a></div><div class="ttdeci">TickCountInfo</div><div class="ttdoc">GetInfo Idle/Thread Tick Count Sub IDs.</div><div class="ttdef"><b>Definition</b> svc.h:228</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad70a7529a17d5f5db098f7186b2da9d5a31c9f39449e28d134d9034f8a824e7a4"><div class="ttname"><a href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a31c9f39449e28d134d9034f8a824e7a4">TickCountInfo_Core3</a></div><div class="ttdeci">@ TickCountInfo_Core3</div><div class="ttdoc">Tick count on core 3.</div><div class="ttdef"><b>Definition</b> svc.h:232</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad70a7529a17d5f5db098f7186b2da9d5a4dd7aec3e78b9dde56d9773c7f352578"><div class="ttname"><a href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a4dd7aec3e78b9dde56d9773c7f352578">TickCountInfo_Core2</a></div><div class="ttdeci">@ TickCountInfo_Core2</div><div class="ttdoc">Tick count on core 2.</div><div class="ttdef"><b>Definition</b> svc.h:231</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad70a7529a17d5f5db098f7186b2da9d5a58265120a0ad99b3c90c4b23163b28f8"><div class="ttname"><a href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a58265120a0ad99b3c90c4b23163b28f8">TickCountInfo_Core0</a></div><div class="ttdeci">@ TickCountInfo_Core0</div><div class="ttdoc">Tick count on core 0.</div><div class="ttdef"><b>Definition</b> svc.h:229</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad70a7529a17d5f5db098f7186b2da9d5a651d65f12b7271b6715c451578a01bbd"><div class="ttname"><a href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a651d65f12b7271b6715c451578a01bbd">TickCountInfo_Core1</a></div><div class="ttdeci">@ TickCountInfo_Core1</div><div class="ttdoc">Tick count on core 1.</div><div class="ttdef"><b>Definition</b> svc.h:230</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ad70a7529a17d5f5db098f7186b2da9d5a6ea797bbac581a19b7b6aa64364f4d65"><div class="ttname"><a href="svc_8h.html#ad70a7529a17d5f5db098f7186b2da9d5a6ea797bbac581a19b7b6aa64364f4d65">TickCountInfo_Total</a></div><div class="ttdeci">@ TickCountInfo_Total</div><div class="ttdoc">Tick count on all cores.</div><div class="ttdef"><b>Definition</b> svc.h:234</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ada20299eb2673e843d16270e2b193691"><div class="ttname"><a href="svc_8h.html#ada20299eb2673e843d16270e2b193691">svcGetResourceLimitLimitValue</a></div><div class="ttdeci">Result svcGetResourceLimitLimitValue(s64 *out, Handle reslimit_h, LimitableResource which)</div><div class="ttdoc">Gets the maximum value a LimitableResource can have, for a Resource Limit handle.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_adba350120768af44d412533ffd78681d"><div class="ttname"><a href="svc_8h.html#adba350120768af44d412533ffd78681d">svcCreateResourceLimit</a></div><div class="ttdeci">Result svcCreateResourceLimit(Handle *out)</div><div class="ttdoc">Creates a new Resource Limit handle.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ae094e05379fe209fe17c8312d3c8f2c7"><div class="ttname"><a href="svc_8h.html#ae094e05379fe209fe17c8312d3c8f2c7">svcMapProcessCodeMemory</a></div><div class="ttdeci">Result svcMapProcessCodeMemory(Handle proc, u64 dst, u64 src, u64 size)</div><div class="ttdoc">Maps normal heap in a certain process as executable code (used when loading NROs).</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ae19d9fa5877db971321070384eea1e7a"><div class="ttname"><a href="svc_8h.html#ae19d9fa5877db971321070384eea1e7a">svcGetDebugThreadParam</a></div><div class="ttdeci">Result svcGetDebugThreadParam(u64 *out_64, u32 *out_32, Handle debug, u64 threadID, DebugThreadParam param)</div><div class="ttdoc">Gets parameters from a thread in a debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ae31d7605dadf0020a310e1f3cc6da034"><div class="ttname"><a href="svc_8h.html#ae31d7605dadf0020a310e1f3cc6da034">svcCreateProcess</a></div><div class="ttdeci">Result svcCreateProcess(Handle *out, const void *proc_info, const u32 *caps, u64 cap_num)</div><div class="ttdoc">Creates a new process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ae4da440e4fc6882d15f1ba8e8b14afe6"><div class="ttname"><a href="svc_8h.html#ae4da440e4fc6882d15f1ba8e8b14afe6">svcKernelDebug</a></div><div class="ttdeci">void svcKernelDebug(u32 kern_debug_type, u64 arg0, u64 arg1, u64 arg2)</div><div class="ttdoc">Performs a debugging operation on the kernel.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_ae69ce119bc3680991faa2bc32cc08f38"><div class="ttname"><a href="svc_8h.html#ae69ce119bc3680991faa2bc32cc08f38">svcSendAsyncRequestWithUserBuffer</a></div><div class="ttdeci">Result svcSendAsyncRequestWithUserBuffer(Handle *handle, void *usrBuffer, u64 size, Handle session)</div><div class="ttdoc">Sends an IPC synchronization request to a session from an user allocated buffer (asynchronous version...</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aea161e7c96b51fd4db42a168f678d413"><div class="ttname"><a href="svc_8h.html#aea161e7c96b51fd4db42a168f678d413">svcTerminateDebugProcess</a></div><div class="ttdeci">Result svcTerminateDebugProcess(Handle debug)</div><div class="ttdoc">Terminates the process of an active debugging session.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aedb288e19c41ca6ae0fdf594cc6123d4"><div class="ttname"><a href="svc_8h.html#aedb288e19c41ca6ae0fdf594cc6123d4">svcGetThreadPriority</a></div><div class="ttdeci">Result svcGetThreadPriority(s32 *priority, Handle handle)</div><div class="ttdoc">Gets a thread's priority.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aef25daa79b8df1661c4e0e3837403d34"><div class="ttname"><a href="svc_8h.html#aef25daa79b8df1661c4e0e3837403d34">svcManageNamedPort</a></div><div class="ttdeci">Result svcManageNamedPort(Handle *portServer, const char *name, s32 maxSessions)</div><div class="ttdoc">Manages a named port.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_af0e2d6b1fdba5429d56b4a5650596553"><div class="ttname"><a href="svc_8h.html#af0e2d6b1fdba5429d56b4a5650596553">svcSetProcessMemoryPermission</a></div><div class="ttdeci">Result svcSetProcessMemoryPermission(Handle proc, u64 addr, u64 size, u32 perm)</div><div class="ttdoc">Sets the memory permissions for the specified memory with the supplied process handle.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_af0fe9d1c5f45a46acaabb3a5e15f2115"><div class="ttname"><a href="svc_8h.html#af0fe9d1c5f45a46acaabb3a5e15f2115">svcCreateDeviceAddressSpace</a></div><div class="ttdeci">Result svcCreateDeviceAddressSpace(Handle *handle, u64 dev_addr, u64 dev_size)</div><div class="ttdoc">Creates a virtual address space for binding device address spaces.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_af13c2fb149b1f9168c6ae7ad328b9020"><div class="ttname"><a href="svc_8h.html#af13c2fb149b1f9168c6ae7ad328b9020">svcMapPhysicalMemory</a></div><div class="ttdeci">Result svcMapPhysicalMemory(void *address, u64 size)</div><div class="ttdoc">Maps new heap memory at the desired address.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_af1b4f894de6fe5a04196397ffbdf3147"><div class="ttname"><a href="svc_8h.html#af1b4f894de6fe5a04196397ffbdf3147">svcBreak</a></div><div class="ttdeci">Result svcBreak(u32 breakReason, uintptr_t address, uintptr_t size)</div><div class="ttdoc">Breaks execution.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_af1c2d3d3b17455505aa7d277ba230a7a"><div class="ttname"><a href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a">svcSignalEvent</a></div><div class="ttdeci">Result svcSignalEvent(Handle handle)</div><div class="ttdoc">Sets an event's signalled status.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_af23de090f6a32b6778795a798b658aef"><div class="ttname"><a href="svc_8h.html#af23de090f6a32b6778795a798b658aef">svcGetProcessList</a></div><div class="ttdeci">Result svcGetProcessList(s32 *num_out, u64 *pids_out, u32 max_pids)</div><div class="ttdoc">Retrieves a list of all running processes.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_afb79c48775a58f1844953e1f3800a937"><div class="ttname"><a href="svc_8h.html#afb79c48775a58f1844953e1f3800a937">svcGetResourceLimitPeakValue</a></div><div class="ttdeci">Result svcGetResourceLimitPeakValue(s64 *out, Handle reslimit_h, LimitableResource which)</div><div class="ttdoc">Gets the peak value a LimitableResource has had, for a Resource Limit handle.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_afb7f2e0fa14bbfb877be31246908b795"><div class="ttname"><a href="svc_8h.html#afb7f2e0fa14bbfb877be31246908b795">svcQueryDebugProcessMemory</a></div><div class="ttdeci">Result svcQueryDebugProcessMemory(MemoryInfo *meminfo_ptr, u32 *pageinfo, Handle debug, u64 addr)</div><div class="ttdoc">Queries memory information from a process that is being debugged.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_afcfcabc58fdbea2d41a255c4d0f513eb"><div class="ttname"><a href="svc_8h.html#afcfcabc58fdbea2d41a255c4d0f513eb">svcQueryProcessMemory</a></div><div class="ttdeci">Result svcQueryProcessMemory(MemoryInfo *meminfo_ptr, u32 *pageinfo, Handle proc, u64 addr)</div><div class="ttdoc">Equivalent to svcQueryMemory, for another process.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_afde9e9e3b87aaf317b6f9c93f0ca8a20"><div class="ttname"><a href="svc_8h.html#afde9e9e3b87aaf317b6f9c93f0ca8a20">svcCreateThread</a></div><div class="ttdeci">Result svcCreateThread(Handle *out, void *entry, void *arg, void *stack_top, int prio, int cpuid)</div><div class="ttdoc">Creates a thread.</div></div>
|
|
<div class="ttc" id="asvc_8h_html_aff07fadb31e64d983e75e03dcb7fbcc7"><div class="ttname"><a href="svc_8h.html#aff07fadb31e64d983e75e03dcb7fbcc7">svcDetachDeviceAddressSpace</a></div><div class="ttdeci">Result svcDetachDeviceAddressSpace(u64 device, Handle handle)</div><div class="ttdoc">Detaches a device address space from a device.</div></div>
|
|
<div class="ttc" id="atypes_8h_html_a350c6fc928e3bdc6c6486268ac8fb269"><div class="ttname"><a href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a></div><div class="ttdeci">int64_t s64</div><div class="ttdoc">64-bit signed integer.</div><div class="ttdef"><b>Definition</b> types.h:28</div></div>
|
|
<div class="ttc" id="atypes_8h_html_a3a8ea58898cb58fc96013383d39f482c"><div class="ttname"><a href="types_8h.html#a3a8ea58898cb58fc96013383d39f482c">BIT</a></div><div class="ttdeci">#define BIT(n)</div><div class="ttdoc">Creates a bitmask from a bit number.</div><div class="ttdef"><b>Definition</b> types.h:54</div></div>
|
|
<div class="ttc" id="atypes_8h_html_a3f7e2bcbb0b4c338f3c4f6c937cd4234"><div class="ttname"><a href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a></div><div class="ttdeci">uint64_t u64</div><div class="ttdoc">64-bit unsigned integer.</div><div class="ttdef"><b>Definition</b> types.h:22</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ab6bd3fc8e13d24a2612da07835dda696"><div class="ttname"><a href="types_8h.html#ab6bd3fc8e13d24a2612da07835dda696">NX_PACKED</a></div><div class="ttdeci">#define NX_PACKED</div><div class="ttdoc">Packs a struct so that it won't include padding bytes.</div><div class="ttdef"><b>Definition</b> types.h:63</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ab6d744c6b5de129f12937e482dc674fb"><div class="ttname"><a href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a></div><div class="ttdeci">u32 Handle</div><div class="ttdoc">Kernel object handle.</div><div class="ttdef"><b>Definition</b> types.h:43</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ad1be2721625a17f1be47fac918032afe"><div class="ttname"><a href="types_8h.html#ad1be2721625a17f1be47fac918032afe">Result</a></div><div class="ttdeci">u32 Result</div><div class="ttdoc">Function error code result type.</div><div class="ttdef"><b>Definition</b> types.h:44</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ade5bb7679c90297209347fcb85a0db41"><div class="ttname"><a href="types_8h.html#ade5bb7679c90297209347fcb85a0db41">NX_NORETURN</a></div><div class="ttdeci">#define NX_NORETURN</div><div class="ttdoc">Marks a function as not returning, for the purposes of compiler optimization.</div><div class="ttdef"><b>Definition</b> types.h:68</div></div>
|
|
<div class="ttc" id="atypes_8h_html_ae9b1af5c037e57a98884758875d3a7c4"><div class="ttname"><a href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a></div><div class="ttdeci">int32_t s32</div><div class="ttdoc">32-bit signed integer.</div><div class="ttdef"><b>Definition</b> types.h:27</div></div>
|
|
<div class="ttc" id="atypes_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer.</div><div class="ttdef"><b>Definition</b> types.h:21</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.8
|
|
</small></address>
|
|
</body>
|
|
</html>
|