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

538 lines
35 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/services/ptmsysm.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><li class="navelem"><a class="el" href="dir_0e005207343684f6967052d1f51a7e66.html">services</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">ptmsysm.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>PTMSYSM service.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="types_8h_source.html">3ds/types.h</a>&gt;</code><br />
</div>
<p><a href="ptmsysm_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="structPtmWakeEvents.html">PtmWakeEvents</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">PDN wake events and MCU interrupts to select, combined with those of other processes. <a href="structPtmWakeEvents.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="structPtmSleepConfig.html">PtmSleepConfig</a></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="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ade9ca5088d171ad20b4c237f1c2d6260"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a6490f366258c14eb20fa74f9f666dc9d">PTMNOTIFID_SLEEP_REQUESTED</a> = 0x101
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260aed7fc1734e7eef6708878d774ba09a26">PTMNOTIFID_SLEEP_DENIED</a> = 0x102
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a91a4c4b264043242d2592c0c6d74d842">PTMNOTIFID_SLEEP_ALLOWED</a> = 0x103
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a6f65fae1c0eb882a248329ef0782ed15">PTMNOTIFID_GOING_TO_SLEEP</a> = 0x104
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a5df69cbc1093d8405f4fcdd64516e03d">PTMNOTIFID_FULLY_WAKING_UP</a> = 0x105
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a133ae28ac9e50cdbf71c2fa6d5acb526">PTMNOTIFID_FULLY_AWAKE</a> = 0x106
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a086a20094e0175f65299818a2a717906">PTMNOTIFID_HALF_AWAKE</a> = 0x107
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a73e5e7474c1539db28de7cb6feda6be4">PTMNOTIFID_SHUTDOWN</a> = 0x108
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a8fec2ba82ed5cda60d6e68583b20f986">PTMNOTIFID_BATTERY_VERY_LOW</a> = 0x211
, <br />
&#160;&#160;<a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a8ea039dbda684f986481156d5ad5f982">PTMNOTIFID_BATTERY_LOW</a> = 0x212
<br />
}</td></tr>
<tr class="separator:ade9ca5088d171ad20b4c237f1c2d6260"><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:acf6fa1e0bd96df1a0f9ad97508787991"><td class="memItemLeft" align="right" valign="top"><a id="acf6fa1e0bd96df1a0f9ad97508787991"></a>
static <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ptmsysm_8h.html#acf6fa1e0bd96df1a0f9ad97508787991">ptmSysmGetNotificationAckValue</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> id)</td></tr>
<tr class="memdesc:acf6fa1e0bd96df1a0f9ad97508787991"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="ptmsysm_8h.html#aa265103791deeeca53f91be474925725">PTMSYSM_NotifySleepPreparationComplete</a>. Corresponds to the number of potentially remaning notifs. until sleep/wakeup. <br /></td></tr>
<tr class="separator:acf6fa1e0bd96df1a0f9ad97508787991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18359abfe6fcd1708769ef2dae98ed50"><td class="memItemLeft" align="right" valign="top"><a id="a18359abfe6fcd1708769ef2dae98ed50"></a>
<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ptmsysm_8h.html#a18359abfe6fcd1708769ef2dae98ed50">ptmSysmInit</a> (void)</td></tr>
<tr class="memdesc:a18359abfe6fcd1708769ef2dae98ed50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes ptm:sysm. <br /></td></tr>
<tr class="separator:a18359abfe6fcd1708769ef2dae98ed50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8300d0f183d7b958550da5bea974274"><td class="memItemLeft" align="right" valign="top"><a id="ae8300d0f183d7b958550da5bea974274"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ptmsysm_8h.html#ae8300d0f183d7b958550da5bea974274">ptmSysmExit</a> (void)</td></tr>
<tr class="memdesc:ae8300d0f183d7b958550da5bea974274"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exits ptm:sysm. <br /></td></tr>
<tr class="separator:ae8300d0f183d7b958550da5bea974274"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada6971fd9650be6cd008ba792e129bf0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ptmsysm_8h.html#ada6971fd9650be6cd008ba792e129bf0">ptmSysmGetSessionHandle</a> (void)</td></tr>
<tr class="memdesc:ada6971fd9650be6cd008ba792e129bf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a pointer to the current ptm:sysm session handle. <a href="ptmsysm_8h.html#ada6971fd9650be6cd008ba792e129bf0">More...</a><br /></td></tr>
<tr class="separator:ada6971fd9650be6cd008ba792e129bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5501c04a329a37b24189034808eb9cd"><td class="memItemLeft" align="right" valign="top"><a id="ae5501c04a329a37b24189034808eb9cd"></a>
<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ptmsysm_8h.html#ae5501c04a329a37b24189034808eb9cd">PTMSYSM_RequestSleep</a> (void)</td></tr>
<tr class="memdesc:ae5501c04a329a37b24189034808eb9cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests to enter sleep mode. <br /></td></tr>
<tr class="separator:ae5501c04a329a37b24189034808eb9cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b268a8d3c3aa23dcf2c7980f0a0dedd"><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="ptmsysm_8h.html#a8b268a8d3c3aa23dcf2c7980f0a0dedd">PTMSYSM_ReplyToSleepQuery</a> (bool deny)</td></tr>
<tr class="memdesc:a8b268a8d3c3aa23dcf2c7980f0a0dedd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts or denies the incoming sleep mode request. <a href="ptmsysm_8h.html#a8b268a8d3c3aa23dcf2c7980f0a0dedd">More...</a><br /></td></tr>
<tr class="separator:a8b268a8d3c3aa23dcf2c7980f0a0dedd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa265103791deeeca53f91be474925725"><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="ptmsysm_8h.html#aa265103791deeeca53f91be474925725">PTMSYSM_NotifySleepPreparationComplete</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> ackValue)</td></tr>
<tr class="memdesc:aa265103791deeeca53f91be474925725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledges the current sleep notification and advance the internal sleep mode FSM. <a href="ptmsysm_8h.html#aa265103791deeeca53f91be474925725">More...</a><br /></td></tr>
<tr class="separator:aa265103791deeeca53f91be474925725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecfca4fd6f9d473493516de461deba18"><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="ptmsysm_8h.html#aecfca4fd6f9d473493516de461deba18">PTMSYSM_SetWakeEvents</a> (const <a class="el" href="structPtmSleepConfig.html">PtmSleepConfig</a> *sleepConfig)</td></tr>
<tr class="memdesc:aecfca4fd6f9d473493516de461deba18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the wake events (two sets: when to fully wake up and when to return to sleep). <a href="ptmsysm_8h.html#aecfca4fd6f9d473493516de461deba18">More...</a><br /></td></tr>
<tr class="separator:aecfca4fd6f9d473493516de461deba18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ae143e353519db8711e63eb8980c8c"><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="ptmsysm_8h.html#a69ae143e353519db8711e63eb8980c8c">PTMSYSM_GetWakeReason</a> (<a class="el" href="structPtmSleepConfig.html">PtmSleepConfig</a> *outSleepConfig)</td></tr>
<tr class="memdesc:a69ae143e353519db8711e63eb8980c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the wake reason (only the first applicable wake event is taken into account). <a href="ptmsysm_8h.html#a69ae143e353519db8711e63eb8980c8c">More...</a><br /></td></tr>
<tr class="separator:a69ae143e353519db8711e63eb8980c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e3b9fb2cb0a7576948f273b8391ac45"><td class="memItemLeft" align="right" valign="top"><a id="a4e3b9fb2cb0a7576948f273b8391ac45"></a>
<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ptmsysm_8h.html#a4e3b9fb2cb0a7576948f273b8391ac45">PTMSYSM_Awaken</a> (void)</td></tr>
<tr class="memdesc:a4e3b9fb2cb0a7576948f273b8391ac45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancels the "half-awake" state and fully wakes up the 3DS after some delay. <br /></td></tr>
<tr class="separator:a4e3b9fb2cb0a7576948f273b8391ac45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5311117e22d63ad0d84a3a1fef16525a"><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="ptmsysm_8h.html#a5311117e22d63ad0d84a3a1fef16525a">PTMSYSM_SetUserTime</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> msY2k)</td></tr>
<tr class="memdesc:a5311117e22d63ad0d84a3a1fef16525a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user time by updating the user time offset. <a href="ptmsysm_8h.html#a5311117e22d63ad0d84a3a1fef16525a">More...</a><br /></td></tr>
<tr class="separator:a5311117e22d63ad0d84a3a1fef16525a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea12e1fa8dfc2ecfe236f2e24d4de0dd"><td class="memItemLeft" align="right" valign="top"><a id="aea12e1fa8dfc2ecfe236f2e24d4de0dd"></a>
<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ptmsysm_8h.html#aea12e1fa8dfc2ecfe236f2e24d4de0dd">PTMSYSM_InvalidateSystemTime</a> (void)</td></tr>
<tr class="memdesc:aea12e1fa8dfc2ecfe236f2e24d4de0dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalidates the "system time" (cfg block 0x30002) <br /></td></tr>
<tr class="separator:aea12e1fa8dfc2ecfe236f2e24d4de0dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81fb540478a7ab024ed5bc725da32f7a"><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="ptmsysm_8h.html#a81fb540478a7ab024ed5bc725da32f7a">PTMSYSM_GetRtcTime</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *outMsY2k)</td></tr>
<tr class="memdesc:a81fb540478a7ab024ed5bc725da32f7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the time and date coming from the RTC and converts the result. <a href="ptmsysm_8h.html#a81fb540478a7ab024ed5bc725da32f7a">More...</a><br /></td></tr>
<tr class="separator:a81fb540478a7ab024ed5bc725da32f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13318734305af44a7aa5152c2e6f3fcc"><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="ptmsysm_8h.html#a13318734305af44a7aa5152c2e6f3fcc">PTMSYSM_SetRtcTime</a> (<a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> msY2k)</td></tr>
<tr class="memdesc:a13318734305af44a7aa5152c2e6f3fcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the time and date coming to the RTC, after conversion. <a href="ptmsysm_8h.html#a13318734305af44a7aa5152c2e6f3fcc">More...</a><br /></td></tr>
<tr class="separator:a13318734305af44a7aa5152c2e6f3fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a841675f8618d5ad7f8fecc66625bb187"><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="ptmsysm_8h.html#a841675f8618d5ad7f8fecc66625bb187">PTMSYSM_CheckNew3DS</a> (bool *out)</td></tr>
<tr class="memdesc:a841675f8618d5ad7f8fecc66625bb187"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the system is a New 3DS. <a href="ptmsysm_8h.html#a841675f8618d5ad7f8fecc66625bb187">More...</a><br /></td></tr>
<tr class="separator:a841675f8618d5ad7f8fecc66625bb187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3a437bfd0de05fbc5ba9a460d148430"><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="ptmsysm_8h.html#ae3a437bfd0de05fbc5ba9a460d148430">PTMSYSM_ConfigureNew3DSCPU</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> value)</td></tr>
<tr class="memdesc:ae3a437bfd0de05fbc5ba9a460d148430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the New 3DS' CPU clock speed and L2 cache. <a href="ptmsysm_8h.html#ae3a437bfd0de05fbc5ba9a460d148430">More...</a><br /></td></tr>
<tr class="separator:ae3a437bfd0de05fbc5ba9a460d148430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79e300f7b08e04795fdba69d03892b6c"><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="ptmsysm_8h.html#a79e300f7b08e04795fdba69d03892b6c">PTMSYSM_ShutdownAsync</a> (<a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout)</td></tr>
<tr class="memdesc:a79e300f7b08e04795fdba69d03892b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trigger a hardware system shutdown via the MCU. <a href="ptmsysm_8h.html#a79e300f7b08e04795fdba69d03892b6c">More...</a><br /></td></tr>
<tr class="separator:a79e300f7b08e04795fdba69d03892b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a036f533b3bbbc4ef2e60bdf9a00f52f1"><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="ptmsysm_8h.html#a036f533b3bbbc4ef2e60bdf9a00f52f1">PTMSYSM_RebootAsync</a> (<a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> timeout)</td></tr>
<tr class="memdesc:a036f533b3bbbc4ef2e60bdf9a00f52f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trigger a hardware system reboot via the MCU. <a href="ptmsysm_8h.html#a036f533b3bbbc4ef2e60bdf9a00f52f1">More...</a><br /></td></tr>
<tr class="separator:a036f533b3bbbc4ef2e60bdf9a00f52f1"><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>PTMSYSM service. </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ade9ca5088d171ad20b4c237f1c2d6260"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade9ca5088d171ad20b4c237f1c2d6260">&#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">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a6490f366258c14eb20fa74f9f666dc9d"></a>PTMNOTIFID_SLEEP_REQUESTED&#160;</td><td class="fielddoc"><p><a class="el" href="ptmsysm_8h.html#ae5501c04a329a37b24189034808eb9cd">PTMSYSM_RequestSleep</a> has been called (ack = 3) </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260aed7fc1734e7eef6708878d774ba09a26"></a>PTMNOTIFID_SLEEP_DENIED&#160;</td><td class="fielddoc"><p>The sleep request has been denied by PTMSYSM_ReplyToSleepQuery(true) (no ack required). </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a91a4c4b264043242d2592c0c6d74d842"></a>PTMNOTIFID_SLEEP_ALLOWED&#160;</td><td class="fielddoc"><p>The sleep request has been allowed by PTMSYSM_ReplyToSleepQuery(false) (ack = 1). </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a6f65fae1c0eb882a248329ef0782ed15"></a>PTMNOTIFID_GOING_TO_SLEEP&#160;</td><td class="fielddoc"><p>All processes not having "RunnableOnSleep" have been paused &amp; the system is about to go to sleep (ack = 0). </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a5df69cbc1093d8405f4fcdd64516e03d"></a>PTMNOTIFID_FULLY_WAKING_UP&#160;</td><td class="fielddoc"><p>The system has been woken up, and the paused processes are about to be unpaused (ack = 1). </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a133ae28ac9e50cdbf71c2fa6d5acb526"></a>PTMNOTIFID_FULLY_AWAKE&#160;</td><td class="fielddoc"><p>The system is fully awake (no ack required). </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a086a20094e0175f65299818a2a717906"></a>PTMNOTIFID_HALF_AWAKE&#160;</td><td class="fielddoc"><p>The system has been woken up but is about to go to sleep again (ack = 2). </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a73e5e7474c1539db28de7cb6feda6be4"></a>PTMNOTIFID_SHUTDOWN&#160;</td><td class="fielddoc"><p>The system is about to power off or reboot. </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a8fec2ba82ed5cda60d6e68583b20f986"></a>PTMNOTIFID_BATTERY_VERY_LOW&#160;</td><td class="fielddoc"><p>The battery level has reached 5% or below. </p>
</td></tr>
<tr><td class="fieldname"><a id="ade9ca5088d171ad20b4c237f1c2d6260a8ea039dbda684f986481156d5ad5f982"></a>PTMNOTIFID_BATTERY_LOW&#160;</td><td class="fielddoc"><p>The battery level has reached 10% or below. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a841675f8618d5ad7f8fecc66625bb187"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a841675f8618d5ad7f8fecc66625bb187">&#9670;&nbsp;</a></span>PTMSYSM_CheckNew3DS()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_CheckNew3DS </td>
<td>(</td>
<td class="paramtype">bool *&#160;</td>
<td class="paramname"><em>out</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks whether the system is a New 3DS. </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 write the New 3DS flag to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae3a437bfd0de05fbc5ba9a460d148430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3a437bfd0de05fbc5ba9a460d148430">&#9670;&nbsp;</a></span>PTMSYSM_ConfigureNew3DSCPU()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_ConfigureNew3DSCPU </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the New 3DS' CPU clock speed and L2 cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>Bit0: enable higher clock, Bit1: enable L2 cache. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a81fb540478a7ab024ed5bc725da32f7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81fb540478a7ab024ed5bc725da32f7a">&#9670;&nbsp;</a></span>PTMSYSM_GetRtcTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_GetRtcTime </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a> *&#160;</td>
<td class="paramname"><em>outMsY2k</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads the time and date coming from the RTC and converts the result. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">outMsY2k</td><td>The pointer to write the number of milliseconds since 01/01/2000 to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a69ae143e353519db8711e63eb8980c8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69ae143e353519db8711e63eb8980c8c">&#9670;&nbsp;</a></span>PTMSYSM_GetWakeReason()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_GetWakeReason </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structPtmSleepConfig.html">PtmSleepConfig</a> *&#160;</td>
<td class="paramname"><em>outSleepConfig</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the wake reason (only the first applicable wake event is taken into account). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sleepConfig</td><td>Pointer to the two sets of wake events. Only the relevant set will be filled. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa265103791deeeca53f91be474925725"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa265103791deeeca53f91be474925725">&#9670;&nbsp;</a></span>PTMSYSM_NotifySleepPreparationComplete()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_NotifySleepPreparationComplete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a>&#160;</td>
<td class="paramname"><em>ackValue</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledges the current sleep notification and advance the internal sleep mode FSM. </p>
<p>All subscribers must reply. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ackValue</td><td>Use <a class="el" href="ptmsysm_8h.html#acf6fa1e0bd96df1a0f9ad97508787991">ptmSysmGetNotificationAckValue</a> </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260aed7fc1734e7eef6708878d774ba09a26">PTMNOTIFID_SLEEP_DENIED</a> and <a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a133ae28ac9e50cdbf71c2fa6d5acb526">PTMNOTIFID_FULLY_AWAKE</a> don't require this. </dd></dl>
</div>
</div>
<a id="a036f533b3bbbc4ef2e60bdf9a00f52f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a036f533b3bbbc4ef2e60bdf9a00f52f1">&#9670;&nbsp;</a></span>PTMSYSM_RebootAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_RebootAsync </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td>
<td class="paramname"><em>timeout</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Trigger a hardware system reboot via the MCU. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>timeout passed to PMApp:ShutdownAsync (PrepareForReboot). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8b268a8d3c3aa23dcf2c7980f0a0dedd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b268a8d3c3aa23dcf2c7980f0a0dedd">&#9670;&nbsp;</a></span>PTMSYSM_ReplyToSleepQuery()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_ReplyToSleepQuery </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deny</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Accepts or denies the incoming sleep mode request. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deny</td><td>Whether or not to deny the sleep request. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If deny = false, this is equivalent to calling PTMSYSM_NotifySleepPreparationComplete(3) </dd></dl>
</div>
</div>
<a id="a13318734305af44a7aa5152c2e6f3fcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13318734305af44a7aa5152c2e6f3fcc">&#9670;&nbsp;</a></span>PTMSYSM_SetRtcTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_SetRtcTime </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>msY2k</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes the time and date coming to the RTC, after conversion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msY2k</td><td>The number of milliseconds since 01/01/2000. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5311117e22d63ad0d84a3a1fef16525a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5311117e22d63ad0d84a3a1fef16525a">&#9670;&nbsp;</a></span>PTMSYSM_SetUserTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_SetUserTime </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269">s64</a>&#160;</td>
<td class="paramname"><em>msY2k</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the user time by updating the user time offset. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msY2k</td><td>The number of milliseconds since 01/01/2000. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aecfca4fd6f9d473493516de461deba18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecfca4fd6f9d473493516de461deba18">&#9670;&nbsp;</a></span>PTMSYSM_SetWakeEvents()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_SetWakeEvents </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structPtmSleepConfig.html">PtmSleepConfig</a> *&#160;</td>
<td class="paramname"><em>sleepConfig</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the wake events (two sets: when to fully wake up and when to return to sleep). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sleepConfig</td><td>Pointer to the two sets of wake events. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Can only be called just before acknowledging <a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a6f65fae1c0eb882a248329ef0782ed15">PTMNOTIFID_GOING_TO_SLEEP</a> or <a class="el" href="ptmsysm_8h.html#ade9ca5088d171ad20b4c237f1c2d6260a086a20094e0175f65299818a2a717906">PTMNOTIFID_HALF_AWAKE</a>. </dd></dl>
</div>
</div>
<a id="a79e300f7b08e04795fdba69d03892b6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79e300f7b08e04795fdba69d03892b6c">&#9670;&nbsp;</a></span>PTMSYSM_ShutdownAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> PTMSYSM_ShutdownAsync </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td>
<td class="paramname"><em>timeout</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Trigger a hardware system shutdown via the MCU. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>timeout passed to PMApp:ShutdownAsync (PrepareForReboot). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ada6971fd9650be6cd008ba792e129bf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada6971fd9650be6cd008ba792e129bf0">&#9670;&nbsp;</a></span>ptmSysmGetSessionHandle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* ptmSysmGetSessionHandle </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 a pointer to the current ptm:sysm session handle. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the current ptm:sysm session handle. </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>