libctru/svc_8h.html
2024-11-03 20:36:34 +00:00

5829 lines
364 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libctru: include/3ds/svc.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libctru
&#160;<span id="projectnumber">v2.4.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_d475325f6a9fe3bfc3a495c72a9e475e.html">3ds</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">svc.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Syscall wrappers.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="types_8h_source.html">types.h</a>&quot;</code><br />
</div>
<p><a href="svc_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMemInfo.html">MemInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory information. <a href="structMemInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPageInfo.html">PageInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory page information. <a href="structPageInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDmaDeviceConfig.html">DmaDeviceConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device configuration structure, part of <a class="el" href="structDmaConfig.html">DmaConfig</a>. <a href="structDmaDeviceConfig.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDmaConfig.html">DmaConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration stucture for <a class="el" href="svc_8h.html#af8008fc36f898e4e2def32627cb96b47">svcStartInterProcessDma</a>. <a href="structDmaConfig.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structAttachProcessEvent.html">AttachProcessEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to the attachment of a process. <a href="structAttachProcessEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structExitProcessEvent.html">ExitProcessEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to the exiting of a process. <a href="structExitProcessEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structAttachThreadEvent.html">AttachThreadEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to the attachment of a thread. <a href="structAttachThreadEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structExitThreadEvent.html">ExitThreadEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to the exiting of a thread. <a href="structExitThreadEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFaultExceptionEvent.html">FaultExceptionEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to fault exceptions (CPU exceptions other than stop points and undefined syscalls). <a href="structFaultExceptionEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structStopPointExceptionEvent.html">StopPointExceptionEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to stop points. <a href="structStopPointExceptionEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUserBreakExceptionEvent.html">UserBreakExceptionEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to <a class="el" href="svc_8h.html#a71559e1c5662a82ac2b83bd6c5c8234c">svcBreak</a>. <a href="structUserBreakExceptionEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDebuggerBreakExceptionEvent.html">DebuggerBreakExceptionEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to <a class="el" href="svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4">svcBreakDebugProcess</a>. <a href="structDebuggerBreakExceptionEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structExceptionEvent.html">ExceptionEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to exceptions. <a href="structExceptionEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structScheduleInOutEvent.html">ScheduleInOutEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to the scheduler. <a href="structScheduleInOutEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSyscallInOutEvent.html">SyscallInOutEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to syscalls. <a href="structSyscallInOutEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structOutputStringEvent.html">OutputStringEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to debug output. <a href="structOutputStringEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMapEvent.html">MapEvent</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event relating to the mapping of memory. <a href="structMapEvent.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDebugEventInfo.html">DebugEventInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about a debug event. <a href="structDebugEventInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structThreadContext.html">ThreadContext</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structCodeSetHeader.html">CodeSetHeader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information on address space for process. All sizes are in pages (0x1000 bytes) <a href="structCodeSetHeader.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structStartupInfo.html">StartupInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information for the main thread of a process. <a href="structStartupInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a0b30bcbc98ad85fe81ac6de8ea464276"><td class="memItemLeft" align="right" valign="top"><a id="a0b30bcbc98ad85fe81ac6de8ea464276"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a0b30bcbc98ad85fe81ac6de8ea464276">CUR_PROCESS_HANDLE</a>&#160;&#160;&#160;0xFFFF8001</td></tr>
<tr class="memdesc:a0b30bcbc98ad85fe81ac6de8ea464276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pseudo handle for the current process. <br /></td></tr>
<tr class="separator:a0b30bcbc98ad85fe81ac6de8ea464276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada2d7dbdeeb091dc83e76117eeb5ae1f"><td class="memItemLeft" align="right" valign="top"><a id="ada2d7dbdeeb091dc83e76117eeb5ae1f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ada2d7dbdeeb091dc83e76117eeb5ae1f">SVC_STOP_POINT</a>&#160;&#160;&#160;__asm__ volatile(&quot;svc 0xFF&quot;);</td></tr>
<tr class="memdesc:ada2d7dbdeeb091dc83e76117eeb5ae1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop point, does nothing if the process is not attached (as opposed to 'bkpt' instructions) <br /></td></tr>
<tr class="separator:ada2d7dbdeeb091dc83e76117eeb5ae1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3f23b2d589b488efb59603000c5f7969"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3f23b2d589b488efb59603000c5f7969">getThreadLocalStorage</a> (void)</td></tr>
<tr class="memdesc:a3f23b2d589b488efb59603000c5f7969"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the thread local storage buffer. <a href="svc_8h.html#a3f23b2d589b488efb59603000c5f7969">More...</a><br /></td></tr>
<tr class="separator:a3f23b2d589b488efb59603000c5f7969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e0c230a1bb2d5400edc08bd7c687099"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a2e0c230a1bb2d5400edc08bd7c687099">getThreadCommandBuffer</a> (void)</td></tr>
<tr class="memdesc:a2e0c230a1bb2d5400edc08bd7c687099"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the thread command buffer. <a href="svc_8h.html#a2e0c230a1bb2d5400edc08bd7c687099">More...</a><br /></td></tr>
<tr class="separator:a2e0c230a1bb2d5400edc08bd7c687099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f804146f815c96c98e7712bce3993bf"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a7f804146f815c96c98e7712bce3993bf">getThreadStaticBuffers</a> (void)</td></tr>
<tr class="memdesc:a7f804146f815c96c98e7712bce3993bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the thread static buffer. <a href="svc_8h.html#a7f804146f815c96c98e7712bce3993bf">More...</a><br /></td></tr>
<tr class="separator:a7f804146f815c96c98e7712bce3993bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f4318daa12693ba8a3bb8dde536393b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a1f4318daa12693ba8a3bb8dde536393b">svcBackdoor</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>(*callback)(void))</td></tr>
<tr class="memdesc:a1f4318daa12693ba8a3bb8dde536393b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes a function in supervisor mode. <a href="svc_8h.html#a1f4318daa12693ba8a3bb8dde536393b">More...</a><br /></td></tr>
<tr class="separator:a1f4318daa12693ba8a3bb8dde536393b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Process management</div></td></tr>
<tr class="memitem:a0348d3f35f25e455d7497687224b49a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a0348d3f35f25e455d7497687224b49a5">svcOpenProcess</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> processId)</td></tr>
<tr class="memdesc:a0348d3f35f25e455d7497687224b49a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the handle of a process. <a href="svc_8h.html#a0348d3f35f25e455d7497687224b49a5">More...</a><br /></td></tr>
<tr class="separator:a0348d3f35f25e455d7497687224b49a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5151be03b9f3bfcf310ee2f659f5cff1"><td class="memItemLeft" align="right" valign="top"><a id="a5151be03b9f3bfcf310ee2f659f5cff1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a5151be03b9f3bfcf310ee2f659f5cff1">svcExitProcess</a> (void) <a class="el" href="rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154">__attribute__</a>((noreturn))</td></tr>
<tr class="memdesc:a5151be03b9f3bfcf310ee2f659f5cff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exits the current process. <br /></td></tr>
<tr class="separator:a5151be03b9f3bfcf310ee2f659f5cff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01228468ee9651a6480002cb381fe55e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a01228468ee9651a6480002cb381fe55e">svcTerminateProcess</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process)</td></tr>
<tr class="memdesc:a01228468ee9651a6480002cb381fe55e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates a process. <a href="svc_8h.html#a01228468ee9651a6480002cb381fe55e">More...</a><br /></td></tr>
<tr class="separator:a01228468ee9651a6480002cb381fe55e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09d2da81f400266901235bd6cc1c0943"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a09d2da81f400266901235bd6cc1c0943">svcGetProcessInfo</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> type)</td></tr>
<tr class="memdesc:a09d2da81f400266901235bd6cc1c0943"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets information about a process. <a href="svc_8h.html#a09d2da81f400266901235bd6cc1c0943">More...</a><br /></td></tr>
<tr class="separator:a09d2da81f400266901235bd6cc1c0943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46395fb5e1c8f9b2311cfa260de0c2e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a46395fb5e1c8f9b2311cfa260de0c2e9">svcGetProcessId</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:a46395fb5e1c8f9b2311cfa260de0c2e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the ID of a process. <a href="svc_8h.html#a46395fb5e1c8f9b2311cfa260de0c2e9">More...</a><br /></td></tr>
<tr class="separator:a46395fb5e1c8f9b2311cfa260de0c2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4895a8c4e616aecd47eb260e262b0d3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a4895a8c4e616aecd47eb260e262b0d3c">svcGetProcessList</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *processCount, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *processIds, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processIdMaxCount)</td></tr>
<tr class="memdesc:a4895a8c4e616aecd47eb260e262b0d3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of running processes. <a href="svc_8h.html#a4895a8c4e616aecd47eb260e262b0d3c">More...</a><br /></td></tr>
<tr class="separator:a4895a8c4e616aecd47eb260e262b0d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ef70e1f36a42f1d8e351d7bf1c9a2ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3ef70e1f36a42f1d8e351d7bf1c9a2ff">svcGetThreadList</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *threadCount, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *threadIds, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> threadIdMaxCount, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process)</td></tr>
<tr class="memdesc:a3ef70e1f36a42f1d8e351d7bf1c9a2ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the threads of a process. <a href="svc_8h.html#a3ef70e1f36a42f1d8e351d7bf1c9a2ff">More...</a><br /></td></tr>
<tr class="separator:a3ef70e1f36a42f1d8e351d7bf1c9a2ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecb788e88b2b9990c72c01b73f290b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a7ecb788e88b2b9990c72c01b73f290b2">svcCreatePort</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *portServer, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *portClient, const char *name, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> maxSessions)</td></tr>
<tr class="memdesc:a7ecb788e88b2b9990c72c01b73f290b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a port. <a href="svc_8h.html#a7ecb788e88b2b9990c72c01b73f290b2">More...</a><br /></td></tr>
<tr class="separator:a7ecb788e88b2b9990c72c01b73f290b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3063414d90f09e17398bdb7cd6955b71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3063414d90f09e17398bdb7cd6955b71">svcConnectToPort</a> (volatile <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *out, const char *portName)</td></tr>
<tr class="memdesc:a3063414d90f09e17398bdb7cd6955b71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a port. <a href="svc_8h.html#a3063414d90f09e17398bdb7cd6955b71">More...</a><br /></td></tr>
<tr class="separator:a3063414d90f09e17398bdb7cd6955b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b9e97a68e06934e341c147c1c489390"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a8b9e97a68e06934e341c147c1c489390">svcCreateCodeSet</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *out, const <a class="el" href="structCodeSetHeader.html">CodeSetHeader</a> *info, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> textSegmentLma, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> roSegmentLma, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> dataSegmentLma)</td></tr>
<tr class="memdesc:a8b9e97a68e06934e341c147c1c489390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up virtual address space for a new process. <a href="svc_8h.html#a8b9e97a68e06934e341c147c1c489390">More...</a><br /></td></tr>
<tr class="separator:a8b9e97a68e06934e341c147c1c489390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a985e047a81393fa6d118ee769311f9c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a985e047a81393fa6d118ee769311f9c1">svcCreateProcess</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> codeset, const <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *arm11KernelCaps, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> numArm11KernelCaps)</td></tr>
<tr class="memdesc:a985e047a81393fa6d118ee769311f9c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new process. <a href="svc_8h.html#a985e047a81393fa6d118ee769311f9c1">More...</a><br /></td></tr>
<tr class="separator:a985e047a81393fa6d118ee769311f9c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae52c7fb0b8c1046268ad81719500eb8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ae52c7fb0b8c1046268ad81719500eb8f">svcGetProcessAffinityMask</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *affinitymask, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processorcount)</td></tr>
<tr class="memdesc:ae52c7fb0b8c1046268ad81719500eb8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a process's affinity mask. <a href="svc_8h.html#ae52c7fb0b8c1046268ad81719500eb8f">More...</a><br /></td></tr>
<tr class="separator:ae52c7fb0b8c1046268ad81719500eb8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee49171a3a435f8879a019620b51dcd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aee49171a3a435f8879a019620b51dcd0">svcSetProcessAffinityMask</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, const <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *affinitymask, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processorcount)</td></tr>
<tr class="memdesc:aee49171a3a435f8879a019620b51dcd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a process's affinity mask. <a href="svc_8h.html#aee49171a3a435f8879a019620b51dcd0">More...</a><br /></td></tr>
<tr class="separator:aee49171a3a435f8879a019620b51dcd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaec6682f3ea6b524cc44d24986ccc81a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aaec6682f3ea6b524cc44d24986ccc81a">svcGetProcessIdealProcessor</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *processorid, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process)</td></tr>
<tr class="memdesc:aaec6682f3ea6b524cc44d24986ccc81a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a process's ideal processor. <a href="svc_8h.html#aaec6682f3ea6b524cc44d24986ccc81a">More...</a><br /></td></tr>
<tr class="separator:aaec6682f3ea6b524cc44d24986ccc81a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e7666520d212d0b7de8c703b4c3b00e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a7e7666520d212d0b7de8c703b4c3b00e">svcSetProcessIdealProcessor</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processorid)</td></tr>
<tr class="memdesc:a7e7666520d212d0b7de8c703b4c3b00e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a process's ideal processor. <a href="svc_8h.html#a7e7666520d212d0b7de8c703b4c3b00e">More...</a><br /></td></tr>
<tr class="separator:a7e7666520d212d0b7de8c703b4c3b00e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20ea2b0b1a60242d167664de882a4562"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a20ea2b0b1a60242d167664de882a4562">svcRun</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, const <a class="el" href="structStartupInfo.html">StartupInfo</a> *info)</td></tr>
<tr class="memdesc:a20ea2b0b1a60242d167664de882a4562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Launches the main thread of the process. <a href="svc_8h.html#a20ea2b0b1a60242d167664de882a4562">More...</a><br /></td></tr>
<tr class="separator:a20ea2b0b1a60242d167664de882a4562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Synchronization</div></td></tr>
<tr class="memitem:af83b6eb4ee03ce1aae2ccb64906e759c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#af83b6eb4ee03ce1aae2ccb64906e759c">svcCreateMutex</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *mutex, bool initially_locked)</td></tr>
<tr class="memdesc:af83b6eb4ee03ce1aae2ccb64906e759c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a mutex. <a href="svc_8h.html#af83b6eb4ee03ce1aae2ccb64906e759c">More...</a><br /></td></tr>
<tr class="separator:af83b6eb4ee03ce1aae2ccb64906e759c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29c27d98f1ce96951af4057503b6641e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a29c27d98f1ce96951af4057503b6641e">svcReleaseMutex</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:a29c27d98f1ce96951af4057503b6641e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a mutex. <a href="svc_8h.html#a29c27d98f1ce96951af4057503b6641e">More...</a><br /></td></tr>
<tr class="separator:a29c27d98f1ce96951af4057503b6641e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6875852b77e9295f0acefa95a721a102"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a6875852b77e9295f0acefa95a721a102">svcCreateSemaphore</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *semaphore, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> initial_count, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> max_count)</td></tr>
<tr class="memdesc:a6875852b77e9295f0acefa95a721a102"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a semaphore. <a href="svc_8h.html#a6875852b77e9295f0acefa95a721a102">More...</a><br /></td></tr>
<tr class="separator:a6875852b77e9295f0acefa95a721a102"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c072d1a9707bb0324b4ba2e7c4fc794"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a8c072d1a9707bb0324b4ba2e7c4fc794">svcReleaseSemaphore</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *count, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> semaphore, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> release_count)</td></tr>
<tr class="memdesc:a8c072d1a9707bb0324b4ba2e7c4fc794"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases a semaphore. <a href="svc_8h.html#a8c072d1a9707bb0324b4ba2e7c4fc794">More...</a><br /></td></tr>
<tr class="separator:a8c072d1a9707bb0324b4ba2e7c4fc794"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4888a213bf9515d2332ce8a686b3087"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ac4888a213bf9515d2332ce8a686b3087">svcCreateEvent</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *event, <a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf">ResetType</a> reset_type)</td></tr>
<tr class="memdesc:ac4888a213bf9515d2332ce8a686b3087"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an event handle. <a href="svc_8h.html#ac4888a213bf9515d2332ce8a686b3087">More...</a><br /></td></tr>
<tr class="separator:ac4888a213bf9515d2332ce8a686b3087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1c2d3d3b17455505aa7d277ba230a7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a">svcSignalEvent</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:af1c2d3d3b17455505aa7d277ba230a7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signals an event. <a href="svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a">More...</a><br /></td></tr>
<tr class="separator:af1c2d3d3b17455505aa7d277ba230a7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62690a14d27773ca936c1b53549f59d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d">svcClearEvent</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:ac62690a14d27773ca936c1b53549f59d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears an event. <a href="svc_8h.html#ac62690a14d27773ca936c1b53549f59d">More...</a><br /></td></tr>
<tr class="separator:ac62690a14d27773ca936c1b53549f59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eabaa7c25d17e79026434564d484c82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> nanoseconds)</td></tr>
<tr class="memdesc:a4eabaa7c25d17e79026434564d484c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for synchronization on a handle. <a href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">More...</a><br /></td></tr>
<tr class="separator:a4eabaa7c25d17e79026434564d484c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15341b7a1a479ea489a31a145479f5b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a15341b7a1a479ea489a31a145479f5b8">svcWaitSynchronizationN</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *out, const <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *handles, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> handles_num, bool wait_all, <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> nanoseconds)</td></tr>
<tr class="memdesc:a15341b7a1a479ea489a31a145479f5b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for synchronization on multiple handles. <a href="svc_8h.html#a15341b7a1a479ea489a31a145479f5b8">More...</a><br /></td></tr>
<tr class="separator:a15341b7a1a479ea489a31a145479f5b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad97fa778ae92cc88586f287b9b88487"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aad97fa778ae92cc88586f287b9b88487">svcCreateAddressArbiter</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *arbiter)</td></tr>
<tr class="memdesc:aad97fa778ae92cc88586f287b9b88487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an address arbiter. <a href="svc_8h.html#aad97fa778ae92cc88586f287b9b88487">More...</a><br /></td></tr>
<tr class="separator:aad97fa778ae92cc88586f287b9b88487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f6ec3a0e2d3bd501c6a95e234aaabdc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a4f6ec3a0e2d3bd501c6a95e234aaabdc">svcArbitrateAddress</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> arbiter, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a> type, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> value, <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> timeout_ns)</td></tr>
<tr class="memdesc:a4f6ec3a0e2d3bd501c6a95e234aaabdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arbitrate an address, can be used for synchronization. <a href="svc_8h.html#a4f6ec3a0e2d3bd501c6a95e234aaabdc">More...</a><br /></td></tr>
<tr class="separator:a4f6ec3a0e2d3bd501c6a95e234aaabdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b4536b50d5d5735805f1f5aa6b2a378"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a8b4536b50d5d5735805f1f5aa6b2a378">svcArbitrateAddressNoTimeout</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> arbiter, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a> type, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> value)</td></tr>
<tr class="memdesc:a8b4536b50d5d5735805f1f5aa6b2a378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as <a class="el" href="svc_8h.html#a4f6ec3a0e2d3bd501c6a95e234aaabdc">svcArbitrateAddress</a> but with the timeout_ns parameter undefined. <a href="svc_8h.html#a8b4536b50d5d5735805f1f5aa6b2a378">More...</a><br /></td></tr>
<tr class="separator:a8b4536b50d5d5735805f1f5aa6b2a378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e2f6333bfcd2a2953b5bde79122e913"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3e2f6333bfcd2a2953b5bde79122e913">svcSendSyncRequest</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> session)</td></tr>
<tr class="memdesc:a3e2f6333bfcd2a2953b5bde79122e913"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a synchronized request to a session handle. <a href="svc_8h.html#a3e2f6333bfcd2a2953b5bde79122e913">More...</a><br /></td></tr>
<tr class="separator:a3e2f6333bfcd2a2953b5bde79122e913"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a562f0131519b367335c376b046d1c1aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a562f0131519b367335c376b046d1c1aa">svcCreateSessionToPort</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *clientSession, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> clientPort)</td></tr>
<tr class="memdesc:a562f0131519b367335c376b046d1c1aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a port via a handle. <a href="svc_8h.html#a562f0131519b367335c376b046d1c1aa">More...</a><br /></td></tr>
<tr class="separator:a562f0131519b367335c376b046d1c1aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39e82e4602ee78d3b7bc3ad95c3798cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a39e82e4602ee78d3b7bc3ad95c3798cb">svcCreateSession</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *serverSession, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *clientSession)</td></tr>
<tr class="memdesc:a39e82e4602ee78d3b7bc3ad95c3798cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a linked pair of session endpoints. <a href="svc_8h.html#a39e82e4602ee78d3b7bc3ad95c3798cb">More...</a><br /></td></tr>
<tr class="separator:a39e82e4602ee78d3b7bc3ad95c3798cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b1cbd6cb9eba21e42c9ec8bb7d08e97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a9b1cbd6cb9eba21e42c9ec8bb7d08e97">svcAcceptSession</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *session, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> port)</td></tr>
<tr class="memdesc:a9b1cbd6cb9eba21e42c9ec8bb7d08e97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts a session. <a href="svc_8h.html#a9b1cbd6cb9eba21e42c9ec8bb7d08e97">More...</a><br /></td></tr>
<tr class="separator:a9b1cbd6cb9eba21e42c9ec8bb7d08e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaef69fd9d538247e3e48815592de4df1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aaef69fd9d538247e3e48815592de4df1">svcReplyAndReceive</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *index, const <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *handles, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> handleCount, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> replyTarget)</td></tr>
<tr class="memdesc:aaef69fd9d538247e3e48815592de4df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replies to and receives a new request. <a href="svc_8h.html#aaef69fd9d538247e3e48815592de4df1">More...</a><br /></td></tr>
<tr class="separator:aaef69fd9d538247e3e48815592de4df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Time</div></td></tr>
<tr class="memitem:a021efa7b65d0263f55278c04c4329c5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a021efa7b65d0263f55278c04c4329c5c">svcCreateTimer</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *timer, <a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf">ResetType</a> reset_type)</td></tr>
<tr class="memdesc:a021efa7b65d0263f55278c04c4329c5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a timer. <a href="svc_8h.html#a021efa7b65d0263f55278c04c4329c5c">More...</a><br /></td></tr>
<tr class="separator:a021efa7b65d0263f55278c04c4329c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3d7b4a986e1f146dfc4d6149d1a5b5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ab3d7b4a986e1f146dfc4d6149d1a5b5b">svcSetTimer</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> timer, <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> initial, <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> interval)</td></tr>
<tr class="memdesc:ab3d7b4a986e1f146dfc4d6149d1a5b5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a timer. <a href="svc_8h.html#ab3d7b4a986e1f146dfc4d6149d1a5b5b">More...</a><br /></td></tr>
<tr class="separator:ab3d7b4a986e1f146dfc4d6149d1a5b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88c4f0553f97b85737a730c7e63aff6f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a88c4f0553f97b85737a730c7e63aff6f">svcCancelTimer</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> timer)</td></tr>
<tr class="memdesc:a88c4f0553f97b85737a730c7e63aff6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancels a timer. <a href="svc_8h.html#a88c4f0553f97b85737a730c7e63aff6f">More...</a><br /></td></tr>
<tr class="separator:a88c4f0553f97b85737a730c7e63aff6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3642f5b3403a0e731358301d622a9a1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3642f5b3403a0e731358301d622a9a1e">svcClearTimer</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> timer)</td></tr>
<tr class="memdesc:a3642f5b3403a0e731358301d622a9a1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears a timer. <a href="svc_8h.html#a3642f5b3403a0e731358301d622a9a1e">More...</a><br /></td></tr>
<tr class="separator:a3642f5b3403a0e731358301d622a9a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a31bff3a0f1d8ff768911e38f70c5d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">svcGetSystemTick</a> (void)</td></tr>
<tr class="memdesc:a3a31bff3a0f1d8ff768911e38f70c5d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current system tick. <a href="svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7">More...</a><br /></td></tr>
<tr class="separator:a3a31bff3a0f1d8ff768911e38f70c5d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">System</div></td></tr>
<tr class="memitem:a09f47e8301d61442fc76727da0b0554c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">svcCloseHandle</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:a09f47e8301d61442fc76727da0b0554c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes a handle. <a href="svc_8h.html#a09f47e8301d61442fc76727da0b0554c">More...</a><br /></td></tr>
<tr class="separator:a09f47e8301d61442fc76727da0b0554c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fea2f7321bb5bb8fa64d4064ae07e39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a2fea2f7321bb5bb8fa64d4064ae07e39">svcDuplicateHandle</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> original)</td></tr>
<tr class="memdesc:a2fea2f7321bb5bb8fa64d4064ae07e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates a handle. <a href="svc_8h.html#a2fea2f7321bb5bb8fa64d4064ae07e39">More...</a><br /></td></tr>
<tr class="separator:a2fea2f7321bb5bb8fa64d4064ae07e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48a9bb9e4b5959bebca2f32cdd3e598a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a48a9bb9e4b5959bebca2f32cdd3e598a">svcGetHandleInfo</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> param)</td></tr>
<tr class="memdesc:a48a9bb9e4b5959bebca2f32cdd3e598a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a handle info. <a href="svc_8h.html#a48a9bb9e4b5959bebca2f32cdd3e598a">More...</a><br /></td></tr>
<tr class="separator:a48a9bb9e4b5959bebca2f32cdd3e598a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a581cf88669bf459816e5ce5899f1e378"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a581cf88669bf459816e5ce5899f1e378">svcGetSystemInfo</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> type, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> param)</td></tr>
<tr class="memdesc:a581cf88669bf459816e5ce5899f1e378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the system info. <a href="svc_8h.html#a581cf88669bf459816e5ce5899f1e378">More...</a><br /></td></tr>
<tr class="separator:a581cf88669bf459816e5ce5899f1e378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada13386ccb8cb809658a9878a9941a8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ada13386ccb8cb809658a9878a9941a8b">svcKernelSetState</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> type,...)</td></tr>
<tr class="memdesc:ada13386ccb8cb809658a9878a9941a8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current kernel state. <a href="svc_8h.html#ada13386ccb8cb809658a9878a9941a8b">More...</a><br /></td></tr>
<tr class="separator:ada13386ccb8cb809658a9878a9941a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Memory management</h2></td></tr>
<tr class="memitem:acca9c678c119f4d1291e09c58f9ccaf5"><td class="memItemLeft" align="right" valign="top"><a id="acca9c678c119f4d1291e09c58f9ccaf5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#acca9c678c119f4d1291e09c58f9ccaf5">ARBITRATION_SIGNAL_ALL</a>&#160;&#160;&#160;(-1)</td></tr>
<tr class="memdesc:acca9c678c119f4d1291e09c58f9ccaf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value to signal all the threads. <br /></td></tr>
<tr class="separator:acca9c678c119f4d1291e09c58f9ccaf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a754721841a571940880975d2191f3e0f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0f">MemOp</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa0277897bdb24ec61ebe721b6e2213393">MEMOP_FREE</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0faa08bd2ac9bdfc6a958ef71a6d4615f88">MEMOP_RESERVE</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed">MEMOP_ALLOC</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fad3419008fb719308be57a96f7dbc1a07">MEMOP_MAP</a> = 4
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0faebba281d2e3a26717e803b22cb4f6951">MEMOP_UNMAP</a> = 5
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1">MEMOP_PROT</a> = 6
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fad4d969ef37e24230f5f66b1700634763">MEMOP_REGION_APP</a> = 0x100
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fae9985e0572e18a1f8334ab8887bfa50d">MEMOP_REGION_SYSTEM</a> = 0x200
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa3be4e93c776697aeedd82f51b28f21ed">MEMOP_REGION_BASE</a> = 0x300
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa09aacdab03ccb3fe52723ee25e105329">MEMOP_OP_MASK</a> = 0xFF
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa58a22e2d8cd7250a43819805757e4413">MEMOP_REGION_MASK</a> = 0xF00
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa38d1aa9f77dfede9f2bb50aa7c39ffd7">MEMOP_LINEAR_FLAG</a> = 0x10000
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fac0a3b46ec2c6ead43fb1de9772729595">MEMOP_ALLOC_LINEAR</a> = MEMOP_LINEAR_FLAG | MEMOP_ALLOC
<br />
}</td></tr>
<tr class="memdesc:a754721841a571940880975d2191f3e0f"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="svc_8h.html#a8046e9b23b1b209a4e278cb1c19c7a5a">svcControlMemory</a> operation flags <a href="svc_8h.html#a754721841a571940880975d2191f3e0f">More...</a><br /></td></tr>
<tr class="separator:a754721841a571940880975d2191f3e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9475ce2cc58483c4a96c970bc6d87cf7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7">MemState</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a28319451e29cd1d428cb794e452c755b">MEMSTATE_FREE</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7ac0adf485622be6e0fbbdc7cbb8c47117">MEMSTATE_RESERVED</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a99d241b8c1e39f56cc62c0ae8f0a1a49">MEMSTATE_IO</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7aaca66457f6d543c2b19b0430590fc143">MEMSTATE_STATIC</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a271fa8404bb634409a54c9d4f5f35627">MEMSTATE_CODE</a> = 4
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a728b20cb6be4b28ab6694984b7e79018">MEMSTATE_PRIVATE</a> = 5
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a46982bcef4b1151bc212a8ae7b9605eb">MEMSTATE_SHARED</a> = 6
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a4dd019bd15843b85ba5b2e980816df50">MEMSTATE_CONTINUOUS</a> = 7
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a5e54fc6b8c3f3090eba67147f3000d31">MEMSTATE_ALIASED</a> = 8
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a26e7ac8c3e0c4a0ed3f77d0bd9788ac5">MEMSTATE_ALIAS</a> = 9
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a59073efd4c26f46fee26de08c255e0b2">MEMSTATE_ALIASCODE</a> = 10
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7ae339e1d3911aeadbe94cffaa8e27436b">MEMSTATE_LOCKED</a> = 11
<br />
}</td></tr>
<tr class="memdesc:a9475ce2cc58483c4a96c970bc6d87cf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of a memory block. <a href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7">More...</a><br /></td></tr>
<tr class="separator:a9475ce2cc58483c4a96c970bc6d87cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a933c1284d3be96f93a10a06f9c13aef8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a94982bf2da2aa85b256d272073d8a3b2">MEMPERM_READ</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a1cd211ea237b7a2f9d79784ad80381ef">MEMPERM_WRITE</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a95166c88c977b8f6621cc3fddfbef097">MEMPERM_EXECUTE</a> = 4
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a6a38ed1f87f49fe7db01ad467e5bdf11">MEMPERM_READWRITE</a> = MEMPERM_READ | MEMPERM_WRITE
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8aec242833b7930ca0c26c9a82cc0106f0">MEMPERM_READEXECUTE</a> = MEMPERM_READ | MEMPERM_EXECUTE
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a00b3d9ebe75e827a690b181275e36285">MEMPERM_DONTCARE</a> = 0x10000000
<br />
}</td></tr>
<tr class="memdesc:a933c1284d3be96f93a10a06f9c13aef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory permission flags. <a href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">More...</a><br /></td></tr>
<tr class="separator:a933c1284d3be96f93a10a06f9c13aef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4f63d4e584005af063b41bc55bb92eb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ac4f63d4e584005af063b41bc55bb92eb">MemRegion</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba87d800dfa880eb2c7606cbc6e88cdfc9">MEMREGION_ALL</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac4f63d4e584005af063b41bc55bb92ebaa6dca7f0283dc36043000cf009b3037d">MEMREGION_APPLICATION</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba3593cd195de87cfb8d9ef3a8d4aa4d61">MEMREGION_SYSTEM</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba71250d7c703bed890cb5c41e6a04b292">MEMREGION_BASE</a> = 3
<br />
}</td></tr>
<tr class="memdesc:ac4f63d4e584005af063b41bc55bb92eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory regions. <a href="svc_8h.html#ac4f63d4e584005af063b41bc55bb92eb">More...</a><br /></td></tr>
<tr class="separator:ac4f63d4e584005af063b41bc55bb92eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00f5b708129ef172b59197a775b533ec"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca503fb7656e3429195054786b8779cbd6">ARBITRATION_SIGNAL</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca9416744f50ce5abc375c88692271c751">ARBITRATION_WAIT_IF_LESS_THAN</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca551c32ebca2151dc1fed5450d458433f">ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ecafe6754c50fcd095096605d9587188970">ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ecab503e618303a55b029bda8eef14776e9">ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT</a> = 4
<br />
}</td></tr>
<tr class="memdesc:a00f5b708129ef172b59197a775b533ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arbitration modes. <a href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">More...</a><br /></td></tr>
<tr class="separator:a00f5b708129ef172b59197a775b533ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8046e9b23b1b209a4e278cb1c19c7a5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a8046e9b23b1b209a4e278cb1c19c7a5a">svcControlMemory</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *addr_out, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr0, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr1, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0f">MemOp</a> op, <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a> perm)</td></tr>
<tr class="memdesc:a8046e9b23b1b209a4e278cb1c19c7a5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls memory mapping. <a href="svc_8h.html#a8046e9b23b1b209a4e278cb1c19c7a5a">More...</a><br /></td></tr>
<tr class="separator:a8046e9b23b1b209a4e278cb1c19c7a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9dcc9ae0b21ce1363522c23203d4d6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#af9dcc9ae0b21ce1363522c23203d4d6c">svcControlProcessMemory</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr0, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr1, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> type, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> perm)</td></tr>
<tr class="memdesc:af9dcc9ae0b21ce1363522c23203d4d6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the memory mapping of a process. <a href="svc_8h.html#af9dcc9ae0b21ce1363522c23203d4d6c">More...</a><br /></td></tr>
<tr class="separator:af9dcc9ae0b21ce1363522c23203d4d6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce27301f176acfa306a39c9801f7b33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a5ce27301f176acfa306a39c9801f7b33">svcCreateMemoryBlock</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *memblock, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a> my_perm, <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a> other_perm)</td></tr>
<tr class="memdesc:a5ce27301f176acfa306a39c9801f7b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a block of shared memory. <a href="svc_8h.html#a5ce27301f176acfa306a39c9801f7b33">More...</a><br /></td></tr>
<tr class="separator:a5ce27301f176acfa306a39c9801f7b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04bb64a060cd46b28be86fa30e33bb94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a04bb64a060cd46b28be86fa30e33bb94">svcMapMemoryBlock</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> memblock, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a> my_perm, <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a> other_perm)</td></tr>
<tr class="memdesc:a04bb64a060cd46b28be86fa30e33bb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps a block of shared memory. <a href="svc_8h.html#a04bb64a060cd46b28be86fa30e33bb94">More...</a><br /></td></tr>
<tr class="separator:a04bb64a060cd46b28be86fa30e33bb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8114b51a10d4515b71ecf5e0b2416a96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a8114b51a10d4515b71ecf5e0b2416a96">svcMapProcessMemory</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> destAddress, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
<tr class="memdesc:a8114b51a10d4515b71ecf5e0b2416a96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps a block of process memory, starting from address 0x00100000. <a href="svc_8h.html#a8114b51a10d4515b71ecf5e0b2416a96">More...</a><br /></td></tr>
<tr class="separator:a8114b51a10d4515b71ecf5e0b2416a96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1e5db22e50e03cb4f14e46f09f7635a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ab1e5db22e50e03cb4f14e46f09f7635a">svcUnmapProcessMemory</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> destAddress, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
<tr class="memdesc:ab1e5db22e50e03cb4f14e46f09f7635a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmaps a block of process memory, starting from address 0x00100000. <a href="svc_8h.html#ab1e5db22e50e03cb4f14e46f09f7635a">More...</a><br /></td></tr>
<tr class="separator:ab1e5db22e50e03cb4f14e46f09f7635a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e796b6048ab85155160599ce9496142"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a1e796b6048ab85155160599ce9496142">svcUnmapMemoryBlock</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> memblock, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr)</td></tr>
<tr class="memdesc:a1e796b6048ab85155160599ce9496142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmaps a block of shared memory. <a href="svc_8h.html#a1e796b6048ab85155160599ce9496142">More...</a><br /></td></tr>
<tr class="separator:a1e796b6048ab85155160599ce9496142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9809212def892f6baf31c7cd6754ed02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a9809212def892f6baf31c7cd6754ed02">svcQueryMemory</a> (<a class="el" href="structMemInfo.html">MemInfo</a> *info, <a class="el" href="structPageInfo.html">PageInfo</a> *out, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr)</td></tr>
<tr class="memdesc:a9809212def892f6baf31c7cd6754ed02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queries memory information. <a href="svc_8h.html#a9809212def892f6baf31c7cd6754ed02">More...</a><br /></td></tr>
<tr class="separator:a9809212def892f6baf31c7cd6754ed02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9dc250e97f58dca935bcee31549f3e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aa9dc250e97f58dca935bcee31549f3e7">svcQueryProcessMemory</a> (<a class="el" href="structMemInfo.html">MemInfo</a> *info, <a class="el" href="structPageInfo.html">PageInfo</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr)</td></tr>
<tr class="memdesc:aa9dc250e97f58dca935bcee31549f3e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queries process memory information. <a href="svc_8h.html#aa9dc250e97f58dca935bcee31549f3e7">More...</a><br /></td></tr>
<tr class="separator:aa9dc250e97f58dca935bcee31549f3e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Multithreading</h2></td></tr>
<tr class="memitem:a848b6094dcf31bfb0fa5cc999348c2d4"><td class="memItemLeft" align="right" valign="top"><a id="a848b6094dcf31bfb0fa5cc999348c2d4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a848b6094dcf31bfb0fa5cc999348c2d4">CUR_THREAD_HANDLE</a>&#160;&#160;&#160;0xFFFF8000</td></tr>
<tr class="memdesc:a848b6094dcf31bfb0fa5cc999348c2d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pseudo handle for the current thread. <br /></td></tr>
<tr class="separator:a848b6094dcf31bfb0fa5cc999348c2d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe6b9db49aa88865e1fff5e559f6fdf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf">ResetType</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa5e28681d7775d2a1fe89b4644ed8d57e">RESET_ONESHOT</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa09868fdada28ca7c71200f2996ced929">RESET_STICKY</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa7b810dd120f32f073cf6f36de294191e">RESET_PULSE</a> = 2
<br />
}</td></tr>
<tr class="memdesc:adfe6b9db49aa88865e1fff5e559f6fdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset types (for use with events and timers) <a href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf">More...</a><br /></td></tr>
<tr class="separator:adfe6b9db49aa88865e1fff5e559f6fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112aee8cca0c18b91f98d39db55c4807"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807">ThreadInfoType</a> { <a class="el" href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807a5e0a7120c0d6495acc852bc43a3ea851">THREADINFO_TYPE_UNKNOWN</a>
}</td></tr>
<tr class="memdesc:a112aee8cca0c18b91f98d39db55c4807"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types of thread info. <a href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807">More...</a><br /></td></tr>
<tr class="separator:a112aee8cca0c18b91f98d39db55c4807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac12c38db3ba780feb8540ed3cd0c780a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aae4775036f8b37b62df9dbb8614653bcd">RESLIMIT_PRIORITY</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa52c9772c9039e666d86e41b791c8802c">RESLIMIT_COMMIT</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aaccd534676d1d91de2401e7810de813fb">RESLIMIT_THREAD</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa80e01172679736fc55506de2383329af">RESLIMIT_EVENT</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aac32acf08c278fbb9c5d37cd5abaa15b8">RESLIMIT_MUTEX</a> = 4
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa33bf64fee360e49f019fc108a12b6869">RESLIMIT_SEMAPHORE</a> = 5
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa188b2b030f861dde3218e8736d8c7341">RESLIMIT_TIMER</a> = 6
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aad5c0584427164249900e2957c020c7b9">RESLIMIT_SHAREDMEMORY</a> = 7
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aab702ae213a302c7ae032dccd116a5d35">RESLIMIT_ADDRESSARBITER</a> = 8
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa3aab1b0ef50ad3e6ea1ab9118f976c2b">RESLIMIT_CPUTIME</a> = 9
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa81bcdab92bd58b56bf3b6096a3aaf1d4">RESLIMIT_BIT</a> = BIT(31)
<br />
}</td></tr>
<tr class="memdesc:ac12c38db3ba780feb8540ed3cd0c780a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types of resource limit. <a href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">More...</a><br /></td></tr>
<tr class="separator:ac12c38db3ba780feb8540ed3cd0c780a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f62a8f1822c6a78fab2e2cb03c46893"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3f62a8f1822c6a78fab2e2cb03c46893">svcCreateThread</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *thread, <a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a> entrypoint, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> arg, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *stack_top, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> thread_priority, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processor_id)</td></tr>
<tr class="memdesc:a3f62a8f1822c6a78fab2e2cb03c46893"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new thread. <a href="svc_8h.html#a3f62a8f1822c6a78fab2e2cb03c46893">More...</a><br /></td></tr>
<tr class="separator:a3f62a8f1822c6a78fab2e2cb03c46893"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aead5817ed16bb2e3f9dfe228dea2c81a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aead5817ed16bb2e3f9dfe228dea2c81a">svcOpenThread</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *thread, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> threadId)</td></tr>
<tr class="memdesc:aead5817ed16bb2e3f9dfe228dea2c81a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the handle of a thread. <a href="svc_8h.html#aead5817ed16bb2e3f9dfe228dea2c81a">More...</a><br /></td></tr>
<tr class="separator:aead5817ed16bb2e3f9dfe228dea2c81a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ddb0d1da1ee4e65a5d2408da6239921"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a2ddb0d1da1ee4e65a5d2408da6239921">svcExitThread</a> (void) <a class="el" href="rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154">__attribute__</a>((noreturn))</td></tr>
<tr class="memdesc:a2ddb0d1da1ee4e65a5d2408da6239921"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exits the current thread. <a href="svc_8h.html#a2ddb0d1da1ee4e65a5d2408da6239921">More...</a><br /></td></tr>
<tr class="separator:a2ddb0d1da1ee4e65a5d2408da6239921"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1fad9317c81076e1394a376ab27c720"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ae1fad9317c81076e1394a376ab27c720">svcSleepThread</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> ns)</td></tr>
<tr class="memdesc:ae1fad9317c81076e1394a376ab27c720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts the current thread to sleep. <a href="svc_8h.html#ae1fad9317c81076e1394a376ab27c720">More...</a><br /></td></tr>
<tr class="separator:ae1fad9317c81076e1394a376ab27c720"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a609c04e1cde0d5bd6a71acbed3ad7e54"><td class="memItemLeft" align="right" valign="top"><a id="a609c04e1cde0d5bd6a71acbed3ad7e54"></a>
<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a609c04e1cde0d5bd6a71acbed3ad7e54">svcGetThreadPriority</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:a609c04e1cde0d5bd6a71acbed3ad7e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the priority of a thread. <br /></td></tr>
<tr class="separator:a609c04e1cde0d5bd6a71acbed3ad7e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae50054f7b88b075eca23b05b92fb1582"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ae50054f7b88b075eca23b05b92fb1582">svcSetThreadPriority</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> prio)</td></tr>
<tr class="memdesc:ae50054f7b88b075eca23b05b92fb1582"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the priority of a thread. <a href="svc_8h.html#ae50054f7b88b075eca23b05b92fb1582">More...</a><br /></td></tr>
<tr class="separator:ae50054f7b88b075eca23b05b92fb1582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d259199317256bae13fe0600e52a7d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a4d259199317256bae13fe0600e52a7d3">svcGetThreadAffinityMask</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *affinitymask, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processorcount)</td></tr>
<tr class="memdesc:a4d259199317256bae13fe0600e52a7d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a thread's affinity mask. <a href="svc_8h.html#a4d259199317256bae13fe0600e52a7d3">More...</a><br /></td></tr>
<tr class="separator:a4d259199317256bae13fe0600e52a7d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c00a1577efa9e79fdfd5d301132467b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a7c00a1577efa9e79fdfd5d301132467b">svcSetThreadAffinityMask</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread, const <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *affinitymask, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processorcount)</td></tr>
<tr class="memdesc:a7c00a1577efa9e79fdfd5d301132467b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a thread's affinity mask. <a href="svc_8h.html#a7c00a1577efa9e79fdfd5d301132467b">More...</a><br /></td></tr>
<tr class="separator:a7c00a1577efa9e79fdfd5d301132467b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94bc1c06056b8c4d4cd7754f7a65fb34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a94bc1c06056b8c4d4cd7754f7a65fb34">svcGetThreadIdealProcessor</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *processorid, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread)</td></tr>
<tr class="memdesc:a94bc1c06056b8c4d4cd7754f7a65fb34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a thread's ideal processor. <a href="svc_8h.html#a94bc1c06056b8c4d4cd7754f7a65fb34">More...</a><br /></td></tr>
<tr class="separator:a94bc1c06056b8c4d4cd7754f7a65fb34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f42994fe420745b8d079d791441d42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ae4f42994fe420745b8d079d791441d42">svcSetThreadIdealProcessor</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> processorid)</td></tr>
<tr class="memdesc:ae4f42994fe420745b8d079d791441d42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a thread's ideal processor. <a href="svc_8h.html#ae4f42994fe420745b8d079d791441d42">More...</a><br /></td></tr>
<tr class="separator:ae4f42994fe420745b8d079d791441d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a336600ef3fd751a23440c8f3bd331904"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a336600ef3fd751a23440c8f3bd331904">svcGetProcessorID</a> (void)</td></tr>
<tr class="memdesc:a336600ef3fd751a23440c8f3bd331904"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ID of the processor the current thread is running on. <a href="svc_8h.html#a336600ef3fd751a23440c8f3bd331904">More...</a><br /></td></tr>
<tr class="separator:a336600ef3fd751a23440c8f3bd331904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa528da59a295ad8a09f951e1b52c658e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aa528da59a295ad8a09f951e1b52c658e">svcGetThreadId</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:aa528da59a295ad8a09f951e1b52c658e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the ID of a thread. <a href="svc_8h.html#aa528da59a295ad8a09f951e1b52c658e">More...</a><br /></td></tr>
<tr class="separator:aa528da59a295ad8a09f951e1b52c658e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a977a76e261890d9d989451e073c5bb7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a977a76e261890d9d989451e073c5bb7e">svcGetResourceLimit</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *resourceLimit, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process)</td></tr>
<tr class="memdesc:a977a76e261890d9d989451e073c5bb7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the resource limit set of a process. <a href="svc_8h.html#a977a76e261890d9d989451e073c5bb7e">More...</a><br /></td></tr>
<tr class="separator:a977a76e261890d9d989451e073c5bb7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a182a314d366e0dd25d5f7786fad9a1be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a182a314d366e0dd25d5f7786fad9a1be">svcGetResourceLimitLimitValues</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *values, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> resourceLimit, <a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a> *names, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> nameCount)</td></tr>
<tr class="memdesc:a182a314d366e0dd25d5f7786fad9a1be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value limits of a resource limit set. <a href="svc_8h.html#a182a314d366e0dd25d5f7786fad9a1be">More...</a><br /></td></tr>
<tr class="separator:a182a314d366e0dd25d5f7786fad9a1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a198fe17448c4cb82eb5ebe4eb3a893d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a198fe17448c4cb82eb5ebe4eb3a893d8">svcGetResourceLimitCurrentValues</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *values, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> resourceLimit, <a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a> *names, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> nameCount)</td></tr>
<tr class="memdesc:a198fe17448c4cb82eb5ebe4eb3a893d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the values of a resource limit set. <a href="svc_8h.html#a198fe17448c4cb82eb5ebe4eb3a893d8">More...</a><br /></td></tr>
<tr class="separator:a198fe17448c4cb82eb5ebe4eb3a893d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71a716eb986a0a9ef0e56ab0ffd2122e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a71a716eb986a0a9ef0e56ab0ffd2122e">svcSetProcessResourceLimits</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> resourceLimit)</td></tr>
<tr class="memdesc:a71a716eb986a0a9ef0e56ab0ffd2122e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the resource limit set of a process. <a href="svc_8h.html#a71a716eb986a0a9ef0e56ab0ffd2122e">More...</a><br /></td></tr>
<tr class="separator:a71a716eb986a0a9ef0e56ab0ffd2122e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe17c7bede51c7123fd0e07c3c12788a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#abe17c7bede51c7123fd0e07c3c12788a">svcCreateResourceLimit</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *resourceLimit)</td></tr>
<tr class="memdesc:abe17c7bede51c7123fd0e07c3c12788a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a resource limit set. <a href="svc_8h.html#abe17c7bede51c7123fd0e07c3c12788a">More...</a><br /></td></tr>
<tr class="separator:abe17c7bede51c7123fd0e07c3c12788a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f7ab132d9cc85cdff043a05fdd1fe34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a6f7ab132d9cc85cdff043a05fdd1fe34">svcSetResourceLimitValues</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> resourceLimit, const <a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a> *names, const <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *values, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> nameCount)</td></tr>
<tr class="memdesc:a6f7ab132d9cc85cdff043a05fdd1fe34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the value limits of a resource limit set. <a href="svc_8h.html#a6f7ab132d9cc85cdff043a05fdd1fe34">More...</a><br /></td></tr>
<tr class="separator:a6f7ab132d9cc85cdff043a05fdd1fe34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd17333e3949eaef28ccda04dc7db0f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#acd17333e3949eaef28ccda04dc7db0f7">svcGetProcessIdOfThread</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
<tr class="memdesc:acd17333e3949eaef28ccda04dc7db0f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the process ID of a thread. <a href="svc_8h.html#acd17333e3949eaef28ccda04dc7db0f7">More...</a><br /></td></tr>
<tr class="separator:acd17333e3949eaef28ccda04dc7db0f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eceb4a371c0293bf2ae5c4576cbe1de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a5eceb4a371c0293bf2ae5c4576cbe1de">svcGetThreadInfo</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> thread, <a class="el" href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807">ThreadInfoType</a> type)</td></tr>
<tr class="memdesc:a5eceb4a371c0293bf2ae5c4576cbe1de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a thread handle is valid. <a href="svc_8h.html#a5eceb4a371c0293bf2ae5c4576cbe1de">More...</a><br /></td></tr>
<tr class="separator:a5eceb4a371c0293bf2ae5c4576cbe1de"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Device drivers</h2></td></tr>
<tr class="memitem:a8adb9656d6ea50580adaf9c8e7d9eebf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebf">DmaState</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa4cfd2baa9583d9e77769f5df64de91cf">DMASTATE_STARTING</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa9ba0cef50f71f9aa4206a49ec23909c1">DMASTATE_WFP_DST</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa053576718864451c3aaee2cd88784570">DMASTATE_WFP_SRC</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfae44a8d9ac979aa20cd6851f8b2663291">DMASTATE_RUNNING</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfadbb15c5adf95a4a14ac003c55d8c76e9">DMASTATE_DONE</a> = 4
<br />
}</td></tr>
<tr class="memdesc:a8adb9656d6ea50580adaf9c8e7d9eebf"><td class="mdescLeft">&#160;</td><td class="mdescRight">DMA transfer state. <a href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebf">More...</a><br /></td></tr>
<tr class="separator:a8adb9656d6ea50580adaf9c8e7d9eebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad63240694c6dc2a28c24bfc2db90ad7a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aa367fac3881d4b71507ef5dedc1056daa">DMACFG_SRC_IS_DEVICE</a> = BIT(0)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aa8aaca715197bd1cb3677d4a5054475e4">DMACFG_DST_IS_DEVICE</a> = BIT(1)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aabca3d1ffd34e4da56caf2b4f605bab4b">DMACFG_WAIT_AVAILABLE</a> = BIT(2)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aaf5ab7887ce35d2081382ebcca6f244a7">DMACFG_KEEP_LOCKED</a> = BIT(3)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aa7e14b15bddd396c19222999d931c9c31">DMACFG_USE_SRC_CONFIG</a> = BIT(6)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aacec84f8191c71ebe4ee1fea21f6da313">DMACFG_USE_DST_CONFIG</a> = BIT(7)
<br />
}</td></tr>
<tr class="memdesc:ad63240694c6dc2a28c24bfc2db90ad7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration flags for <a class="el" href="structDmaConfig.html">DmaConfig</a>. <a href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7a">More...</a><br /></td></tr>
<tr class="separator:ad63240694c6dc2a28c24bfc2db90ad7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7859c0a3efa8b1c360f5c2376baf051e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="svc_8h.html#a7859c0a3efa8b1c360f5c2376baf051eae57d3f8a94c001e6d7d3bcf05cdd91f0">DMARST_UNLOCK</a> = BIT(0)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a7859c0a3efa8b1c360f5c2376baf051eafba2c004446b8bcc6c178cc2ebcc9320">DMARST_RESUME_DEVICE</a> = BIT(1)
<br />
}</td></tr>
<tr class="memdesc:a7859c0a3efa8b1c360f5c2376baf051e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration flags for <a class="el" href="svc_8h.html#aab7a1755c547a1ff2b9f2a6f45e57073">svcRestartDma</a>. <a href="svc_8h.html#a7859c0a3efa8b1c360f5c2376baf051e">More...</a><br /></td></tr>
<tr class="separator:a7859c0a3efa8b1c360f5c2376baf051e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af845bb532f3d83b20b5029bd4d913801"><td class="memItemLeft" align="right" valign="top"><a id="af845bb532f3d83b20b5029bd4d913801"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#af845bb532f3d83b20b5029bd4d913801">dmaDeviceConfigInitDefault</a> (<a class="el" href="structDmaDeviceConfig.html">DmaDeviceConfig</a> *cfg)</td></tr>
<tr class="memdesc:af845bb532f3d83b20b5029bd4d913801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the default DMA device config that the kernel uses when DMACFG_*_IS_DEVICE and DMACFG_*_USE_CFG are not set. <br /></td></tr>
<tr class="separator:af845bb532f3d83b20b5029bd4d913801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc49794f897fc07eaa97641b725f82a3"><td class="memItemLeft" align="right" valign="top"><a id="acc49794f897fc07eaa97641b725f82a3"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#acc49794f897fc07eaa97641b725f82a3">dmaConfigInitDefault</a> (<a class="el" href="structDmaConfig.html">DmaConfig</a> *cfg)</td></tr>
<tr class="memdesc:acc49794f897fc07eaa97641b725f82a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a <a class="el" href="structDmaConfig.html">DmaConfig</a> instance with sane defaults for RAM&lt;&gt;RAM tranfers. <br /></td></tr>
<tr class="separator:acc49794f897fc07eaa97641b725f82a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f8db0e990f91fa29d392986a3050a17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a2f8db0e990f91fa29d392986a3050a17">svcBindInterrupt</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> interruptId, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> eventOrSemaphore, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> priority, bool isManualClear)</td></tr>
<tr class="memdesc:a2f8db0e990f91fa29d392986a3050a17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds an event or semaphore handle to an ARM11 interrupt. <a href="svc_8h.html#a2f8db0e990f91fa29d392986a3050a17">More...</a><br /></td></tr>
<tr class="separator:a2f8db0e990f91fa29d392986a3050a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecce8ec0ae7a047d6df92e8dafd6e099"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aecce8ec0ae7a047d6df92e8dafd6e099">svcUnbindInterrupt</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> interruptId, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> eventOrSemaphore)</td></tr>
<tr class="memdesc:aecce8ec0ae7a047d6df92e8dafd6e099"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unbinds an event or semaphore handle from an ARM11 interrupt. <a href="svc_8h.html#aecce8ec0ae7a047d6df92e8dafd6e099">More...</a><br /></td></tr>
<tr class="separator:aecce8ec0ae7a047d6df92e8dafd6e099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8c9fee9e79ce2ef81585347f56f208e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ac8c9fee9e79ce2ef81585347f56f208e">svcInvalidateProcessDataCache</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
<tr class="memdesc:ac8c9fee9e79ce2ef81585347f56f208e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates a process's data cache. <a href="svc_8h.html#ac8c9fee9e79ce2ef81585347f56f208e">More...</a><br /></td></tr>
<tr class="separator:ac8c9fee9e79ce2ef81585347f56f208e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab540f40958124e21d461ef4a423997f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ab540f40958124e21d461ef4a423997f8">svcStoreProcessDataCache</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
<tr class="memdesc:ab540f40958124e21d461ef4a423997f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cleans a process's data cache. <a href="svc_8h.html#ab540f40958124e21d461ef4a423997f8">More...</a><br /></td></tr>
<tr class="separator:ab540f40958124e21d461ef4a423997f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af82f17b3c13ab9cd97dff78721d24d0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#af82f17b3c13ab9cd97dff78721d24d0d">svcFlushProcessDataCache</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> process, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
<tr class="memdesc:af82f17b3c13ab9cd97dff78721d24d0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes (cleans and invalidates) a process's data cache. <a href="svc_8h.html#af82f17b3c13ab9cd97dff78721d24d0d">More...</a><br /></td></tr>
<tr class="separator:af82f17b3c13ab9cd97dff78721d24d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8008fc36f898e4e2def32627cb96b47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#af8008fc36f898e4e2def32627cb96b47">svcStartInterProcessDma</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *dma, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> dstProcess, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> dstAddr, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> srcProcess, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> srcAddr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, const <a class="el" href="structDmaConfig.html">DmaConfig</a> *cfg)</td></tr>
<tr class="memdesc:af8008fc36f898e4e2def32627cb96b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begins an inter-process DMA transfer. <a href="svc_8h.html#af8008fc36f898e4e2def32627cb96b47">More...</a><br /></td></tr>
<tr class="separator:af8008fc36f898e4e2def32627cb96b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac827a6c2a3d84f484463f3206e688e01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ac827a6c2a3d84f484463f3206e688e01">svcStopDma</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> dma)</td></tr>
<tr class="memdesc:ac827a6c2a3d84f484463f3206e688e01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops an inter-process DMA transfer. <a href="svc_8h.html#ac827a6c2a3d84f484463f3206e688e01">More...</a><br /></td></tr>
<tr class="separator:ac827a6c2a3d84f484463f3206e688e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb244db47f6810fb782b5331c83c52ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#afb244db47f6810fb782b5331c83c52ea">svcGetDmaState</a> (<a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebf">DmaState</a> *state, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> dma)</td></tr>
<tr class="memdesc:afb244db47f6810fb782b5331c83c52ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the state of an inter-process DMA transfer. <a href="svc_8h.html#afb244db47f6810fb782b5331c83c52ea">More...</a><br /></td></tr>
<tr class="separator:afb244db47f6810fb782b5331c83c52ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab7a1755c547a1ff2b9f2a6f45e57073"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aab7a1755c547a1ff2b9f2a6f45e57073">svcRestartDma</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> dma, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> dstAddr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> srcAddr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="el" href="types_8h.html#a9e382f207c65ca13ab4ae98363aeda80">s8</a> flags)</td></tr>
<tr class="memdesc:aab7a1755c547a1ff2b9f2a6f45e57073"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restarts a DMA transfer, using the same configuration as before. <a href="svc_8h.html#aab7a1755c547a1ff2b9f2a6f45e57073">More...</a><br /></td></tr>
<tr class="separator:aab7a1755c547a1ff2b9f2a6f45e57073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73d737b48868304a3e144abc6f73ec8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a73d737b48868304a3e144abc6f73ec8f">svcSetGpuProt</a> (bool useApplicationRestriction)</td></tr>
<tr class="memdesc:a73d737b48868304a3e144abc6f73ec8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the GPU protection register to restrict the range of the GPU DMA. <a href="svc_8h.html#a73d737b48868304a3e144abc6f73ec8f">More...</a><br /></td></tr>
<tr class="separator:a73d737b48868304a3e144abc6f73ec8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a7ca823accc7d580ae25fe385322bbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a5a7ca823accc7d580ae25fe385322bbb">svcSetWifiEnabled</a> (bool enabled)</td></tr>
<tr class="memdesc:a5a7ca823accc7d580ae25fe385322bbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables Wi-Fi. <a href="svc_8h.html#a5a7ca823accc7d580ae25fe385322bbb">More...</a><br /></td></tr>
<tr class="separator:a5a7ca823accc7d580ae25fe385322bbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Debugging</h2></td></tr>
<tr class="memitem:a32f1a799d8ed99f3c52be42141396084"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084">PerfCounterOperation</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a459599575a462e0e95444335d06e15e9">PERFCOUNTEROP_ENABLE</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084ac4ed24fde8e2c67d1c6893e78ccbe73e">PERFCOUNTEROP_DISABLE</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084ad74be58d4d109f73497a2b7187b6de75">PERFCOUNTEROP_GET_VALUE</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8bf947d1af73e26fef6ad2682bc2ba9a">PERFCOUNTEROP_SET_VALUE</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084aa200abb919c37b196f1f3fd474b52658">PERFCOUNTEROP_GET_OVERFLOW_FLAGS</a> = 4
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084af56848a9adfc24df081e54d97b313912">PERFCOUNTEROP_RESET</a> = 5
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8c6f75508fbc8f1b9024a9d456dc191d">PERFCOUNTEROP_GET_EVENT</a> = 6
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a0f31b33961d1fb6f10b0f26aae56ea51">PERFCOUNTEROP_SET_EVENT</a> = 7
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a5a97513b29876bee7af1770af3066122">PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED</a> = 8
<br />
}</td></tr>
<tr class="memdesc:a32f1a799d8ed99f3c52be42141396084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operations for <a class="el" href="svc_8h.html#a5b138754e8e2aa48326c4271eae7d6ba">svcControlPerformanceCounter</a>. <a href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084">More...</a><br /></td></tr>
<tr class="separator:a32f1a799d8ed99f3c52be42141396084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af19b39931820deecca7704fe82695c25"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a> { <br />
&#160;&#160;<b>PERFCOUNTERREG_CORE_BASE</b> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25ad766b5a7dbfc2146f20e1b05bec28abf">PERFCOUNTERREG_CORE_COUNT_REG_0</a> = PERFCOUNTERREG_CORE_BASE
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a2df47c626c6f922950c421b9b9dc25f7">PERFCOUNTERREG_CORE_COUNT_REG_1</a>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a21629d5ab07c1422ecbb559d4a11f46c">PERFCOUNTERREG_CORE_CYCLE_COUNTER</a>
, <br />
&#160;&#160;<b>PERFCOUNTERREG_SCU_BASE</b> = 0x10
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a9efbd9753e6db0e05ed3530cedb02c7e">PERFCOUNTERREG_SCU_0</a> = PERFCOUNTERREG_SCU_BASE
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a8cd0cf2d5df85b29d57a4e59b08b6c54">PERFCOUNTERREG_SCU_1</a>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a928354e899519d64cc2158bf6fed3fd2">PERFCOUNTERREG_SCU_2</a>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a7a7051dae3b036b43e26c73166263748">PERFCOUNTERREG_SCU_3</a>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25ae23cdfca904749e817efa2171e7f98a9">PERFCOUNTERREG_SCU_4</a>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a7f13355747739b775648ee8802facf91">PERFCOUNTERREG_SCU_5</a>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a5dec0a4112ca52e49f81390da99ccf6f">PERFCOUNTERREG_SCU_6</a>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25a5871f8bc09de26839e6b75b81b677481">PERFCOUNTERREG_SCU_7</a>
<br />
}</td></tr>
<tr class="memdesc:af19b39931820deecca7704fe82695c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performance counter register IDs (CP15 and SCU). <a href="svc_8h.html#af19b39931820deecca7704fe82695c25">More...</a><br /></td></tr>
<tr class="separator:af19b39931820deecca7704fe82695c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6604864f5e881a7ec7ad67737b936db2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a6604864f5e881a7ec7ad67737b936db2">PerfCounterEvent</a> { <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_BASE</b> = 0x0
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_INST_CACHE_MISS</b> = PERFCOUNTEREVT_CORE_BASE
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_STALL_BY_LACK_OF_INST</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_STALL_BY_DATA_HAZARD</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_INST_MICRO_TLB_MISS</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_DATA_MICRO_TLB_MISS</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_BRANCH_INST</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_BRANCH_NOT_PREDICTED</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_BRANCH_MISS_PREDICTED</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_INST_EXECUTED</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_FOLDED_INST_EXECUTED</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_DATA_CACHE_READ</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_DATA_CACHE_READ_MISS</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_DATA_CACHE_WRITE</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_DATA_CACHE_WRITE_MISS</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_DATA_CACHE_LINE_EVICTION</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_PC_CHANGED</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_MAIN_TLB_MISS</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_EXTERNAL_REQUEST</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_STALL_BY_LSU_FULL</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_STORE_BUFFER_DRAIN</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_CORE_MERGE_IN_STORE_BUFFER</b>
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a6604864f5e881a7ec7ad67737b936db2a413cb88f85b5e31e3cfd63f85317d364">PERFCOUNTEREVT_CORE_CYCLE_COUNT</a> = PERFCOUNTEREVT_CORE_BASE + 0xFF
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a6604864f5e881a7ec7ad67737b936db2a666c6779ce705be7fe8bbb9996531577">PERFCOUNTEREVT_CORE_CYCLE_COUNT_64</a> = PERFCOUNTEREVT_CORE_BASE + 0xFFF
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_BASE</b> = 0x1000
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_DISABLED</b> = PERFCOUNTEREVT_SCU_BASE
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE0</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE1</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE2</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE3</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE0</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE1</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE2</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE3</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE0</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE1</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE2</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE3</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_LINE_MIGRATION</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_READ_BUSY_PORT0</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_READ_BUSY_PORT1</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_WRITE_BUSY_PORT0</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_WRITE_BUSY_PORT1</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_EXTERNAL_READ</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_EXTERNAL_WRITE</b>
, <br />
&#160;&#160;<b>PERFCOUNTEREVT_SCU_CYCLE_COUNT</b> = PERFCOUNTEREVT_SCU_BASE + 0x1F
<br />
}</td></tr>
<tr class="memdesc:a6604864f5e881a7ec7ad67737b936db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performance counter event IDs (CP15 or SCU). <a href="svc_8h.html#a6604864f5e881a7ec7ad67737b936db2">More...</a><br /></td></tr>
<tr class="separator:a6604864f5e881a7ec7ad67737b936db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e62624dcd35d5795b6f1c99933c576f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a2e62624dcd35d5795b6f1c99933c576f">ExitProcessEventReason</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a2e62624dcd35d5795b6f1c99933c576faccb26b6a0c89e63f867c8882b65f7d57">EXITPROCESS_EVENT_EXIT</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a2e62624dcd35d5795b6f1c99933c576faefc8659c329768612032ddd127a1eade">EXITPROCESS_EVENT_TERMINATE</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a2e62624dcd35d5795b6f1c99933c576fa16ce26136f8806a56dc5419954a53010">EXITPROCESS_EVENT_DEBUG_TERMINATE</a> = 2
<br />
}</td></tr>
<tr class="memdesc:a2e62624dcd35d5795b6f1c99933c576f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reasons for an exit process event. <a href="svc_8h.html#a2e62624dcd35d5795b6f1c99933c576f">More...</a><br /></td></tr>
<tr class="separator:a2e62624dcd35d5795b6f1c99933c576f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ab9649e4a4445bcf8cba73119895ab9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9">ExitThreadEventReason</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9af6e122c684d430dbf1e0154c9861da4f">EXITTHREAD_EVENT_EXIT</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9ad91d858c68b3f94b62fe4d275f9e9bf5">EXITTHREAD_EVENT_TERMINATE</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9a2d99741dd3861d2c2cc0ad3de081151b">EXITTHREAD_EVENT_EXIT_PROCESS</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9ac862b5b2c7d0efb53e0f3143c7601ea4">EXITTHREAD_EVENT_TERMINATE_PROCESS</a> = 3
<br />
}</td></tr>
<tr class="memdesc:a9ab9649e4a4445bcf8cba73119895ab9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reasons for an exit thread event. <a href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9">More...</a><br /></td></tr>
<tr class="separator:a9ab9649e4a4445bcf8cba73119895ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fff1d6b844aedbb1babaa23e0292a12"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12">UserBreakType</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a75d115aed8adc334b86762004550130e">USERBREAK_PANIC</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12ab8652e6cba764ad8b8b205981fa10a2d">USERBREAK_ASSERT</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a7989abf688e2db27610f1cdf30ddf553">USERBREAK_USER</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a218f8d14ce85ff686531587f41271b91">USERBREAK_LOAD_RO</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12ab82dbfb966f5522c2e5bfbdf1949d5a9">USERBREAK_UNLOAD_RO</a> = 4
<br />
}</td></tr>
<tr class="memdesc:a1fff1d6b844aedbb1babaa23e0292a12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reasons for a user break. <a href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12">More...</a><br /></td></tr>
<tr class="separator:a1fff1d6b844aedbb1babaa23e0292a12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad31e210a0f421d1ca7f5c55c7110f961"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961">ExceptionEventType</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a93595971d3fb771d02e6aed6512af6e9">EXCEVENT_UNDEFINED_INSTRUCTION</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a8a8d6492fced221e5c4fafba19af8336">EXCEVENT_PREFETCH_ABORT</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961ad0388e2bb9502bf104eeae6d61d6178d">EXCEVENT_DATA_ABORT</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a395e456839766ff94e2ed7e62a4393a6">EXCEVENT_UNALIGNED_DATA_ACCESS</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a84e1ee736127c4a2fed63ba26f7f62de">EXCEVENT_ATTACH_BREAK</a> = 4
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961ade5c633f2939b0c6847bf00eb191e09d">EXCEVENT_STOP_POINT</a> = 5
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a2675f2c2f8166cebd857bf45bf200380">EXCEVENT_USER_BREAK</a> = 6
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a5447fb68701a56078c86d7c11825d4b6">EXCEVENT_DEBUGGER_BREAK</a> = 7
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a069cc910b91b81ad647d57eda968d6f0">EXCEVENT_UNDEFINED_SYSCALL</a> = 8
<br />
}</td></tr>
<tr class="memdesc:ad31e210a0f421d1ca7f5c55c7110f961"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reasons for an exception event. <a href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961">More...</a><br /></td></tr>
<tr class="separator:ad31e210a0f421d1ca7f5c55c7110f961"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41645e97dc3a37acd97b0f0f13be76e9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9">StopPointType</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9af2bda711cb2e87898ee01c75aa6eb461">STOPPOINT_SVC_FF</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9ab0418158fb52e5f649f8695a747620b9">STOPPOINT_BREAKPOINT</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9ae012399e05b534e04b300fdc210debdd">STOPPOINT_WATCHPOINT</a> = 2
<br />
}</td></tr>
<tr class="memdesc:a41645e97dc3a37acd97b0f0f13be76e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop point types. <a href="svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9">More...</a><br /></td></tr>
<tr class="separator:a41645e97dc3a37acd97b0f0f13be76e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1fabb8a9dfe0eca4fdd8502dbfa0754"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754">DebugEventType</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754ac0a513ef6cb7b18b882ca3b4484be376">DBGEVENT_ATTACH_PROCESS</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754ab39b8b0c362f20d8f3b6a789684ad382">DBGEVENT_ATTACH_THREAD</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754acec82ab612fb6a61454e6acf13d9535d">DBGEVENT_EXIT_THREAD</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a2635a9230834ce193ced7e11ad3d719a">DBGEVENT_EXIT_PROCESS</a> = 3
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a208e5e5396544ebdbca5c2683b496a3a">DBGEVENT_EXCEPTION</a> = 4
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754afa511c30bbe05ddaad3c96c2fe2237dc">DBGEVENT_DLL_LOAD</a> = 5
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a167c6fa74bcf640f56641a04983627f9">DBGEVENT_DLL_UNLOAD</a> = 6
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a07ea6a6fba8ff752c67e2c00425d3ac8">DBGEVENT_SCHEDULE_IN</a> = 7
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a62cf6b93175e700b82259c66273eb0b3">DBGEVENT_SCHEDULE_OUT</a> = 8
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a5357e98f2337ea80ce759ca8ad26bc03">DBGEVENT_SYSCALL_IN</a> = 9
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a61a1fa34dc49e06bc7e2d5941fdf2614">DBGEVENT_SYSCALL_OUT</a> = 10
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754abee1dd8bd40f035cdb41dd2f8c4ad11c">DBGEVENT_OUTPUT_STRING</a> = 11
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a63a5ec76f06ef716a8ba8b1ab9c0e5de">DBGEVENT_MAP</a> = 12
<br />
}</td></tr>
<tr class="memdesc:ab1fabb8a9dfe0eca4fdd8502dbfa0754"><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug event type. <a href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754">More...</a><br /></td></tr>
<tr class="separator:ab1fabb8a9dfe0eca4fdd8502dbfa0754"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83538f74b19d2e9f22e2630c77d54a10"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10">DebugFlags</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a829566e4baa8029d6ae3ff75ab847966">DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS</a> = BIT(0)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a684e18527dea1cd28cc7cd31a1b72c6d">DBG_SIGNAL_FAULT_EXCEPTION_EVENTS</a> = BIT(1)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a0870552809a38121a3f9f8bfac2a7ab5">DBG_SIGNAL_SCHEDULE_EVENTS</a> = BIT(2)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a54c6d15e4546cac787bfe3fd7511d7c9">DBG_SIGNAL_SYSCALL_EVENTS</a> = BIT(3)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a4e4de28dc35f3748319a155b3a5e561c">DBG_SIGNAL_MAP_EVENTS</a> = BIT(4)
<br />
}</td></tr>
<tr class="memdesc:a83538f74b19d2e9f22e2630c77d54a10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug flags for an attached process, set by <a class="el" href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">svcContinueDebugEvent</a>. <a href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10">More...</a><br /></td></tr>
<tr class="separator:a83538f74b19d2e9f22e2630c77d54a10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19ce0516fc6c9dc090735a831ab7a742"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae09b0f61029f9fdf0b4ea02c41fa13e5">THREADCONTEXT_CONTROL_CPU_GPRS</a> = BIT(0)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742aa8407752003ccddf5fc32867e67037cf">THREADCONTEXT_CONTROL_CPU_SPRS</a> = BIT(1)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a2d5de33762b476d2926b7cfb7f3be89b">THREADCONTEXT_CONTROL_FPU_GPRS</a> = BIT(2)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae68cca5d6bd39c7225566ae87c541f8e">THREADCONTEXT_CONTROL_FPU_SPRS</a> = BIT(3)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a313d7fc004fc7a953e10b08fccbd21ab">THREADCONTEXT_CONTROL_CPU_REGS</a> = BIT(0) | BIT(1)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae77e6ad949115f805c2a35ba85cce3f9">THREADCONTEXT_CONTROL_FPU_REGS</a> = BIT(2) | BIT(3)
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a03849f12becc677a30246a307c3b9670">THREADCONTEXT_CONTROL_ALL</a> = BIT(0) | BIT(1) | BIT(2) | BIT(3)
<br />
}</td></tr>
<tr class="memdesc:a19ce0516fc6c9dc090735a831ab7a742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control flags for <a class="el" href="svc_8h.html#a45d96608f9a397c81e8a254d8948f5c5">svcGetDebugThreadContext</a> and <a class="el" href="svc_8h.html#aec567b6e8ea8fe1ac41ac1fe117a6345">svcSetDebugThreadContext</a>. <a href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">More...</a><br /></td></tr>
<tr class="separator:a19ce0516fc6c9dc090735a831ab7a742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b0c49c519df71cc261f32f8bbede7e2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2">DebugThreadParameter</a> { <br />
&#160;&#160;<a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a97e8406ac167715321789f422a4d16c2">DBGTHREAD_PARAMETER_PRIORITY</a> = 0
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a2e0c36bd04e34f464fdc099160c2a07d">DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW</a> = 1
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a38a33d4f8a4da4fce35bafdeaa43deb7">DBGTHREAD_PARAMETER_CPU_IDEAL</a> = 2
, <br />
&#160;&#160;<a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a4edc8a76257320fcebd0176a9a05bf6d">DBGTHREAD_PARAMETER_CPU_CREATOR</a> = 3
<br />
}</td></tr>
<tr class="memdesc:a3b0c49c519df71cc261f32f8bbede7e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread parameter field for svcGetDebugThreadParameter. <a href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2">More...</a><br /></td></tr>
<tr class="separator:a3b0c49c519df71cc261f32f8bbede7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71559e1c5662a82ac2b83bd6c5c8234c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a71559e1c5662a82ac2b83bd6c5c8234c">svcBreak</a> (<a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12">UserBreakType</a> breakReason)</td></tr>
<tr class="memdesc:a71559e1c5662a82ac2b83bd6c5c8234c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Breaks execution. <a href="svc_8h.html#a71559e1c5662a82ac2b83bd6c5c8234c">More...</a><br /></td></tr>
<tr class="separator:a71559e1c5662a82ac2b83bd6c5c8234c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68c4f6fd3748a647851724b2c7f6e6f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a68c4f6fd3748a647851724b2c7f6e6f3">svcBreakRO</a> (<a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12">UserBreakType</a> breakReason, const void *croInfo, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> croInfoSize) __asm__(&quot;svcBreak&quot;)</td></tr>
<tr class="memdesc:a68c4f6fd3748a647851724b2c7f6e6f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Breaks execution (LOAD_RO and UNLOAD_RO). <a href="svc_8h.html#a68c4f6fd3748a647851724b2c7f6e6f3">More...</a><br /></td></tr>
<tr class="separator:a68c4f6fd3748a647851724b2c7f6e6f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1deb19f13c53015347aa5c8785fe612e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a1deb19f13c53015347aa5c8785fe612e">svcOutputDebugString</a> (const char *str, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> length)</td></tr>
<tr class="memdesc:a1deb19f13c53015347aa5c8785fe612e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a debug string. <a href="svc_8h.html#a1deb19f13c53015347aa5c8785fe612e">More...</a><br /></td></tr>
<tr class="separator:a1deb19f13c53015347aa5c8785fe612e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b138754e8e2aa48326c4271eae7d6ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a5b138754e8e2aa48326c4271eae7d6ba">svcControlPerformanceCounter</a> (<a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *out, <a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084">PerfCounterOperation</a> op, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> param1, <a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> param2)</td></tr>
<tr class="memdesc:a5b138754e8e2aa48326c4271eae7d6ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls performance monitoring on the CP15 interface and the SCU. <a href="svc_8h.html#a5b138754e8e2aa48326c4271eae7d6ba">More...</a><br /></td></tr>
<tr class="separator:a5b138754e8e2aa48326c4271eae7d6ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fb595bace1a8798b73437b7b4ee5212"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a1fb595bace1a8798b73437b7b4ee5212">svcDebugActiveProcess</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *debug, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> processId)</td></tr>
<tr class="memdesc:a1fb595bace1a8798b73437b7b4ee5212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a debug handle for an active process. <a href="svc_8h.html#a1fb595bace1a8798b73437b7b4ee5212">More...</a><br /></td></tr>
<tr class="separator:a1fb595bace1a8798b73437b7b4ee5212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9609f301ffe5836bc68a8f73fece12b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4">svcBreakDebugProcess</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug)</td></tr>
<tr class="memdesc:a9609f301ffe5836bc68a8f73fece12b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Breaks a debugged process. <a href="svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4">More...</a><br /></td></tr>
<tr class="separator:a9609f301ffe5836bc68a8f73fece12b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea161e7c96b51fd4db42a168f678d413"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aea161e7c96b51fd4db42a168f678d413">svcTerminateDebugProcess</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug)</td></tr>
<tr class="memdesc:aea161e7c96b51fd4db42a168f678d413"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates a debugged process. <a href="svc_8h.html#aea161e7c96b51fd4db42a168f678d413">More...</a><br /></td></tr>
<tr class="separator:aea161e7c96b51fd4db42a168f678d413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43be244fb71321c8101547a20b65693"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ae43be244fb71321c8101547a20b65693">svcGetProcessDebugEvent</a> (<a class="el" href="structDebugEventInfo.html">DebugEventInfo</a> *info, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug)</td></tr>
<tr class="memdesc:ae43be244fb71321c8101547a20b65693"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current debug event of a debugged process. <a href="svc_8h.html#ae43be244fb71321c8101547a20b65693">More...</a><br /></td></tr>
<tr class="separator:ae43be244fb71321c8101547a20b65693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6afb068c84788f20213bb66c55d7a343"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">svcContinueDebugEvent</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10">DebugFlags</a> flags)</td></tr>
<tr class="memdesc:a6afb068c84788f20213bb66c55d7a343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Continues the current debug event of a debugged process (not necessarily the same as <a class="el" href="svc_8h.html#ae43be244fb71321c8101547a20b65693">svcGetProcessDebugEvent</a>). <a href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">More...</a><br /></td></tr>
<tr class="separator:a6afb068c84788f20213bb66c55d7a343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45d96608f9a397c81e8a254d8948f5c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a45d96608f9a397c81e8a254d8948f5c5">svcGetDebugThreadContext</a> (<a class="el" href="structThreadContext.html">ThreadContext</a> *context, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> threadId, <a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a> controlFlags)</td></tr>
<tr class="memdesc:a45d96608f9a397c81e8a254d8948f5c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetches the saved registers of a thread, either inactive or awaiting <a class="el" href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">svcContinueDebugEvent</a>, belonging to a debugged process. <a href="svc_8h.html#a45d96608f9a397c81e8a254d8948f5c5">More...</a><br /></td></tr>
<tr class="separator:a45d96608f9a397c81e8a254d8948f5c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec567b6e8ea8fe1ac41ac1fe117a6345"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#aec567b6e8ea8fe1ac41ac1fe117a6345">svcSetDebugThreadContext</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> threadId, <a class="el" href="structThreadContext.html">ThreadContext</a> *context, <a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a> controlFlags)</td></tr>
<tr class="memdesc:aec567b6e8ea8fe1ac41ac1fe117a6345"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the saved registers of a thread, either inactive or awaiting <a class="el" href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">svcContinueDebugEvent</a>, belonging to a debugged process. <a href="svc_8h.html#aec567b6e8ea8fe1ac41ac1fe117a6345">More...</a><br /></td></tr>
<tr class="separator:aec567b6e8ea8fe1ac41ac1fe117a6345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a701306ea4d920baf3243f0fe7139fb9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a701306ea4d920baf3243f0fe7139fb9f">svcQueryDebugProcessMemory</a> (<a class="el" href="structMemInfo.html">MemInfo</a> *info, <a class="el" href="structPageInfo.html">PageInfo</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr)</td></tr>
<tr class="memdesc:a701306ea4d920baf3243f0fe7139fb9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queries memory information of a debugged process. <a href="svc_8h.html#a701306ea4d920baf3243f0fe7139fb9f">More...</a><br /></td></tr>
<tr class="separator:a701306ea4d920baf3243f0fe7139fb9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d5848ed471a047cd3298615c4c49f6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a7d5848ed471a047cd3298615c4c49f6c">svcReadProcessMemory</a> (void *buffer, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
<tr class="memdesc:a7d5848ed471a047cd3298615c4c49f6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads from a debugged process's memory. <a href="svc_8h.html#a7d5848ed471a047cd3298615c4c49f6c">More...</a><br /></td></tr>
<tr class="separator:a7d5848ed471a047cd3298615c4c49f6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a141d92c97fb3f2565c657dd721e1e30c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#a141d92c97fb3f2565c657dd721e1e30c">svcWriteProcessMemory</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, const void *buffer, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> addr, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
<tr class="memdesc:a141d92c97fb3f2565c657dd721e1e30c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to a debugged process's memory. <a href="svc_8h.html#a141d92c97fb3f2565c657dd721e1e30c">More...</a><br /></td></tr>
<tr class="separator:a141d92c97fb3f2565c657dd721e1e30c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab31e6106eb7e5f4b7ef62cca1054e83f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ab31e6106eb7e5f4b7ef62cca1054e83f">svcSetHardwareBreakPoint</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> registerId, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> control, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> value)</td></tr>
<tr class="memdesc:ab31e6106eb7e5f4b7ef62cca1054e83f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets an hardware breakpoint or watchpoint. <a href="svc_8h.html#ab31e6106eb7e5f4b7ef62cca1054e83f">More...</a><br /></td></tr>
<tr class="separator:ab31e6106eb7e5f4b7ef62cca1054e83f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9dcfc6cb021384b48ccc7e5275bfc4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svc_8h.html#ad9dcfc6cb021384b48ccc7e5275bfc4b">svcGetDebugThreadParam</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *unused, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *out, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> debug, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> threadId, <a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2">DebugThreadParameter</a> parameter)</td></tr>
<tr class="memdesc:ad9dcfc6cb021384b48ccc7e5275bfc4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a debugged thread's parameter. <a href="svc_8h.html#ad9dcfc6cb021384b48ccc7e5275bfc4b">More...</a><br /></td></tr>
<tr class="separator:ad9dcfc6cb021384b48ccc7e5275bfc4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Syscall wrappers. </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ad63240694c6dc2a28c24bfc2db90ad7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad63240694c6dc2a28c24bfc2db90ad7a">&#9670;&nbsp;</a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Configuration flags for <a class="el" href="structDmaConfig.html">DmaConfig</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad63240694c6dc2a28c24bfc2db90ad7aa367fac3881d4b71507ef5dedc1056daa"></a>DMACFG_SRC_IS_DEVICE&#160;</td><td class="fielddoc"><p>DMA source is a device/peripheral. Address will not auto-increment. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad63240694c6dc2a28c24bfc2db90ad7aa8aaca715197bd1cb3677d4a5054475e4"></a>DMACFG_DST_IS_DEVICE&#160;</td><td class="fielddoc"><p>DMA destination is a device/peripheral. Address will not auto-increment. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad63240694c6dc2a28c24bfc2db90ad7aabca3d1ffd34e4da56caf2b4f605bab4b"></a>DMACFG_WAIT_AVAILABLE&#160;</td><td class="fielddoc"><p>Make <a class="el" href="svc_8h.html#af8008fc36f898e4e2def32627cb96b47">svcStartInterProcessDma</a> wait for the channel to be unlocked. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad63240694c6dc2a28c24bfc2db90ad7aaf5ab7887ce35d2081382ebcca6f244a7"></a>DMACFG_KEEP_LOCKED&#160;</td><td class="fielddoc"><p>Keep the channel locked after the transfer. Required for <a class="el" href="svc_8h.html#aab7a1755c547a1ff2b9f2a6f45e57073">svcRestartDma</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad63240694c6dc2a28c24bfc2db90ad7aa7e14b15bddd396c19222999d931c9c31"></a>DMACFG_USE_SRC_CONFIG&#160;</td><td class="fielddoc"><p>Use the provided source device configuration even if the DMA source is not a device. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad63240694c6dc2a28c24bfc2db90ad7aacec84f8191c71ebe4ee1fea21f6da313"></a>DMACFG_USE_DST_CONFIG&#160;</td><td class="fielddoc"><p>Use the provided destination device configuration even if the DMA destination is not a device. </p>
</td></tr>
</table>
</div>
</div>
<a id="a7859c0a3efa8b1c360f5c2376baf051e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7859c0a3efa8b1c360f5c2376baf051e">&#9670;&nbsp;</a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Configuration flags for <a class="el" href="svc_8h.html#aab7a1755c547a1ff2b9f2a6f45e57073">svcRestartDma</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7859c0a3efa8b1c360f5c2376baf051eae57d3f8a94c001e6d7d3bcf05cdd91f0"></a>DMARST_UNLOCK&#160;</td><td class="fielddoc"><p>Unlock the channel after transfer. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7859c0a3efa8b1c360f5c2376baf051eafba2c004446b8bcc6c178cc2ebcc9320"></a>DMARST_RESUME_DEVICE&#160;</td><td class="fielddoc"><p>Replace DMAFLUSHP instructions by NOP (they may not be regenerated even if this flag is not set). </p>
</td></tr>
</table>
</div>
</div>
<a id="a00f5b708129ef172b59197a775b533ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00f5b708129ef172b59197a775b533ec">&#9670;&nbsp;</a></span>ArbitrationType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Arbitration modes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a00f5b708129ef172b59197a775b533eca503fb7656e3429195054786b8779cbd6"></a>ARBITRATION_SIGNAL&#160;</td><td class="fielddoc"><p>Signal #value threads for wake-up. </p>
</td></tr>
<tr><td class="fieldname"><a id="a00f5b708129ef172b59197a775b533eca9416744f50ce5abc375c88692271c751"></a>ARBITRATION_WAIT_IF_LESS_THAN&#160;</td><td class="fielddoc"><p>If the memory at the address is strictly lower than #value, then wait for signal. </p>
</td></tr>
<tr><td class="fieldname"><a id="a00f5b708129ef172b59197a775b533eca551c32ebca2151dc1fed5450d458433f"></a>ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN&#160;</td><td class="fielddoc"><p>If the memory at the address is strictly lower than #value, then decrement it and wait for signal. </p>
</td></tr>
<tr><td class="fieldname"><a id="a00f5b708129ef172b59197a775b533ecafe6754c50fcd095096605d9587188970"></a>ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT&#160;</td><td class="fielddoc"><p>If the memory at the address is strictly lower than #value, then wait for signal or timeout. </p>
</td></tr>
<tr><td class="fieldname"><a id="a00f5b708129ef172b59197a775b533ecab503e618303a55b029bda8eef14776e9"></a>ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT&#160;</td><td class="fielddoc"><p>If the memory at the address is strictly lower than #value, then decrement it and wait for signal or timeout. </p>
</td></tr>
</table>
</div>
</div>
<a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1fabb8a9dfe0eca4fdd8502dbfa0754">&#9670;&nbsp;</a></span>DebugEventType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754">DebugEventType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Debug event type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754ac0a513ef6cb7b18b882ca3b4484be376"></a>DBGEVENT_ATTACH_PROCESS&#160;</td><td class="fielddoc"><p>Process attached event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754ab39b8b0c362f20d8f3b6a789684ad382"></a>DBGEVENT_ATTACH_THREAD&#160;</td><td class="fielddoc"><p>Thread attached event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754acec82ab612fb6a61454e6acf13d9535d"></a>DBGEVENT_EXIT_THREAD&#160;</td><td class="fielddoc"><p>Thread exit event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a2635a9230834ce193ced7e11ad3d719a"></a>DBGEVENT_EXIT_PROCESS&#160;</td><td class="fielddoc"><p>Process exit event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a208e5e5396544ebdbca5c2683b496a3a"></a>DBGEVENT_EXCEPTION&#160;</td><td class="fielddoc"><p>Exception event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754afa511c30bbe05ddaad3c96c2fe2237dc"></a>DBGEVENT_DLL_LOAD&#160;</td><td class="fielddoc"><p>DLL load event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a167c6fa74bcf640f56641a04983627f9"></a>DBGEVENT_DLL_UNLOAD&#160;</td><td class="fielddoc"><p>DLL unload event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a07ea6a6fba8ff752c67e2c00425d3ac8"></a>DBGEVENT_SCHEDULE_IN&#160;</td><td class="fielddoc"><p>Schedule in event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a62cf6b93175e700b82259c66273eb0b3"></a>DBGEVENT_SCHEDULE_OUT&#160;</td><td class="fielddoc"><p>Schedule out event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a5357e98f2337ea80ce759ca8ad26bc03"></a>DBGEVENT_SYSCALL_IN&#160;</td><td class="fielddoc"><p>Syscall in event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a61a1fa34dc49e06bc7e2d5941fdf2614"></a>DBGEVENT_SYSCALL_OUT&#160;</td><td class="fielddoc"><p>Syscall out event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754abee1dd8bd40f035cdb41dd2f8c4ad11c"></a>DBGEVENT_OUTPUT_STRING&#160;</td><td class="fielddoc"><p>Output string event. </p>
</td></tr>
<tr><td class="fieldname"><a id="ab1fabb8a9dfe0eca4fdd8502dbfa0754a63a5ec76f06ef716a8ba8b1ab9c0e5de"></a>DBGEVENT_MAP&#160;</td><td class="fielddoc"><p>Map event. </p>
</td></tr>
</table>
</div>
</div>
<a id="a83538f74b19d2e9f22e2630c77d54a10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83538f74b19d2e9f22e2630c77d54a10">&#9670;&nbsp;</a></span>DebugFlags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10">DebugFlags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Debug flags for an attached process, set by <a class="el" href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">svcContinueDebugEvent</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a83538f74b19d2e9f22e2630c77d54a10a829566e4baa8029d6ae3ff75ab847966"></a>DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS&#160;</td><td class="fielddoc"><p>Inhibit user-defined CPU exception handlers (including watchpoints and breakpoints, regardless of any <a class="el" href="svc_8h.html#ada13386ccb8cb809658a9878a9941a8b">svcKernelSetState</a> call). </p>
</td></tr>
<tr><td class="fieldname"><a id="a83538f74b19d2e9f22e2630c77d54a10a684e18527dea1cd28cc7cd31a1b72c6d"></a>DBG_SIGNAL_FAULT_EXCEPTION_EVENTS&#160;</td><td class="fielddoc"><p>Signal fault exception events. See <a class="el" href="structFaultExceptionEvent.html">FaultExceptionEvent</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="a83538f74b19d2e9f22e2630c77d54a10a0870552809a38121a3f9f8bfac2a7ab5"></a>DBG_SIGNAL_SCHEDULE_EVENTS&#160;</td><td class="fielddoc"><p>Signal schedule in/out events. See <a class="el" href="structScheduleInOutEvent.html">ScheduleInOutEvent</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="a83538f74b19d2e9f22e2630c77d54a10a54c6d15e4546cac787bfe3fd7511d7c9"></a>DBG_SIGNAL_SYSCALL_EVENTS&#160;</td><td class="fielddoc"><p>Signal syscall in/out events. See <a class="el" href="structSyscallInOutEvent.html">SyscallInOutEvent</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="a83538f74b19d2e9f22e2630c77d54a10a4e4de28dc35f3748319a155b3a5e561c"></a>DBG_SIGNAL_MAP_EVENTS&#160;</td><td class="fielddoc"><p>Signal map events. See <a class="el" href="structMapEvent.html">MapEvent</a>. </p>
</td></tr>
</table>
</div>
</div>
<a id="a3b0c49c519df71cc261f32f8bbede7e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b0c49c519df71cc261f32f8bbede7e2">&#9670;&nbsp;</a></span>DebugThreadParameter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2">DebugThreadParameter</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Thread parameter field for svcGetDebugThreadParameter. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3b0c49c519df71cc261f32f8bbede7e2a97e8406ac167715321789f422a4d16c2"></a>DBGTHREAD_PARAMETER_PRIORITY&#160;</td><td class="fielddoc"><p>Thread priority. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3b0c49c519df71cc261f32f8bbede7e2a2e0c36bd04e34f464fdc099160c2a07d"></a>DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW&#160;</td><td class="fielddoc"><p>Low scheduling mask. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3b0c49c519df71cc261f32f8bbede7e2a38a33d4f8a4da4fce35bafdeaa43deb7"></a>DBGTHREAD_PARAMETER_CPU_IDEAL&#160;</td><td class="fielddoc"><p>Ideal processor. </p>
</td></tr>
<tr><td class="fieldname"><a id="a3b0c49c519df71cc261f32f8bbede7e2a4edc8a76257320fcebd0176a9a05bf6d"></a>DBGTHREAD_PARAMETER_CPU_CREATOR&#160;</td><td class="fielddoc"><p>Processor that created the threod. </p>
</td></tr>
</table>
</div>
</div>
<a id="a8adb9656d6ea50580adaf9c8e7d9eebf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8adb9656d6ea50580adaf9c8e7d9eebf">&#9670;&nbsp;</a></span>DmaState</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebf">DmaState</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>DMA transfer state. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8adb9656d6ea50580adaf9c8e7d9eebfa4cfd2baa9583d9e77769f5df64de91cf"></a>DMASTATE_STARTING&#160;</td><td class="fielddoc"><p>DMA transfer involving at least one device is starting and has not reached DMAWFP yet. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8adb9656d6ea50580adaf9c8e7d9eebfa9ba0cef50f71f9aa4206a49ec23909c1"></a>DMASTATE_WFP_DST&#160;</td><td class="fielddoc"><p>DMA channel is in WFP state for the destination device (2nd loop iteration onwards). </p>
</td></tr>
<tr><td class="fieldname"><a id="a8adb9656d6ea50580adaf9c8e7d9eebfa053576718864451c3aaee2cd88784570"></a>DMASTATE_WFP_SRC&#160;</td><td class="fielddoc"><p>DMA channel is in WFP state for the source device (2nd loop iteration onwards). </p>
</td></tr>
<tr><td class="fieldname"><a id="a8adb9656d6ea50580adaf9c8e7d9eebfae44a8d9ac979aa20cd6851f8b2663291"></a>DMASTATE_RUNNING&#160;</td><td class="fielddoc"><p>DMA transfer is running. </p>
</td></tr>
<tr><td class="fieldname"><a id="a8adb9656d6ea50580adaf9c8e7d9eebfadbb15c5adf95a4a14ac003c55d8c76e9"></a>DMASTATE_DONE&#160;</td><td class="fielddoc"><p>DMA transfer is done. </p>
</td></tr>
</table>
</div>
</div>
<a id="ad31e210a0f421d1ca7f5c55c7110f961"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad31e210a0f421d1ca7f5c55c7110f961">&#9670;&nbsp;</a></span>ExceptionEventType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961">ExceptionEventType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reasons for an exception event. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961a93595971d3fb771d02e6aed6512af6e9"></a>EXCEVENT_UNDEFINED_INSTRUCTION&#160;</td><td class="fielddoc"><p>Undefined instruction. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961a8a8d6492fced221e5c4fafba19af8336"></a>EXCEVENT_PREFETCH_ABORT&#160;</td><td class="fielddoc"><p>Prefetch abort. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961ad0388e2bb9502bf104eeae6d61d6178d"></a>EXCEVENT_DATA_ABORT&#160;</td><td class="fielddoc"><p>Data abort (other than the below kind). </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961a395e456839766ff94e2ed7e62a4393a6"></a>EXCEVENT_UNALIGNED_DATA_ACCESS&#160;</td><td class="fielddoc"><p>Unaligned data access. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961a84e1ee736127c4a2fed63ba26f7f62de"></a>EXCEVENT_ATTACH_BREAK&#160;</td><td class="fielddoc"><p>Attached break. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961ade5c633f2939b0c6847bf00eb191e09d"></a>EXCEVENT_STOP_POINT&#160;</td><td class="fielddoc"><p>Stop point reached. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961a2675f2c2f8166cebd857bf45bf200380"></a>EXCEVENT_USER_BREAK&#160;</td><td class="fielddoc"><p>User break occurred. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961a5447fb68701a56078c86d7c11825d4b6"></a>EXCEVENT_DEBUGGER_BREAK&#160;</td><td class="fielddoc"><p>Debugger break occurred. </p>
</td></tr>
<tr><td class="fieldname"><a id="ad31e210a0f421d1ca7f5c55c7110f961a069cc910b91b81ad647d57eda968d6f0"></a>EXCEVENT_UNDEFINED_SYSCALL&#160;</td><td class="fielddoc"><p>Undefined syscall. </p>
</td></tr>
</table>
</div>
</div>
<a id="a2e62624dcd35d5795b6f1c99933c576f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e62624dcd35d5795b6f1c99933c576f">&#9670;&nbsp;</a></span>ExitProcessEventReason</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a2e62624dcd35d5795b6f1c99933c576f">ExitProcessEventReason</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reasons for an exit process event. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2e62624dcd35d5795b6f1c99933c576faccb26b6a0c89e63f867c8882b65f7d57"></a>EXITPROCESS_EVENT_EXIT&#160;</td><td class="fielddoc"><p>Process exited either normally or due to an uncaught exception. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2e62624dcd35d5795b6f1c99933c576faefc8659c329768612032ddd127a1eade"></a>EXITPROCESS_EVENT_TERMINATE&#160;</td><td class="fielddoc"><p>Process has been terminated by <a class="el" href="svc_8h.html#a01228468ee9651a6480002cb381fe55e">svcTerminateProcess</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="a2e62624dcd35d5795b6f1c99933c576fa16ce26136f8806a56dc5419954a53010"></a>EXITPROCESS_EVENT_DEBUG_TERMINATE&#160;</td><td class="fielddoc"><p>Process has been terminated by <a class="el" href="svc_8h.html#aea161e7c96b51fd4db42a168f678d413">svcTerminateDebugProcess</a>. </p>
</td></tr>
</table>
</div>
</div>
<a id="a9ab9649e4a4445bcf8cba73119895ab9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ab9649e4a4445bcf8cba73119895ab9">&#9670;&nbsp;</a></span>ExitThreadEventReason</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9">ExitThreadEventReason</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reasons for an exit thread event. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a9ab9649e4a4445bcf8cba73119895ab9af6e122c684d430dbf1e0154c9861da4f"></a>EXITTHREAD_EVENT_EXIT&#160;</td><td class="fielddoc"><p>Thread exited. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9ab9649e4a4445bcf8cba73119895ab9ad91d858c68b3f94b62fe4d275f9e9bf5"></a>EXITTHREAD_EVENT_TERMINATE&#160;</td><td class="fielddoc"><p>Thread terminated. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9ab9649e4a4445bcf8cba73119895ab9a2d99741dd3861d2c2cc0ad3de081151b"></a>EXITTHREAD_EVENT_EXIT_PROCESS&#160;</td><td class="fielddoc"><p>Process exited either normally or due to an uncaught exception. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9ab9649e4a4445bcf8cba73119895ab9ac862b5b2c7d0efb53e0f3143c7601ea4"></a>EXITTHREAD_EVENT_TERMINATE_PROCESS&#160;</td><td class="fielddoc"><p>Process has been terminated by <a class="el" href="svc_8h.html#a01228468ee9651a6480002cb381fe55e">svcTerminateProcess</a>. </p>
</td></tr>
</table>
</div>
</div>
<a id="a754721841a571940880975d2191f3e0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a754721841a571940880975d2191f3e0f">&#9670;&nbsp;</a></span>MemOp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0f">MemOp</a></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="svc_8h.html#a8046e9b23b1b209a4e278cb1c19c7a5a">svcControlMemory</a> operation flags </p>
<p>The lowest 8 bits are the operation </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fa0277897bdb24ec61ebe721b6e2213393"></a>MEMOP_FREE&#160;</td><td class="fielddoc"><p>Memory un-mapping. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0faa08bd2ac9bdfc6a958ef71a6d4615f88"></a>MEMOP_RESERVE&#160;</td><td class="fielddoc"><p>Reserve memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed"></a>MEMOP_ALLOC&#160;</td><td class="fielddoc"><p>Memory mapping. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fad3419008fb719308be57a96f7dbc1a07"></a>MEMOP_MAP&#160;</td><td class="fielddoc"><p>Mirror mapping. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0faebba281d2e3a26717e803b22cb4f6951"></a>MEMOP_UNMAP&#160;</td><td class="fielddoc"><p>Mirror unmapping. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1"></a>MEMOP_PROT&#160;</td><td class="fielddoc"><p>Change protection. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fad4d969ef37e24230f5f66b1700634763"></a>MEMOP_REGION_APP&#160;</td><td class="fielddoc"><p>APPLICATION memory region. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fae9985e0572e18a1f8334ab8887bfa50d"></a>MEMOP_REGION_SYSTEM&#160;</td><td class="fielddoc"><p>SYSTEM memory region. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fa3be4e93c776697aeedd82f51b28f21ed"></a>MEMOP_REGION_BASE&#160;</td><td class="fielddoc"><p>BASE memory region. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fa09aacdab03ccb3fe52723ee25e105329"></a>MEMOP_OP_MASK&#160;</td><td class="fielddoc"><p>Operation bitmask. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fa58a22e2d8cd7250a43819805757e4413"></a>MEMOP_REGION_MASK&#160;</td><td class="fielddoc"><p>Region bitmask. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fa38d1aa9f77dfede9f2bb50aa7c39ffd7"></a>MEMOP_LINEAR_FLAG&#160;</td><td class="fielddoc"><p>Flag for linear memory operations. </p>
</td></tr>
<tr><td class="fieldname"><a id="a754721841a571940880975d2191f3e0fac0a3b46ec2c6ead43fb1de9772729595"></a>MEMOP_ALLOC_LINEAR&#160;</td><td class="fielddoc"><p>Allocates linear memory. </p>
</td></tr>
</table>
</div>
</div>
<a id="a933c1284d3be96f93a10a06f9c13aef8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a933c1284d3be96f93a10a06f9c13aef8">&#9670;&nbsp;</a></span>MemPerm</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Memory permission flags. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a933c1284d3be96f93a10a06f9c13aef8a94982bf2da2aa85b256d272073d8a3b2"></a>MEMPERM_READ&#160;</td><td class="fielddoc"><p>Readable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a933c1284d3be96f93a10a06f9c13aef8a1cd211ea237b7a2f9d79784ad80381ef"></a>MEMPERM_WRITE&#160;</td><td class="fielddoc"><p>Writable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a933c1284d3be96f93a10a06f9c13aef8a95166c88c977b8f6621cc3fddfbef097"></a>MEMPERM_EXECUTE&#160;</td><td class="fielddoc"><p>Executable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a933c1284d3be96f93a10a06f9c13aef8a6a38ed1f87f49fe7db01ad467e5bdf11"></a>MEMPERM_READWRITE&#160;</td><td class="fielddoc"><p>Readable and writable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a933c1284d3be96f93a10a06f9c13aef8aec242833b7930ca0c26c9a82cc0106f0"></a>MEMPERM_READEXECUTE&#160;</td><td class="fielddoc"><p>Readable and executable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a933c1284d3be96f93a10a06f9c13aef8a00b3d9ebe75e827a690b181275e36285"></a>MEMPERM_DONTCARE&#160;</td><td class="fielddoc"><p>Don't care. </p>
</td></tr>
</table>
</div>
</div>
<a id="ac4f63d4e584005af063b41bc55bb92eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4f63d4e584005af063b41bc55bb92eb">&#9670;&nbsp;</a></span>MemRegion</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#ac4f63d4e584005af063b41bc55bb92eb">MemRegion</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Memory regions. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ac4f63d4e584005af063b41bc55bb92eba87d800dfa880eb2c7606cbc6e88cdfc9"></a>MEMREGION_ALL&#160;</td><td class="fielddoc"><p>All regions. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac4f63d4e584005af063b41bc55bb92ebaa6dca7f0283dc36043000cf009b3037d"></a>MEMREGION_APPLICATION&#160;</td><td class="fielddoc"><p>APPLICATION memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac4f63d4e584005af063b41bc55bb92eba3593cd195de87cfb8d9ef3a8d4aa4d61"></a>MEMREGION_SYSTEM&#160;</td><td class="fielddoc"><p>SYSTEM memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac4f63d4e584005af063b41bc55bb92eba71250d7c703bed890cb5c41e6a04b292"></a>MEMREGION_BASE&#160;</td><td class="fielddoc"><p>BASE memory. </p>
</td></tr>
</table>
</div>
</div>
<a id="a9475ce2cc58483c4a96c970bc6d87cf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9475ce2cc58483c4a96c970bc6d87cf7">&#9670;&nbsp;</a></span>MemState</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7">MemState</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The state of a memory block. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a28319451e29cd1d428cb794e452c755b"></a>MEMSTATE_FREE&#160;</td><td class="fielddoc"><p>Free memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7ac0adf485622be6e0fbbdc7cbb8c47117"></a>MEMSTATE_RESERVED&#160;</td><td class="fielddoc"><p>Reserved memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a99d241b8c1e39f56cc62c0ae8f0a1a49"></a>MEMSTATE_IO&#160;</td><td class="fielddoc"><p>I/O memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7aaca66457f6d543c2b19b0430590fc143"></a>MEMSTATE_STATIC&#160;</td><td class="fielddoc"><p>Static memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a271fa8404bb634409a54c9d4f5f35627"></a>MEMSTATE_CODE&#160;</td><td class="fielddoc"><p>Code memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a728b20cb6be4b28ab6694984b7e79018"></a>MEMSTATE_PRIVATE&#160;</td><td class="fielddoc"><p>Private memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a46982bcef4b1151bc212a8ae7b9605eb"></a>MEMSTATE_SHARED&#160;</td><td class="fielddoc"><p>Shared memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a4dd019bd15843b85ba5b2e980816df50"></a>MEMSTATE_CONTINUOUS&#160;</td><td class="fielddoc"><p>Continuous memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a5e54fc6b8c3f3090eba67147f3000d31"></a>MEMSTATE_ALIASED&#160;</td><td class="fielddoc"><p>Aliased memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a26e7ac8c3e0c4a0ed3f77d0bd9788ac5"></a>MEMSTATE_ALIAS&#160;</td><td class="fielddoc"><p>Alias memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7a59073efd4c26f46fee26de08c255e0b2"></a>MEMSTATE_ALIASCODE&#160;</td><td class="fielddoc"><p>Aliased code memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a9475ce2cc58483c4a96c970bc6d87cf7ae339e1d3911aeadbe94cffaa8e27436b"></a>MEMSTATE_LOCKED&#160;</td><td class="fielddoc"><p>Locked memory. </p>
</td></tr>
</table>
</div>
</div>
<a id="a6604864f5e881a7ec7ad67737b936db2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6604864f5e881a7ec7ad67737b936db2">&#9670;&nbsp;</a></span>PerfCounterEvent</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a6604864f5e881a7ec7ad67737b936db2">PerfCounterEvent</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Performance counter event IDs (CP15 or SCU). </p>
<dl class="section note"><dt>Note</dt><dd>Refer to:<ul>
<li>CP15: <a href="https://developer.arm.com/documentation/ddi0360/e/control-coprocessor-cp15/register-descriptions/c15&ndash;performance-monitor-control-register&ndash;pmnc-">https://developer.arm.com/documentation/ddi0360/e/control-coprocessor-cp15/register-descriptions/c15&amp;ndash;performance-monitor-control-register&amp;ndash;pmnc-</a></li>
<li>SCU: <a href="https://developer.arm.com/documentation/ddi0360/e/mpcore-private-memory-region/about-the-mpcore-private-memory-region/performance-monitor-event-registers">https://developer.arm.com/documentation/ddi0360/e/mpcore-private-memory-region/about-the-mpcore-private-memory-region/performance-monitor-event-registers</a> </li>
</ul>
</dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a6604864f5e881a7ec7ad67737b936db2a413cb88f85b5e31e3cfd63f85317d364"></a>PERFCOUNTEREVT_CORE_CYCLE_COUNT&#160;</td><td class="fielddoc"><p>One cycle elapsed. </p>
</td></tr>
<tr><td class="fieldname"><a id="a6604864f5e881a7ec7ad67737b936db2a666c6779ce705be7fe8bbb9996531577"></a>PERFCOUNTEREVT_CORE_CYCLE_COUNT_64&#160;</td><td class="fielddoc"><p>64 cycles elapsed. </p>
</td></tr>
</table>
</div>
</div>
<a id="a32f1a799d8ed99f3c52be42141396084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32f1a799d8ed99f3c52be42141396084">&#9670;&nbsp;</a></span>PerfCounterOperation</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084">PerfCounterOperation</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Operations for <a class="el" href="svc_8h.html#a5b138754e8e2aa48326c4271eae7d6ba">svcControlPerformanceCounter</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084a459599575a462e0e95444335d06e15e9"></a>PERFCOUNTEROP_ENABLE&#160;</td><td class="fielddoc"><p>Enable and lock perfmon. functionality. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084ac4ed24fde8e2c67d1c6893e78ccbe73e"></a>PERFCOUNTEROP_DISABLE&#160;</td><td class="fielddoc"><p>Disable and forcibly unlock perfmon. functionality. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084ad74be58d4d109f73497a2b7187b6de75"></a>PERFCOUNTEROP_GET_VALUE&#160;</td><td class="fielddoc"><p>Get the value of a counter register. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084a8bf947d1af73e26fef6ad2682bc2ba9a"></a>PERFCOUNTEROP_SET_VALUE&#160;</td><td class="fielddoc"><p>Set the value of a counter register. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084aa200abb919c37b196f1f3fd474b52658"></a>PERFCOUNTEROP_GET_OVERFLOW_FLAGS&#160;</td><td class="fielddoc"><p>Get the overflow flags for all CP15 and SCU counters. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084af56848a9adfc24df081e54d97b313912"></a>PERFCOUNTEROP_RESET&#160;</td><td class="fielddoc"><p>Reset the value and/or overflow flags of selected counters. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084a8c6f75508fbc8f1b9024a9d456dc191d"></a>PERFCOUNTEROP_GET_EVENT&#160;</td><td class="fielddoc"><p>Get the event ID associated to a particular counter. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084a0f31b33961d1fb6f10b0f26aae56ea51"></a>PERFCOUNTEROP_SET_EVENT&#160;</td><td class="fielddoc"><p>Set the event ID associated to a paritcular counter. </p>
</td></tr>
<tr><td class="fieldname"><a id="a32f1a799d8ed99f3c52be42141396084a5a97513b29876bee7af1770af3066122"></a>PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED&#160;</td><td class="fielddoc"><p>(Dis)allow the kernel to track counter overflows and to use 64-bit counter values. </p>
</td></tr>
</table>
</div>
</div>
<a id="af19b39931820deecca7704fe82695c25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af19b39931820deecca7704fe82695c25">&#9670;&nbsp;</a></span>PerfCounterRegister</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Performance counter register IDs (CP15 and SCU). </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25ad766b5a7dbfc2146f20e1b05bec28abf"></a>PERFCOUNTERREG_CORE_COUNT_REG_0&#160;</td><td class="fielddoc"><p>CP15 PMN0. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a2df47c626c6f922950c421b9b9dc25f7"></a>PERFCOUNTERREG_CORE_COUNT_REG_1&#160;</td><td class="fielddoc"><p>CP15 PMN1. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a21629d5ab07c1422ecbb559d4a11f46c"></a>PERFCOUNTERREG_CORE_CYCLE_COUNTER&#160;</td><td class="fielddoc"><p>CP15 CCNT. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a9efbd9753e6db0e05ed3530cedb02c7e"></a>PERFCOUNTERREG_SCU_0&#160;</td><td class="fielddoc"><p>SCU MN0. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a8cd0cf2d5df85b29d57a4e59b08b6c54"></a>PERFCOUNTERREG_SCU_1&#160;</td><td class="fielddoc"><p>SCU MN1. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a928354e899519d64cc2158bf6fed3fd2"></a>PERFCOUNTERREG_SCU_2&#160;</td><td class="fielddoc"><p>SCU MN2. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a7a7051dae3b036b43e26c73166263748"></a>PERFCOUNTERREG_SCU_3&#160;</td><td class="fielddoc"><p>SCU MN3. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25ae23cdfca904749e817efa2171e7f98a9"></a>PERFCOUNTERREG_SCU_4&#160;</td><td class="fielddoc"><p>SCU MN4. Prod-N3DS only. IRQ line missing. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a7f13355747739b775648ee8802facf91"></a>PERFCOUNTERREG_SCU_5&#160;</td><td class="fielddoc"><p>SCU MN5. Prod-N3DS only. IRQ line missing. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a5dec0a4112ca52e49f81390da99ccf6f"></a>PERFCOUNTERREG_SCU_6&#160;</td><td class="fielddoc"><p>SCU MN6. Prod-N3DS only. IRQ line missing. </p>
</td></tr>
<tr><td class="fieldname"><a id="af19b39931820deecca7704fe82695c25a5871f8bc09de26839e6b75b81b677481"></a>PERFCOUNTERREG_SCU_7&#160;</td><td class="fielddoc"><p>SCU MN7. Prod-N3DS only. IRQ line missing. </p>
</td></tr>
</table>
</div>
</div>
<a id="adfe6b9db49aa88865e1fff5e559f6fdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfe6b9db49aa88865e1fff5e559f6fdf">&#9670;&nbsp;</a></span>ResetType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf">ResetType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset types (for use with events and timers) </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="adfe6b9db49aa88865e1fff5e559f6fdfa5e28681d7775d2a1fe89b4644ed8d57e"></a>RESET_ONESHOT&#160;</td><td class="fielddoc"><p>When the primitive is signaled, it will wake up exactly one thread and will clear itself automatically. </p>
</td></tr>
<tr><td class="fieldname"><a id="adfe6b9db49aa88865e1fff5e559f6fdfa09868fdada28ca7c71200f2996ced929"></a>RESET_STICKY&#160;</td><td class="fielddoc"><p>When the primitive is signaled, it will wake up all threads and it won't clear itself automatically. </p>
</td></tr>
<tr><td class="fieldname"><a id="adfe6b9db49aa88865e1fff5e559f6fdfa7b810dd120f32f073cf6f36de294191e"></a>RESET_PULSE&#160;</td><td class="fielddoc"><p>Only meaningful for timers: same as ONESHOT but it will periodically signal the timer instead of just once. </p>
</td></tr>
</table>
</div>
</div>
<a id="ac12c38db3ba780feb8540ed3cd0c780a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac12c38db3ba780feb8540ed3cd0c780a">&#9670;&nbsp;</a></span>ResourceLimitType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Types of resource limit. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aae4775036f8b37b62df9dbb8614653bcd"></a>RESLIMIT_PRIORITY&#160;</td><td class="fielddoc"><p>Thread priority. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aa52c9772c9039e666d86e41b791c8802c"></a>RESLIMIT_COMMIT&#160;</td><td class="fielddoc"><p>Quantity of allocatable memory. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aaccd534676d1d91de2401e7810de813fb"></a>RESLIMIT_THREAD&#160;</td><td class="fielddoc"><p>Number of threads. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aa80e01172679736fc55506de2383329af"></a>RESLIMIT_EVENT&#160;</td><td class="fielddoc"><p>Number of events. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aac32acf08c278fbb9c5d37cd5abaa15b8"></a>RESLIMIT_MUTEX&#160;</td><td class="fielddoc"><p>Number of mutexes. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aa33bf64fee360e49f019fc108a12b6869"></a>RESLIMIT_SEMAPHORE&#160;</td><td class="fielddoc"><p>Number of semaphores. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aa188b2b030f861dde3218e8736d8c7341"></a>RESLIMIT_TIMER&#160;</td><td class="fielddoc"><p>Number of timers. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aad5c0584427164249900e2957c020c7b9"></a>RESLIMIT_SHAREDMEMORY&#160;</td><td class="fielddoc"><p>Number of shared memory objects, see <a class="el" href="svc_8h.html#a5ce27301f176acfa306a39c9801f7b33">svcCreateMemoryBlock</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aab702ae213a302c7ae032dccd116a5d35"></a>RESLIMIT_ADDRESSARBITER&#160;</td><td class="fielddoc"><p>Number of address arbiters. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aa3aab1b0ef50ad3e6ea1ab9118f976c2b"></a>RESLIMIT_CPUTIME&#160;</td><td class="fielddoc"><p>CPU time. Value expressed in percentage regular until it reaches 90. </p>
</td></tr>
<tr><td class="fieldname"><a id="ac12c38db3ba780feb8540ed3cd0c780aa81bcdab92bd58b56bf3b6096a3aaf1d4"></a>RESLIMIT_BIT&#160;</td><td class="fielddoc"><p>Forces enum size to be 32 bits. </p>
</td></tr>
</table>
</div>
</div>
<a id="a41645e97dc3a37acd97b0f0f13be76e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41645e97dc3a37acd97b0f0f13be76e9">&#9670;&nbsp;</a></span>StopPointType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9">StopPointType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Stop point types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a41645e97dc3a37acd97b0f0f13be76e9af2bda711cb2e87898ee01c75aa6eb461"></a>STOPPOINT_SVC_FF&#160;</td><td class="fielddoc"><p>See <a class="el" href="svc_8h.html#ada2d7dbdeeb091dc83e76117eeb5ae1f">SVC_STOP_POINT</a>. </p>
</td></tr>
<tr><td class="fieldname"><a id="a41645e97dc3a37acd97b0f0f13be76e9ab0418158fb52e5f649f8695a747620b9"></a>STOPPOINT_BREAKPOINT&#160;</td><td class="fielddoc"><p>Breakpoint. </p>
</td></tr>
<tr><td class="fieldname"><a id="a41645e97dc3a37acd97b0f0f13be76e9ae012399e05b534e04b300fdc210debdd"></a>STOPPOINT_WATCHPOINT&#160;</td><td class="fielddoc"><p>Watchpoint. </p>
</td></tr>
</table>
</div>
</div>
<a id="a19ce0516fc6c9dc090735a831ab7a742"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19ce0516fc6c9dc090735a831ab7a742">&#9670;&nbsp;</a></span>ThreadContextControlFlags</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Control flags for <a class="el" href="svc_8h.html#a45d96608f9a397c81e8a254d8948f5c5">svcGetDebugThreadContext</a> and <a class="el" href="svc_8h.html#aec567b6e8ea8fe1ac41ac1fe117a6345">svcSetDebugThreadContext</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a19ce0516fc6c9dc090735a831ab7a742ae09b0f61029f9fdf0b4ea02c41fa13e5"></a>THREADCONTEXT_CONTROL_CPU_GPRS&#160;</td><td class="fielddoc"><p>Control r0-r12. </p>
</td></tr>
<tr><td class="fieldname"><a id="a19ce0516fc6c9dc090735a831ab7a742aa8407752003ccddf5fc32867e67037cf"></a>THREADCONTEXT_CONTROL_CPU_SPRS&#160;</td><td class="fielddoc"><p>Control sp, lr, pc, cpsr. </p>
</td></tr>
<tr><td class="fieldname"><a id="a19ce0516fc6c9dc090735a831ab7a742a2d5de33762b476d2926b7cfb7f3be89b"></a>THREADCONTEXT_CONTROL_FPU_GPRS&#160;</td><td class="fielddoc"><p>Control d0-d15 (or s0-s31). </p>
</td></tr>
<tr><td class="fieldname"><a id="a19ce0516fc6c9dc090735a831ab7a742ae68cca5d6bd39c7225566ae87c541f8e"></a>THREADCONTEXT_CONTROL_FPU_SPRS&#160;</td><td class="fielddoc"><p>Control fpscr, fpexc. </p>
</td></tr>
<tr><td class="fieldname"><a id="a19ce0516fc6c9dc090735a831ab7a742a313d7fc004fc7a953e10b08fccbd21ab"></a>THREADCONTEXT_CONTROL_CPU_REGS&#160;</td><td class="fielddoc"><p>Control r0-r12, sp, lr, pc, cpsr. </p>
</td></tr>
<tr><td class="fieldname"><a id="a19ce0516fc6c9dc090735a831ab7a742ae77e6ad949115f805c2a35ba85cce3f9"></a>THREADCONTEXT_CONTROL_FPU_REGS&#160;</td><td class="fielddoc"><p>Control d0-d15, fpscr, fpexc. </p>
</td></tr>
<tr><td class="fieldname"><a id="a19ce0516fc6c9dc090735a831ab7a742a03849f12becc677a30246a307c3b9670"></a>THREADCONTEXT_CONTROL_ALL&#160;</td><td class="fielddoc"><p>Control all of the above. </p>
</td></tr>
</table>
</div>
</div>
<a id="a112aee8cca0c18b91f98d39db55c4807"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a112aee8cca0c18b91f98d39db55c4807">&#9670;&nbsp;</a></span>ThreadInfoType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807">ThreadInfoType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Types of thread info. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a112aee8cca0c18b91f98d39db55c4807a5e0a7120c0d6495acc852bc43a3ea851"></a>THREADINFO_TYPE_UNKNOWN&#160;</td><td class="fielddoc"><p>Unknown. </p>
</td></tr>
</table>
</div>
</div>
<a id="a1fff1d6b844aedbb1babaa23e0292a12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fff1d6b844aedbb1babaa23e0292a12">&#9670;&nbsp;</a></span>UserBreakType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12">UserBreakType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reasons for a user break. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1fff1d6b844aedbb1babaa23e0292a12a75d115aed8adc334b86762004550130e"></a>USERBREAK_PANIC&#160;</td><td class="fielddoc"><p>Panic. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1fff1d6b844aedbb1babaa23e0292a12ab8652e6cba764ad8b8b205981fa10a2d"></a>USERBREAK_ASSERT&#160;</td><td class="fielddoc"><p>Assertion failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1fff1d6b844aedbb1babaa23e0292a12a7989abf688e2db27610f1cdf30ddf553"></a>USERBREAK_USER&#160;</td><td class="fielddoc"><p>User related. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1fff1d6b844aedbb1babaa23e0292a12a218f8d14ce85ff686531587f41271b91"></a>USERBREAK_LOAD_RO&#160;</td><td class="fielddoc"><p>Load RO. </p>
</td></tr>
<tr><td class="fieldname"><a id="a1fff1d6b844aedbb1babaa23e0292a12ab82dbfb966f5522c2e5bfbdf1949d5a9"></a>USERBREAK_UNLOAD_RO&#160;</td><td class="fielddoc"><p>Unload RO. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a2e0c230a1bb2d5400edc08bd7c687099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e0c230a1bb2d5400edc08bd7c687099">&#9670;&nbsp;</a></span>getThreadCommandBuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* getThreadCommandBuffer </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the thread command buffer. </p>
<dl class="section return"><dt>Returns</dt><dd>The thread command buffer. </dd></dl>
</div>
</div>
<a id="a3f23b2d589b488efb59603000c5f7969"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f23b2d589b488efb59603000c5f7969">&#9670;&nbsp;</a></span>getThreadLocalStorage()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void* getThreadLocalStorage </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the thread local storage buffer. </p>
<dl class="section return"><dt>Returns</dt><dd>The thread local storage buffer. </dd></dl>
</div>
</div>
<a id="a7f804146f815c96c98e7712bce3993bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f804146f815c96c98e7712bce3993bf">&#9670;&nbsp;</a></span>getThreadStaticBuffers()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* getThreadStaticBuffers </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the thread static buffer. </p>
<dl class="section return"><dt>Returns</dt><dd>The thread static buffer. </dd></dl>
</div>
</div>
<a id="a9b1cbd6cb9eba21e42c9ec8bb7d08e97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b1cbd6cb9eba21e42c9ec8bb7d08e97">&#9670;&nbsp;</a></span>svcAcceptSession()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcAcceptSession </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>session</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Accepts a session. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">session</td><td>Pointer to output the created session handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">port</td><td>Handle of the port to accept a session from. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4f6ec3a0e2d3bd501c6a95e234aaabdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f6ec3a0e2d3bd501c6a95e234aaabdc">&#9670;&nbsp;</a></span>svcArbitrateAddress()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcArbitrateAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>arbiter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>timeout_ns</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Arbitrate an address, can be used for synchronization. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arbiter</td><td>Handle of the arbiter </td></tr>
<tr><td class="paramname">addr</td><td>A pointer to a s32 value. </td></tr>
<tr><td class="paramname">type</td><td>Type of action to be performed by the arbiter </td></tr>
<tr><td class="paramname">value</td><td>Number of threads to signal if using <a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca503fb7656e3429195054786b8779cbd6">ARBITRATION_SIGNAL</a>, or the value used for comparison. </td></tr>
<tr><td class="paramname">timeout_ns</td><td>Optional timeout in nanoseconds when using TIMEOUT actions, ignored otherwise. If not needed, use <a class="el" href="svc_8h.html#a8b4536b50d5d5735805f1f5aa6b2a378">svcArbitrateAddressNoTimeout</a> instead. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Usage of this syscall entails an implicit Data Memory Barrier (dmb). </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Please use <a class="el" href="synchronization_8h.html#a3ce965a644db4534de988a203751c56d">syncArbitrateAddressWithTimeout</a> instead. </dd></dl>
</div>
</div>
<a id="a8b4536b50d5d5735805f1f5aa6b2a378"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b4536b50d5d5735805f1f5aa6b2a378">&#9670;&nbsp;</a></span>svcArbitrateAddressNoTimeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcArbitrateAddressNoTimeout </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>arbiter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533ec">ArbitrationType</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as <a class="el" href="svc_8h.html#a4f6ec3a0e2d3bd501c6a95e234aaabdc">svcArbitrateAddress</a> but with the timeout_ns parameter undefined. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arbiter</td><td>Handle of the arbiter </td></tr>
<tr><td class="paramname">addr</td><td>A pointer to a s32 value. </td></tr>
<tr><td class="paramname">type</td><td>Type of action to be performed by the arbiter </td></tr>
<tr><td class="paramname">value</td><td>Number of threads to signal if using <a class="el" href="svc_8h.html#a00f5b708129ef172b59197a775b533eca503fb7656e3429195054786b8779cbd6">ARBITRATION_SIGNAL</a>, or the value used for comparison. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Usage of this syscall entails an implicit Data Memory Barrier (dmb). </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Please use <a class="el" href="synchronization_8h.html#a15f62531caa3fa14f5eac4735d96f9f7">syncArbitrateAddress</a> instead. </dd></dl>
</div>
</div>
<a id="a1f4318daa12693ba8a3bb8dde536393b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f4318daa12693ba8a3bb8dde536393b">&#9670;&nbsp;</a></span>svcBackdoor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcBackdoor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>(*)(void)&#160;</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes a function in supervisor mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback</td><td>Function to execute. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2f8db0e990f91fa29d392986a3050a17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f8db0e990f91fa29d392986a3050a17">&#9670;&nbsp;</a></span>svcBindInterrupt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcBindInterrupt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>interruptId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>eventOrSemaphore</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>priority</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isManualClear</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Binds an event or semaphore handle to an ARM11 interrupt. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">interruptId</td><td>Interrupt identfier (see <a href="https://www.3dbrew.org/wiki/ARM11_Interrupts">https://www.3dbrew.org/wiki/ARM11_Interrupts</a>). </td></tr>
<tr><td class="paramname">eventOrSemaphore</td><td>Event or semaphore handle to bind to the given interrupt. </td></tr>
<tr><td class="paramname">priority</td><td>Priority of the interrupt for the current process. </td></tr>
<tr><td class="paramname">isManualClear</td><td>Indicates whether the interrupt has to be manually cleared or not (= level-high active). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a71559e1c5662a82ac2b83bd6c5c8234c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71559e1c5662a82ac2b83bd6c5c8234c">&#9670;&nbsp;</a></span>svcBreak()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void svcBreak </td>
<td>(</td>
<td class="paramtype"><a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12">UserBreakType</a>&#160;</td>
<td class="paramname"><em>breakReason</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Breaks execution. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">breakReason</td><td>Reason for breaking. </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a6">graphics/gpu/gpusprites/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a10">graphics/gpu/textured_cube/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="a9609f301ffe5836bc68a8f73fece12b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9609f301ffe5836bc68a8f73fece12b4">&#9670;&nbsp;</a></span>svcBreakDebugProcess()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcBreakDebugProcess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Breaks a debugged process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">debug</td><td>Debug handle of the process. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a68c4f6fd3748a647851724b2c7f6e6f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68c4f6fd3748a647851724b2c7f6e6f3">&#9670;&nbsp;</a></span>svcBreakRO()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void svcBreakRO </td>
<td>(</td>
<td class="paramtype"><a class="el" href="svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12">UserBreakType</a>&#160;</td>
<td class="paramname"><em>breakReason</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>croInfo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>croInfoSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Breaks execution (LOAD_RO and UNLOAD_RO). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">breakReason</td><td>Debug reason for breaking. </td></tr>
<tr><td class="paramname">croInfo</td><td>Library information. </td></tr>
<tr><td class="paramname">croInfoSize</td><td>Size of the above structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a88c4f0553f97b85737a730c7e63aff6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88c4f0553f97b85737a730c7e63aff6f">&#9670;&nbsp;</a></span>svcCancelTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCancelTimer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>timer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Cancels a timer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timer</td><td>Handle of the timer to cancel. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac62690a14d27773ca936c1b53549f59d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac62690a14d27773ca936c1b53549f59d">&#9670;&nbsp;</a></span>svcClearEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcClearEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears an event. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Handle of the event to clear. </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a2">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="a3642f5b3403a0e731358301d622a9a1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3642f5b3403a0e731358301d622a9a1e">&#9670;&nbsp;</a></span>svcClearTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcClearTimer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>timer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears a timer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timer</td><td>Handle of the timer to clear. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a09f47e8301d61442fc76727da0b0554c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09f47e8301d61442fc76727da0b0554c">&#9670;&nbsp;</a></span>svcCloseHandle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCloseHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Closes a handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Handle to close. </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="camera_2image_2source_2main_8c-example.html#a27">camera/image/source/main.c</a>, <a class="el" href="camera_2video_2source_2main_8c-example.html#a27">camera/video/source/main.c</a>, and <a class="el" href="threads_2event_2source_2main_8c-example.html#a18">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="a3063414d90f09e17398bdb7cd6955b71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3063414d90f09e17398bdb7cd6955b71">&#9670;&nbsp;</a></span>svcConnectToPort()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcConnectToPort </td>
<td>(</td>
<td class="paramtype">volatile <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>portName</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connects to a port. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the port handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">portName</td><td>Name of the port. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6afb068c84788f20213bb66c55d7a343"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6afb068c84788f20213bb66c55d7a343">&#9670;&nbsp;</a></span>svcContinueDebugEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcContinueDebugEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10">DebugFlags</a>&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Continues the current debug event of a debugged process (not necessarily the same as <a class="el" href="svc_8h.html#ae43be244fb71321c8101547a20b65693">svcGetProcessDebugEvent</a>). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">debug</td><td>Debug handle of the process. </td></tr>
<tr><td class="paramname">flags</td><td>Flags to continue with, see <a class="el" href="svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10">DebugFlags</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8046e9b23b1b209a4e278cb1c19c7a5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8046e9b23b1b209a4e278cb1c19c7a5a">&#9670;&nbsp;</a></span>svcControlMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcControlMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>addr_out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0f">MemOp</a>&#160;</td>
<td class="paramname"><em>op</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a>&#160;</td>
<td class="paramname"><em>perm</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Controls memory mapping. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">addr_out</td><td>The virtual address resulting from the operation. Usually the same as addr0. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">addr0</td><td>The virtual address to be used for the operation. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">addr1</td><td>The virtual address to be (un)mirrored by <code>addr0</code> when using <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fad3419008fb719308be57a96f7dbc1a07">MEMOP_MAP</a> or <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0faebba281d2e3a26717e803b22cb4f6951">MEMOP_UNMAP</a>. It has to be pointing to a RW memory. Use NULL if the operation is <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa0277897bdb24ec61ebe721b6e2213393">MEMOP_FREE</a> or <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed">MEMOP_ALLOC</a>. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>The requested size for <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed">MEMOP_ALLOC</a> and <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fac0a3b46ec2c6ead43fb1de9772729595">MEMOP_ALLOC_LINEAR</a>. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">op</td><td>Operation flags. See <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0f">MemOp</a>. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">perm</td><td>A combination of <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a94982bf2da2aa85b256d272073d8a3b2">MEMPERM_READ</a> and <a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a1cd211ea237b7a2f9d79784ad80381ef">MEMPERM_WRITE</a>. Using MEMPERM_EXECUTE will return an error. Value 0 is used when unmapping memory.</td></tr>
</table>
</dd>
</dl>
<p>If a memory is mapped for two or more addresses, you have to use MEMOP_UNMAP before being able to MEMOP_FREE it. MEMOP_MAP will fail if <code>addr1</code> was already mapped to another address.</p>
<p>More information is available at <a href="http://3dbrew.org/wiki/SVC#Memory_Mapping">http://3dbrew.org/wiki/SVC#Memory_Mapping</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="svc_8h.html#af9dcc9ae0b21ce1363522c23203d4d6c" title="Controls the memory mapping of a process.">svcControlProcessMemory</a> </dd></dl>
</div>
</div>
<a id="a5b138754e8e2aa48326c4271eae7d6ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b138754e8e2aa48326c4271eae7d6ba">&#9670;&nbsp;</a></span>svcControlPerformanceCounter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcControlPerformanceCounter </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084">PerfCounterOperation</a>&#160;</td>
<td class="paramname"><em>op</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>param1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td>
<td class="paramname"><em>param2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Controls performance monitoring on the CP15 interface and the SCU. </p>
<p>The meaning of the parameters depend on the operation. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Output. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">op</td><td>Operation, see details. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">param1</td><td>First parameter. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">param2</td><td>Second parameter.</td></tr>
</table>
</dd>
</dl>
<p>The operations are the following:</p><ul>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a459599575a462e0e95444335d06e15e9">PERFCOUNTEROP_ENABLE</a> (void) -&gt; void, tries to enable and lock perfmon. functionality.</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084ac4ed24fde8e2c67d1c6893e78ccbe73e">PERFCOUNTEROP_DISABLE</a> (void) -&gt; void, disable and forcibly unlocks perfmon. functionality.</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084ad74be58d4d109f73497a2b7187b6de75">PERFCOUNTEROP_GET_VALUE</a> (<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a> reg) -&gt; u64, gets the value of a particular counter register.</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8bf947d1af73e26fef6ad2682bc2ba9a">PERFCOUNTEROP_SET_VALUE</a> (<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a> reg, u64 value) -&gt; void, sets the value of a particular counter register.</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084aa200abb919c37b196f1f3fd474b52658">PERFCOUNTEROP_GET_OVERFLOW_FLAGS</a> (void) -&gt; u32, gets the overflow flags of all CP15 and SCU registers.<ul>
<li>Format is a bitfield of <a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a>.</li>
</ul>
</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084af56848a9adfc24df081e54d97b313912">PERFCOUNTEROP_RESET</a> (u32 valueResetMask, u32 overflowFlagResetMask) -&gt; void, resets the value and/or overflow flags of selected registers.<ul>
<li>Format is two bitfields of <a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a>.</li>
</ul>
</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8c6f75508fbc8f1b9024a9d456dc191d">PERFCOUNTEROP_GET_EVENT</a> (<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a> reg) -&gt; <a class="el" href="svc_8h.html#a6604864f5e881a7ec7ad67737b936db2">PerfCounterEvent</a>, gets the event associated to a particular counter register.</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a0f31b33961d1fb6f10b0f26aae56ea51">PERFCOUNTEROP_SET_EVENT</a> (<a class="el" href="svc_8h.html#af19b39931820deecca7704fe82695c25">PerfCounterRegister</a> reg, <a class="el" href="svc_8h.html#a6604864f5e881a7ec7ad67737b936db2">PerfCounterEvent</a>) -&gt; void, sets the event associated to a particular counter register.</li>
<li><a class="el" href="svc_8h.html#a32f1a799d8ed99f3c52be42141396084a5a97513b29876bee7af1770af3066122">PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED</a> (bool enabled) -&gt; void, (dis)allows the kernel to track counter overflows and to use 64-bit counter values. </li>
</ul>
</div>
</div>
<a id="af9dcc9ae0b21ce1363522c23203d4d6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9dcc9ae0b21ce1363522c23203d4d6c">&#9670;&nbsp;</a></span>svcControlProcessMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcControlProcessMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>perm</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Controls the memory mapping of a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr0</td><td>The virtual address to map </td></tr>
<tr><td class="paramname">addr1</td><td>The virtual address to be mapped by <code>addr0</code> </td></tr>
<tr><td class="paramname">type</td><td>Only operations <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fad3419008fb719308be57a96f7dbc1a07">MEMOP_MAP</a>, <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0faebba281d2e3a26717e803b22cb4f6951">MEMOP_UNMAP</a> and <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1">MEMOP_PROT</a> are allowed.</td></tr>
</table>
</dd>
</dl>
<p>This is the only SVC which allows mapping executable memory. Using <a class="el" href="svc_8h.html#a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1">MEMOP_PROT</a> will change the memory permissions of an already mapped memory.</p>
<dl class="section note"><dt>Note</dt><dd>The pseudo handle for the current process is not supported by this service call. </dd></dl>
<dl class="section see"><dt>See also</dt><dd>svcControlProcess </dd></dl>
</div>
</div>
<a id="aad97fa778ae92cc88586f287b9b88487"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad97fa778ae92cc88586f287b9b88487">&#9670;&nbsp;</a></span>svcCreateAddressArbiter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateAddressArbiter </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>arbiter</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an address arbiter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">mutex</td><td>Pointer to output the handle of the created address arbiter to. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="svc_8h.html#a4f6ec3a0e2d3bd501c6a95e234aaabdc" title="Arbitrate an address, can be used for synchronization.">svcArbitrateAddress</a> </dd></dl>
</div>
</div>
<a id="a8b9e97a68e06934e341c147c1c489390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b9e97a68e06934e341c147c1c489390">&#9670;&nbsp;</a></span>svcCreateCodeSet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateCodeSet </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structCodeSetHeader.html">CodeSetHeader</a> *&#160;</td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>textSegmentLma</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>roSegmentLma</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>dataSegmentLma</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets up virtual address space for a new process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the codeset handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">info</td><td>Codeset header, contains process name, titleId and segment info. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">textSegmentLma</td><td>Address of executable segment in caller's address space. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">roSegmentLma</td><td>Address of read-only segment in caller's address space. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">dataSegmentLma</td><td>Address of read-write segment in caller's address space. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>On success, the provided segments are unmapped from the caller's address space. </dd></dl>
</div>
</div>
<a id="ac4888a213bf9515d2332ce8a686b3087"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4888a213bf9515d2332ce8a686b3087">&#9670;&nbsp;</a></span>svcCreateEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>event</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf">ResetType</a>&#160;</td>
<td class="paramname"><em>reset_type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an event handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">event</td><td>Pointer to output the created event handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">reset_type</td><td>Type of reset the event uses (RESET_ONESHOT/RESET_STICKY). </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a6">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="a5ce27301f176acfa306a39c9801f7b33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ce27301f176acfa306a39c9801f7b33">&#9670;&nbsp;</a></span>svcCreateMemoryBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateMemoryBlock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>memblock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a>&#160;</td>
<td class="paramname"><em>my_perm</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a>&#160;</td>
<td class="paramname"><em>other_perm</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a block of shared memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">memblock</td><td>Pointer to store the handle of the block </td></tr>
<tr><td class="paramdir"></td><td class="paramname">addr</td><td>Address of the memory to map, page-aligned. So its alignment must be 0x1000. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of the memory to map, a multiple of 0x1000. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">my_perm</td><td>Memory permissions for the current process </td></tr>
<tr><td class="paramdir"></td><td class="paramname">other_perm</td><td>Memory permissions for the other processes</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The shared memory block, and its rights, are destroyed when the handle is closed. </dd></dl>
</div>
</div>
<a id="af83b6eb4ee03ce1aae2ccb64906e759c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af83b6eb4ee03ce1aae2ccb64906e759c">&#9670;&nbsp;</a></span>svcCreateMutex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateMutex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>mutex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>initially_locked</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a mutex. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">mutex</td><td>Pointer to output the handle of the created mutex to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">initially_locked</td><td>Whether the mutex should be initially locked. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7ecb788e88b2b9990c72c01b73f290b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ecb788e88b2b9990c72c01b73f290b2">&#9670;&nbsp;</a></span>svcCreatePort()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreatePort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>portServer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>portClient</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>maxSessions</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a port. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">portServer</td><td>Pointer to output the port server handle to. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">portClient</td><td>Pointer to output the port client handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">name</td><td>Name of the port. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">maxSessions</td><td>Maximum number of sessions that can connect to the port. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a985e047a81393fa6d118ee769311f9c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a985e047a81393fa6d118ee769311f9c1">&#9670;&nbsp;</a></span>svcCreateProcess()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateProcess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>codeset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>arm11KernelCaps</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>numArm11KernelCaps</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the process handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">codeset</td><td>Codeset created for this process. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">arm11KernelCaps</td><td>Arm11 Kernel Capabilities from exheader. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">numArm11KernelCaps</td><td>Number of kernel capabilities. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abe17c7bede51c7123fd0e07c3c12788a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe17c7bede51c7123fd0e07c3c12788a">&#9670;&nbsp;</a></span>svcCreateResourceLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateResourceLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>resourceLimit</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a resource limit set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">resourceLimit</td><td>Pointer to output the resource limit set handle to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6875852b77e9295f0acefa95a721a102"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6875852b77e9295f0acefa95a721a102">&#9670;&nbsp;</a></span>svcCreateSemaphore()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateSemaphore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>semaphore</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>initial_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>max_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a semaphore. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">semaphore</td><td>Pointer to output the handle of the created semaphore to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">initial_count</td><td>Initial count of the semaphore. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">max_count</td><td>Maximum count of the semaphore. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a39e82e4602ee78d3b7bc3ad95c3798cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39e82e4602ee78d3b7bc3ad95c3798cb">&#9670;&nbsp;</a></span>svcCreateSession()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateSession </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>serverSession</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>clientSession</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a linked pair of session endpoints. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">serverSession</td><td>Pointer to output the created server endpoint handle to. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">clientSession</td><td>Pointer to output the created client endpoint handle to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a562f0131519b367335c376b046d1c1aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a562f0131519b367335c376b046d1c1aa">&#9670;&nbsp;</a></span>svcCreateSessionToPort()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateSessionToPort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>clientSession</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>clientPort</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Connects to a port via a handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">clientSession</td><td>Pointer to output the client session handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">clientPort</td><td>Port client endpoint to connect to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3f62a8f1822c6a78fab2e2cb03c46893"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f62a8f1822c6a78fab2e2cb03c46893">&#9670;&nbsp;</a></span>svcCreateThread()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>thread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a>&#160;</td>
<td class="paramname"><em>entrypoint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>arg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>stack_top</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>thread_priority</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processor_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">thread</td><td>The thread handle </td></tr>
<tr><td class="paramdir"></td><td class="paramname">entrypoint</td><td>The function that will be called first upon thread creation </td></tr>
<tr><td class="paramdir"></td><td class="paramname">arg</td><td>The argument passed to <code>entrypoint</code> </td></tr>
<tr><td class="paramdir"></td><td class="paramname">stack_top</td><td>The top of the thread's stack. Must be 0x8 bytes mem-aligned. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">thread_priority</td><td>Low values gives the thread higher priority. For userland apps, this has to be within the range [0x18;0x3F] </td></tr>
<tr><td class="paramdir"></td><td class="paramname">processor_id</td><td>The id of the processor the thread should be ran on. Those are labelled starting from 0. For old 3ds it has to be &lt;2, and for new 3DS &lt;4. Value -1 means all CPUs and -2 read from the Exheader.</td></tr>
</table>
</dd>
</dl>
<p>The processor with ID 1 is the system processor. To enable multi-threading on this core you need to call APT_SetAppCpuTimeLimit at least once with a non-zero value.</p>
<p>Since a thread is considered as a waitable object, you can use <a class="el" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a> and <a class="el" href="svc_8h.html#a15341b7a1a479ea489a31a145479f5b8">svcWaitSynchronizationN</a> to join with it.</p>
<dl class="section note"><dt>Note</dt><dd>The kernel will clear the <code>stack_top's</code> address low 3 bits to make sure it is 0x8-bytes aligned. </dd></dl>
</div>
</div>
<a id="a021efa7b65d0263f55278c04c4329c5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a021efa7b65d0263f55278c04c4329c5c">&#9670;&nbsp;</a></span>svcCreateTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcCreateTimer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf">ResetType</a>&#160;</td>
<td class="paramname"><em>reset_type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a timer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">timer</td><td>Pointer to output the handle of the created timer to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">reset_type</td><td>Type of reset to perform on the timer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1fb595bace1a8798b73437b7b4ee5212"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fb595bace1a8798b73437b7b4ee5212">&#9670;&nbsp;</a></span>svcDebugActiveProcess()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcDebugActiveProcess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>processId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a debug handle for an active process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">debug</td><td>Pointer to output the created debug handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">processId</td><td>ID of the process to debug. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2fea2f7321bb5bb8fa64d4064ae07e39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fea2f7321bb5bb8fa64d4064ae07e39">&#9670;&nbsp;</a></span>svcDuplicateHandle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcDuplicateHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>original</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Duplicates a handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the duplicated handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">original</td><td>Handle to duplicate. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2ddb0d1da1ee4e65a5d2408da6239921"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ddb0d1da1ee4e65a5d2408da6239921">&#9670;&nbsp;</a></span>svcExitThread()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void svcExitThread </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Exits the current thread. </p>
<p>This will trigger a state change and hence release all <a class="el" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a> operations. It means that you can join a thread by calling</p><div class="fragment"><div class="line"><a class="code" href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a>(threadHandle,yourtimeout); </div>
<div class="ttc" id="asvc_8h_html_a4eabaa7c25d17e79026434564d484c82"><div class="ttname"><a href="svc_8h.html#a4eabaa7c25d17e79026434564d484c82">svcWaitSynchronization</a></div><div class="ttdeci">Result svcWaitSynchronization(Handle handle, s64 nanoseconds)</div><div class="ttdoc">Waits for synchronization on a handle.</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af82f17b3c13ab9cd97dff78721d24d0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af82f17b3c13ab9cd97dff78721d24d0d">&#9670;&nbsp;</a></span>svcFlushProcessDataCache()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcFlushProcessDataCache </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Flushes (cleans and invalidates) a process's data cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">addr</td><td>Address to flush. </td></tr>
<tr><td class="paramname">size</td><td>Size of the memory to flush. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a45d96608f9a397c81e8a254d8948f5c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45d96608f9a397c81e8a254d8948f5c5">&#9670;&nbsp;</a></span>svcGetDebugThreadContext()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetDebugThreadContext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structThreadContext.html">ThreadContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>threadId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a>&#160;</td>
<td class="paramname"><em>controlFlags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetches the saved registers of a thread, either inactive or awaiting <a class="el" href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">svcContinueDebugEvent</a>, belonging to a debugged process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">context</td><td>Values of the registers to fetch, see <a class="el" href="structThreadContext.html">ThreadContext</a>. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">debug</td><td>Debug handle of the parent process. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">threadId</td><td>ID of the thread to fetch the saved registers of. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">controlFlags</td><td>Which registers to fetch, see <a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad9dcfc6cb021384b48ccc7e5275bfc4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9dcfc6cb021384b48ccc7e5275bfc4b">&#9670;&nbsp;</a></span>svcGetDebugThreadParam()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetDebugThreadParam </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>unused</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>threadId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2">DebugThreadParameter</a>&#160;</td>
<td class="paramname"><em>parameter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a debugged thread's parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">unused</td><td>Unused. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Output value. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">debug</td><td>Debug handle of the process. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">threadId</td><td>ID of the thread </td></tr>
<tr><td class="paramdir"></td><td class="paramname">parameter</td><td>Parameter to fetch, see <a class="el" href="svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2">DebugThreadParameter</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afb244db47f6810fb782b5331c83c52ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb244db47f6810fb782b5331c83c52ea">&#9670;&nbsp;</a></span>svcGetDmaState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetDmaState </td>
<td>(</td>
<td class="paramtype"><a class="el" href="svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebf">DmaState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>dma</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the state of an inter-process DMA transfer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">state</td><td>Pointer to output the state of the DMA transfer to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">dma</td><td>Handle of the DMA channel object. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a48a9bb9e4b5959bebca2f32cdd3e598a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48a9bb9e4b5959bebca2f32cdd3e598a">&#9670;&nbsp;</a></span>svcGetHandleInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetHandleInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a handle info. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the handle info to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">handle</td><td>Handle to get the info for. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">param</td><td>Parameter clarifying the handle info type. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae52c7fb0b8c1046268ad81719500eb8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae52c7fb0b8c1046268ad81719500eb8f">&#9670;&nbsp;</a></span>svcGetProcessAffinityMask()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetProcessAffinityMask </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *&#160;</td>
<td class="paramname"><em>affinitymask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processorcount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a process's affinity mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">affinitymask</td><td>Pointer to store the affinity masks. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">processorcount</td><td>Number of processors. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae43be244fb71321c8101547a20b65693"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae43be244fb71321c8101547a20b65693">&#9670;&nbsp;</a></span>svcGetProcessDebugEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetProcessDebugEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDebugEventInfo.html">DebugEventInfo</a> *&#160;</td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the current debug event of a debugged process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>Pointer to output the debug event information to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">debug</td><td>Debug handle of the process. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a46395fb5e1c8f9b2311cfa260de0c2e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46395fb5e1c8f9b2311cfa260de0c2e9">&#9670;&nbsp;</a></span>svcGetProcessId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetProcessId </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the ID of a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the process ID to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">handle</td><td>Handle of the process to get the ID of. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaec6682f3ea6b524cc44d24986ccc81a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaec6682f3ea6b524cc44d24986ccc81a">&#9670;&nbsp;</a></span>svcGetProcessIdealProcessor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetProcessIdealProcessor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *&#160;</td>
<td class="paramname"><em>processorid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a process's ideal processor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">processorid</td><td>Pointer to store the ID of the process's ideal processor. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">process</td><td>Handle of the process. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="acd17333e3949eaef28ccda04dc7db0f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd17333e3949eaef28ccda04dc7db0f7">&#9670;&nbsp;</a></span>svcGetProcessIdOfThread()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetProcessIdOfThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the process ID of a thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the process ID of the thread <code>handle</code> to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">handle</td><td>Handle of the thread. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="svc_8h.html#a0348d3f35f25e455d7497687224b49a5" title="Gets the handle of a process.">svcOpenProcess</a> </dd></dl>
</div>
</div>
<a id="a09d2da81f400266901235bd6cc1c0943"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09d2da81f400266901235bd6cc1c0943">&#9670;&nbsp;</a></span>svcGetProcessInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetProcessInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets information about a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output process info to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">process</td><td>Handle of the process to get information about. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">type</td><td>Type of information to retreieve. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4895a8c4e616aecd47eb260e262b0d3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4895a8c4e616aecd47eb260e262b0d3c">&#9670;&nbsp;</a></span>svcGetProcessList()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetProcessList </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *&#160;</td>
<td class="paramname"><em>processCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>processIds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processIdMaxCount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a list of running processes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">processCount</td><td>Pointer to output the process count to. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">processIds</td><td>Pointer to output the process IDs to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">processIdMaxCount</td><td>Maximum number of process IDs. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a336600ef3fd751a23440c8f3bd331904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a336600ef3fd751a23440c8f3bd331904">&#9670;&nbsp;</a></span>svcGetProcessorID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> svcGetProcessorID </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the ID of the processor the current thread is running on. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="svc_8h.html#a3f62a8f1822c6a78fab2e2cb03c46893" title="Creates a new thread.">svcCreateThread</a> </dd></dl>
</div>
</div>
<a id="a977a76e261890d9d989451e073c5bb7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a977a76e261890d9d989451e073c5bb7e">&#9670;&nbsp;</a></span>svcGetResourceLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetResourceLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>resourceLimit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the resource limit set of a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">resourceLimit</td><td>Pointer to output the resource limit set handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">process</td><td>Process to get the resource limits of. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a198fe17448c4cb82eb5ebe4eb3a893d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a198fe17448c4cb82eb5ebe4eb3a893d8">&#9670;&nbsp;</a></span>svcGetResourceLimitCurrentValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetResourceLimitCurrentValues </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>resourceLimit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a> *&#160;</td>
<td class="paramname"><em>names</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>nameCount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the values of a resource limit set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">values</td><td>Pointer to output the values to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">resourceLimit</td><td>Resource limit set to use. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">names</td><td>Resource limit names to get the values of. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">nameCount</td><td>Number of resource limit names. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a182a314d366e0dd25d5f7786fad9a1be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a182a314d366e0dd25d5f7786fad9a1be">&#9670;&nbsp;</a></span>svcGetResourceLimitLimitValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetResourceLimitLimitValues </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>resourceLimit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a> *&#160;</td>
<td class="paramname"><em>names</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>nameCount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the value limits of a resource limit set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">values</td><td>Pointer to output the value limits to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">resourceLimit</td><td>Resource limit set to use. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">names</td><td>Resource limit names to get the limits of. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">nameCount</td><td>Number of resource limit names. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a581cf88669bf459816e5ce5899f1e378"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a581cf88669bf459816e5ce5899f1e378">&#9670;&nbsp;</a></span>svcGetSystemInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetSystemInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>param</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the system info. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the system info to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">type</td><td>Type of system info to retrieve. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">param</td><td>Parameter clarifying the system info type. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3a31bff3a0f1d8ff768911e38f70c5d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a31bff3a0f1d8ff768911e38f70c5d7">&#9670;&nbsp;</a></span>svcGetSystemTick()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> svcGetSystemTick </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the current system tick. </p>
<dl class="section return"><dt>Returns</dt><dd>The current system tick. </dd></dl>
</div>
</div>
<a id="a4d259199317256bae13fe0600e52a7d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d259199317256bae13fe0600e52a7d3">&#9670;&nbsp;</a></span>svcGetThreadAffinityMask()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetThreadAffinityMask </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *&#160;</td>
<td class="paramname"><em>affinitymask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>thread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processorcount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a thread's affinity mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">affinitymask</td><td>Pointer to output the affinity masks to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">thread</td><td>Handle of the thread. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">processorcount</td><td>Number of processors. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa528da59a295ad8a09f951e1b52c658e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa528da59a295ad8a09f951e1b52c658e">&#9670;&nbsp;</a></span>svcGetThreadId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetThreadId </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the ID of a thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the thread ID of the thread <code>handle</code> to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">handle</td><td>Handle of the thread. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a94bc1c06056b8c4d4cd7754f7a65fb34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94bc1c06056b8c4d4cd7754f7a65fb34">&#9670;&nbsp;</a></span>svcGetThreadIdealProcessor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetThreadIdealProcessor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *&#160;</td>
<td class="paramname"><em>processorid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>thread</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a thread's ideal processor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">processorid</td><td>Pointer to output the ID of the thread's ideal processor to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">thread</td><td>Handle of the thread. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5eceb4a371c0293bf2ae5c4576cbe1de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eceb4a371c0293bf2ae5c4576cbe1de">&#9670;&nbsp;</a></span>svcGetThreadInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetThreadInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>thread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a112aee8cca0c18b91f98d39db55c4807">ThreadInfoType</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if a thread handle is valid. </p>
<p>This requests always return an error when called, it only checks if the handle is a thread or not. </p><dl class="section return"><dt>Returns</dt><dd>0xD8E007ED (BAD_ENUM) if the Handle is a Thread Handle </dd>
<dd>
0xD8E007F7 (BAD_HANDLE) if it isn't. </dd></dl>
</div>
</div>
<a id="a3ef70e1f36a42f1d8e351d7bf1c9a2ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ef70e1f36a42f1d8e351d7bf1c9a2ff">&#9670;&nbsp;</a></span>svcGetThreadList()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcGetThreadList </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *&#160;</td>
<td class="paramname"><em>threadCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *&#160;</td>
<td class="paramname"><em>threadIds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>threadIdMaxCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a list of the threads of a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">threadCount</td><td>Pointer to output the thread count to. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">threadIds</td><td>Pointer to output the thread IDs to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">threadIdMaxCount</td><td>Maximum number of thread IDs. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">process</td><td>Process handle to list the threads of. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac8c9fee9e79ce2ef81585347f56f208e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8c9fee9e79ce2ef81585347f56f208e">&#9670;&nbsp;</a></span>svcInvalidateProcessDataCache()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcInvalidateProcessDataCache </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Invalidates a process's data cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">addr</td><td>Address to invalidate. </td></tr>
<tr><td class="paramname">size</td><td>Size of the memory to invalidate. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ada13386ccb8cb809658a9878a9941a8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada13386ccb8cb809658a9878a9941a8b">&#9670;&nbsp;</a></span>svcKernelSetState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcKernelSetState </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the current kernel state. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>Type of state to set (the other parameters depend on it). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a04bb64a060cd46b28be86fa30e33bb94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04bb64a060cd46b28be86fa30e33bb94">&#9670;&nbsp;</a></span>svcMapMemoryBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcMapMemoryBlock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>memblock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a>&#160;</td>
<td class="paramname"><em>my_perm</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8">MemPerm</a>&#160;</td>
<td class="paramname"><em>other_perm</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Maps a block of shared memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">memblock</td><td>Handle of the block </td></tr>
<tr><td class="paramname">addr</td><td>Address of the memory to map, page-aligned. So its alignment must be 0x1000. </td></tr>
<tr><td class="paramname">my_perm</td><td>Memory permissions for the current process </td></tr>
<tr><td class="paramname">other_perm</td><td>Memory permissions for the other processes</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The shared memory block, and its rights, are destroyed when the handle is closed. </dd></dl>
</div>
</div>
<a id="a8114b51a10d4515b71ecf5e0b2416a96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8114b51a10d4515b71ecf5e0b2416a96">&#9670;&nbsp;</a></span>svcMapProcessMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcMapProcessMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>destAddress</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Maps a block of process memory, starting from address 0x00100000. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">destAddress</td><td>Address of the block of memory to map, in the current (destination) process. </td></tr>
<tr><td class="paramname">size</td><td>Size of the block of memory to map (truncated to a multiple of 0x1000 bytes). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0348d3f35f25e455d7497687224b49a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0348d3f35f25e455d7497687224b49a5">&#9670;&nbsp;</a></span>svcOpenProcess()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcOpenProcess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>processId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the handle of a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">process</td><td>The handle of the process </td></tr>
<tr><td class="paramdir"></td><td class="paramname">processId</td><td>The ID of the process to open </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aead5817ed16bb2e3f9dfe228dea2c81a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aead5817ed16bb2e3f9dfe228dea2c81a">&#9670;&nbsp;</a></span>svcOpenThread()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcOpenThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>thread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>threadId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the handle of a thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">thread</td><td>The handle of the thread </td></tr>
<tr><td class="paramdir"></td><td class="paramname">process</td><td>The ID of the process linked to the thread </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1deb19f13c53015347aa5c8785fe612e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1deb19f13c53015347aa5c8785fe612e">&#9670;&nbsp;</a></span>svcOutputDebugString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcOutputDebugString </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a debug string. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">str</td><td>String to output. </td></tr>
<tr><td class="paramname">length</td><td>Length of the string to output, needs to be positive. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a701306ea4d920baf3243f0fe7139fb9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a701306ea4d920baf3243f0fe7139fb9f">&#9670;&nbsp;</a></span>svcQueryDebugProcessMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcQueryDebugProcessMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structMemInfo.html">MemInfo</a> *&#160;</td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structPageInfo.html">PageInfo</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Queries memory information of a debugged process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>Pointer to output memory info to. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output page info to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">debug</td><td>Debug handle of the process to query memory from. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">addr</td><td>Virtual memory address to query. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9809212def892f6baf31c7cd6754ed02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9809212def892f6baf31c7cd6754ed02">&#9670;&nbsp;</a></span>svcQueryMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcQueryMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structMemInfo.html">MemInfo</a> *&#160;</td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structPageInfo.html">PageInfo</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Queries memory information. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>Pointer to output memory info to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">out</td><td>Pointer to output page info to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">addr</td><td>Virtual memory address to query. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa9dc250e97f58dca935bcee31549f3e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9dc250e97f58dca935bcee31549f3e7">&#9670;&nbsp;</a></span>svcQueryProcessMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcQueryProcessMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structMemInfo.html">MemInfo</a> *&#160;</td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structPageInfo.html">PageInfo</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Queries process memory information. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>Pointer to output memory info to. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output page info to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">process</td><td>Process to query memory from. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">addr</td><td>Virtual memory address to query. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7d5848ed471a047cd3298615c4c49f6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d5848ed471a047cd3298615c4c49f6c">&#9670;&nbsp;</a></span>svcReadProcessMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcReadProcessMemory </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads from a debugged process's memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buffer</td><td>Buffer to read data to. </td></tr>
<tr><td class="paramname">debug</td><td>Debug handle of the process. </td></tr>
<tr><td class="paramname">addr</td><td>Address to read from. </td></tr>
<tr><td class="paramname">size</td><td>Size of the memory to read. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a29c27d98f1ce96951af4057503b6641e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29c27d98f1ce96951af4057503b6641e">&#9670;&nbsp;</a></span>svcReleaseMutex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcReleaseMutex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases a mutex. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Handle of the mutex. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8c072d1a9707bb0324b4ba2e7c4fc794"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c072d1a9707bb0324b4ba2e7c4fc794">&#9670;&nbsp;</a></span>svcReleaseSemaphore()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcReleaseSemaphore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>semaphore</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>release_count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases a semaphore. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">count</td><td>Pointer to output the current count of the semaphore to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">semaphore</td><td>Handle of the semaphore. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">release_count</td><td>Number to increase the semaphore count by. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaef69fd9d538247e3e48815592de4df1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaef69fd9d538247e3e48815592de4df1">&#9670;&nbsp;</a></span>svcReplyAndReceive()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcReplyAndReceive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>handles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>handleCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>replyTarget</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Replies to and receives a new request. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>Pointer to the index of the request. </td></tr>
<tr><td class="paramname">handles</td><td>Session handles to receive requests from. </td></tr>
<tr><td class="paramname">handleCount</td><td>Number of handles. </td></tr>
<tr><td class="paramname">replyTarget</td><td>Handle of the session to reply to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aab7a1755c547a1ff2b9f2a6f45e57073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab7a1755c547a1ff2b9f2a6f45e57073">&#9670;&nbsp;</a></span>svcRestartDma()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcRestartDma </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>dma</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>dstAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>srcAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a9e382f207c65ca13ab4ae98363aeda80">s8</a>&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Restarts a DMA transfer, using the same configuration as before. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">state</td><td>Pointer to output the state of the DMA transfer to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">dma</td><td>Handle of the DMA channel object. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">dstAddr</td><td>Address in the destination process to write data to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">srcAddr</td><td>Address in the source to read data from. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of the data to transfer. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">flags</td><td>Restart flags, <a class="el" href="svc_8h.html#a7859c0a3efa8b1c360f5c2376baf051eae57d3f8a94c001e6d7d3bcf05cdd91f0">DMARST_UNLOCK</a> and/or <a class="el" href="svc_8h.html#a7859c0a3efa8b1c360f5c2376baf051eafba2c004446b8bcc6c178cc2ebcc9320">DMARST_RESUME_DEVICE</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The first transfer has to be configured with <a class="el" href="svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aaf5ab7887ce35d2081382ebcca6f244a7">DMACFG_KEEP_LOCKED</a>. </dd></dl>
</div>
</div>
<a id="a20ea2b0b1a60242d167664de882a4562"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20ea2b0b1a60242d167664de882a4562">&#9670;&nbsp;</a></span>svcRun()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcRun </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structStartupInfo.html">StartupInfo</a> *&#160;</td>
<td class="paramname"><em>info</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Launches the main thread of the process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">info</td><td>Pointer to a <a class="el" href="structStartupInfo.html" title="Information for the main thread of a process.">StartupInfo</a> structure describing information for the main thread. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3e2f6333bfcd2a2953b5bde79122e913"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e2f6333bfcd2a2953b5bde79122e913">&#9670;&nbsp;</a></span>svcSendSyncRequest()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSendSyncRequest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>session</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a synchronized request to a session handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">session</td><td>Handle of the session. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aec567b6e8ea8fe1ac41ac1fe117a6345"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec567b6e8ea8fe1ac41ac1fe117a6345">&#9670;&nbsp;</a></span>svcSetDebugThreadContext()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetDebugThreadContext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>threadId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structThreadContext.html">ThreadContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a>&#160;</td>
<td class="paramname"><em>controlFlags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Updates the saved registers of a thread, either inactive or awaiting <a class="el" href="svc_8h.html#a6afb068c84788f20213bb66c55d7a343">svcContinueDebugEvent</a>, belonging to a debugged process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">debug</td><td>Debug handle of the parent process. </td></tr>
<tr><td class="paramname">threadId</td><td>ID of the thread to update the saved registers of. </td></tr>
<tr><td class="paramname">context</td><td>Values of the registers to update, see <a class="el" href="structThreadContext.html">ThreadContext</a>. </td></tr>
<tr><td class="paramname">controlFlags</td><td>Which registers to update, see <a class="el" href="svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742">ThreadContextControlFlags</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a73d737b48868304a3e144abc6f73ec8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73d737b48868304a3e144abc6f73ec8f">&#9670;&nbsp;</a></span>svcSetGpuProt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetGpuProt </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>useApplicationRestriction</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the GPU protection register to restrict the range of the GPU DMA. </p>
<p>11.3+ only. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">useApplicationRestriction</td><td>Whether to use the register value used for APPLICATION titles. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab31e6106eb7e5f4b7ef62cca1054e83f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab31e6106eb7e5f4b7ef62cca1054e83f">&#9670;&nbsp;</a></span>svcSetHardwareBreakPoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetHardwareBreakPoint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>registerId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>control</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets an hardware breakpoint or watchpoint. </p>
<p>This is an interface to the BRP/WRP registers, see <a href="http://infocenter.arm.com/help/topic/com.arm.doc.ddi0360f/CEGEBGFC.html">http://infocenter.arm.com/help/topic/com.arm.doc.ddi0360f/CEGEBGFC.html</a> . </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">registerId</td><td>range 0..5 = breakpoints (BRP0-5), 0x100..0x101 = watchpoints (WRP0-1). The previous stop point for the register is disabled. </td></tr>
<tr><td class="paramname">control</td><td>Value of the control regiser. </td></tr>
<tr><td class="paramname">value</td><td>Value of the value register: either and address (if bit21 of control is clear) or the debug handle of a process to fetch the context ID of. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aee49171a3a435f8879a019620b51dcd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee49171a3a435f8879a019620b51dcd0">&#9670;&nbsp;</a></span>svcSetProcessAffinityMask()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetProcessAffinityMask </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *&#160;</td>
<td class="paramname"><em>affinitymask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processorcount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a process's affinity mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">affinitymask</td><td>Pointer to retrieve the affinity masks from. </td></tr>
<tr><td class="paramname">processorcount</td><td>Number of processors. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7e7666520d212d0b7de8c703b4c3b00e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e7666520d212d0b7de8c703b4c3b00e">&#9670;&nbsp;</a></span>svcSetProcessIdealProcessor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetProcessIdealProcessor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processorid</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a process's ideal processor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">processorid</td><td>ID of the process's ideal processor. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a71a716eb986a0a9ef0e56ab0ffd2122e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71a716eb986a0a9ef0e56ab0ffd2122e">&#9670;&nbsp;</a></span>svcSetProcessResourceLimits()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetProcessResourceLimits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>resourceLimit</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the resource limit set of a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Process to set the resource limit set to. </td></tr>
<tr><td class="paramname">resourceLimit</td><td>Resource limit set handle. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6f7ab132d9cc85cdff043a05fdd1fe34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f7ab132d9cc85cdff043a05fdd1fe34">&#9670;&nbsp;</a></span>svcSetResourceLimitValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetResourceLimitValues </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>resourceLimit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a">ResourceLimitType</a> *&#160;</td>
<td class="paramname"><em>names</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>nameCount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the value limits of a resource limit set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">resourceLimit</td><td>Resource limit set to use. </td></tr>
<tr><td class="paramname">names</td><td>Resource limit names to set the limits of. </td></tr>
<tr><td class="paramname">values</td><td>Value limits to set. The high 32 bits of RESLIMIT_COMMIT are used to set APPMEMALLOC in configuration memory, otherwise those bits are unused. </td></tr>
<tr><td class="paramname">nameCount</td><td>Number of resource limit names. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7c00a1577efa9e79fdfd5d301132467b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c00a1577efa9e79fdfd5d301132467b">&#9670;&nbsp;</a></span>svcSetThreadAffinityMask()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetThreadAffinityMask </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>thread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *&#160;</td>
<td class="paramname"><em>affinitymask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processorcount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a thread's affinity mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">thread</td><td>Handle of the thread. </td></tr>
<tr><td class="paramname">affinitymask</td><td>Pointer to retrieve the affinity masks from. </td></tr>
<tr><td class="paramname">processorcount</td><td>Number of processors. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae4f42994fe420745b8d079d791441d42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4f42994fe420745b8d079d791441d42">&#9670;&nbsp;</a></span>svcSetThreadIdealProcessor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetThreadIdealProcessor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>thread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>processorid</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a thread's ideal processor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">thread</td><td>Handle of the thread. </td></tr>
<tr><td class="paramname">processorid</td><td>ID of the thread's ideal processor. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae50054f7b88b075eca23b05b92fb1582"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae50054f7b88b075eca23b05b92fb1582">&#9670;&nbsp;</a></span>svcSetThreadPriority()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetThreadPriority </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>thread</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>prio</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the priority of a thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">prio</td><td>For userland apps, this has to be within the range [0x18;0x3F]</td></tr>
</table>
</dd>
</dl>
<p>Low values gives the thread higher priority. </p>
</div>
</div>
<a id="ab3d7b4a986e1f146dfc4d6149d1a5b5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3d7b4a986e1f146dfc4d6149d1a5b5b">&#9670;&nbsp;</a></span>svcSetTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetTimer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>initial</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>interval</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a timer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timer</td><td>Handle of the timer to set. </td></tr>
<tr><td class="paramname">initial</td><td>Initial value of the timer. </td></tr>
<tr><td class="paramname">interval</td><td>Interval of the timer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5a7ca823accc7d580ae25fe385322bbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a7ca823accc7d580ae25fe385322bbb">&#9670;&nbsp;</a></span>svcSetWifiEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSetWifiEnabled </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables Wi-Fi. </p>
<p>11.4+ only. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>Whether to enable or disable Wi-Fi. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af1c2d3d3b17455505aa7d277ba230a7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1c2d3d3b17455505aa7d277ba230a7a">&#9670;&nbsp;</a></span>svcSignalEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcSignalEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Signals an event. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Handle of the event to signal. </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="threads_2event_2source_2main_8c-example.html#a14">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="ae1fad9317c81076e1394a376ab27c720"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1fad9317c81076e1394a376ab27c720">&#9670;&nbsp;</a></span>svcSleepThread()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void svcSleepThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>ns</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Puts the current thread to sleep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ns</td><td>The minimum number of nanoseconds to sleep for. </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="network_2boss_2source_2main_8c-example.html#a14">network/boss/source/main.c</a>, and <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a1">threads/thread-basic/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="af8008fc36f898e4e2def32627cb96b47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8008fc36f898e4e2def32627cb96b47">&#9670;&nbsp;</a></span>svcStartInterProcessDma()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcStartInterProcessDma </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>dma</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>dstProcess</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>dstAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>srcProcess</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>srcAddr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structDmaConfig.html">DmaConfig</a> *&#160;</td>
<td class="paramname"><em>cfg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Begins an inter-process DMA transfer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dma</td><td>Pointer to output the handle of the DMA channel object to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">dstProcess</td><td>Destination process handle. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">dstAddr</td><td>Address in the destination process to write data to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">srcProcess</td><td>Source process handle. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">srcAddr</td><td>Address in the source to read data from. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">size</td><td>Size of the data to transfer. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">cfg</td><td>Configuration structure. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The handle is signaled when the transfer finishes. </dd></dl>
</div>
</div>
<a id="ac827a6c2a3d84f484463f3206e688e01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac827a6c2a3d84f484463f3206e688e01">&#9670;&nbsp;</a></span>svcStopDma()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcStopDma </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>dma</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Stops an inter-process DMA transfer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dma</td><td>Handle of the DMA channel object. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab540f40958124e21d461ef4a423997f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab540f40958124e21d461ef4a423997f8">&#9670;&nbsp;</a></span>svcStoreProcessDataCache()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcStoreProcessDataCache </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Cleans a process's data cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">addr</td><td>Address to clean. </td></tr>
<tr><td class="paramname">size</td><td>Size of the memory to clean. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aea161e7c96b51fd4db42a168f678d413"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea161e7c96b51fd4db42a168f678d413">&#9670;&nbsp;</a></span>svcTerminateDebugProcess()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcTerminateDebugProcess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Terminates a debugged process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">debug</td><td>Debug handle of the process. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a01228468ee9651a6480002cb381fe55e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01228468ee9651a6480002cb381fe55e">&#9670;&nbsp;</a></span>svcTerminateProcess()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcTerminateProcess </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Terminates a process. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process to terminate. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aecce8ec0ae7a047d6df92e8dafd6e099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecce8ec0ae7a047d6df92e8dafd6e099">&#9670;&nbsp;</a></span>svcUnbindInterrupt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcUnbindInterrupt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>interruptId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>eventOrSemaphore</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unbinds an event or semaphore handle from an ARM11 interrupt. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">interruptId</td><td>Interrupt identfier, see (see <a href="https://www.3dbrew.org/wiki/ARM11_Interrupts">https://www.3dbrew.org/wiki/ARM11_Interrupts</a>). </td></tr>
<tr><td class="paramname">eventOrSemaphore</td><td>Event or semaphore handle to unbind from the given interrupt. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1e796b6048ab85155160599ce9496142"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e796b6048ab85155160599ce9496142">&#9670;&nbsp;</a></span>svcUnmapMemoryBlock()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcUnmapMemoryBlock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>memblock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unmaps a block of shared memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">memblock</td><td>Handle of the block </td></tr>
<tr><td class="paramname">addr</td><td>Address of the memory to unmap, page-aligned. So its alignment must be 0x1000. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab1e5db22e50e03cb4f14e46f09f7635a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1e5db22e50e03cb4f14e46f09f7635a">&#9670;&nbsp;</a></span>svcUnmapProcessMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcUnmapProcessMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>process</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>destAddress</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unmaps a block of process memory, starting from address 0x00100000. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">process</td><td>Handle of the process. </td></tr>
<tr><td class="paramname">destAddress</td><td>Address of the block of memory to unmap, in the current (destination) process. </td></tr>
<tr><td class="paramname">size</td><td>Size of the block of memory to unmap (truncated to a multiple of 0x1000 bytes). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4eabaa7c25d17e79026434564d484c82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eabaa7c25d17e79026434564d484c82">&#9670;&nbsp;</a></span>svcWaitSynchronization()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcWaitSynchronization </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>nanoseconds</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for synchronization on a handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Handle to wait on. </td></tr>
<tr><td class="paramname">nanoseconds</td><td>Maximum nanoseconds to wait for. </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="camera_2image_2source_2main_8c-example.html#a23">camera/image/source/main.c</a>, <a class="el" href="camera_2video_2source_2main_8c-example.html#a23">camera/video/source/main.c</a>, and <a class="el" href="threads_2event_2source_2main_8c-example.html#a0">threads/event/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="a15341b7a1a479ea489a31a145479f5b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15341b7a1a479ea489a31a145479f5b8">&#9670;&nbsp;</a></span>svcWaitSynchronizationN()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcWaitSynchronizationN </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td>
<td class="paramname"><em>handles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>handles_num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>wait_all</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>nanoseconds</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Waits for synchronization on multiple handles. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">out</td><td>Pointer to output the index of the synchronized handle to. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">handles</td><td>Handles to wait on. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">handles_num</td><td>Number of handles. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">wait_all</td><td>Whether to wait for synchronization on all handles. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">nanoseconds</td><td>Maximum nanoseconds to wait for. </td></tr>
</table>
</dd>
</dl>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="camera_2video_2source_2main_8c-example.html#a52">camera/video/source/main.c</a>.</dd>
</dl>
</div>
</div>
<a id="a141d92c97fb3f2565c657dd721e1e30c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a141d92c97fb3f2565c657dd721e1e30c">&#9670;&nbsp;</a></span>svcWriteProcessMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> svcWriteProcessMemory </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td>
<td class="paramname"><em>debug</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes to a debugged process's memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">debug</td><td>Debug handle of the process. </td></tr>
<tr><td class="paramname">buffer</td><td>Buffer to write data from. </td></tr>
<tr><td class="paramname">addr</td><td>Address to write to. </td></tr>
<tr><td class="paramname">size</td><td>Size of the memory to write. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>