PSC services: Difference between revisions
No edit summary |
|||
| Line 33: | Line 33: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || Initialize | | 0 || [[#Initialize|Initialize]] | ||
|- | |- | ||
| 1 || DispatchRequest | | 1 || [[#DispatchRequest|DispatchRequest]] | ||
|- | |- | ||
| 2 || GetResult | | 2 || [[#GetResult|GetResult]] | ||
|- | |- | ||
| 3 || GetState | | 3 || [[#GetState|GetState]] | ||
|- | |- | ||
| 4 || Cancel | | 4 || [[#Cancel|Cancel]] | ||
|- | |- | ||
| 5 || [1.0.0-6.2.0] PrintModuleInformation | | 5 || [1.0.0-6.2.0] [[#PrintModuleInformation|PrintModuleInformation]] | ||
|- | |- | ||
| 6 || GetModuleInformation | | 6 || [[#GetModuleInformation|GetModuleInformation]] | ||
|- | |- | ||
| 10 || [9.0.0+] | | 10 || [9.0.0+] [[#AcquireLock|AcquireLock]] | ||
|- | |- | ||
| 11 || [9.0.0+] | | 11 || [9.0.0+] [[#HasLock|HasLock]] | ||
|} | |} | ||
== Initialize == | |||
No input. Returns an output readable Event handle. | |||
== DispatchRequest == | |||
Takes an input [[#PmState]], an input [[#PmTransitionOrder]] and an input u32 '''Flags'''. No output. | |||
== GetResult == | |||
No input/output. | |||
== GetState == | |||
No input. Returns an output [[#PmState]]. | |||
== Cancel == | |||
No input/output. | |||
== PrintModuleInformation == | |||
No input/output. | |||
== GetModuleInformation == | |||
Takes two type-0x6 output buffers '''DependencyInformationBefore''' and '''DependencyInformationAfter'''. Returns an output [[#PmModuleTransitionInformation]] and two output u32s '''DependencyInformationBeforeCount''' and '''DependencyInformationAfterCount'''. | |||
== AcquireLock == | |||
Unofficial name. | |||
No input. Returns an output readable Event handle. | |||
== HasLock == | |||
Unofficial name. | |||
Takes an input u32. Returns an output bool. | |||
= psc:m = | = psc:m = | ||
| Line 57: | Line 88: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || [[#GetPmModule|GetPmModule]] | ||
|} | |} | ||
== GetPmModule == | |||
No input. Returns an [[#IPmModule]]. | |||
== IPmModule == | == IPmModule == | ||
| Line 69: | Line 103: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || Initialize | | 0 || [[#Initialize_2|Initialize]] | ||
|- | |- | ||
| 1 || GetRequest | | 1 || [[#GetRequest|GetRequest]] | ||
|- | |- | ||
| 2 || Acknowledge | | 2 || [[#Acknowledge|Acknowledge]] | ||
|- | |- | ||
| 3 || Finalize | | 3 || [[#Finalize|Finalize]] | ||
|- | |- | ||
| 4 || [5.1.0+] AcknowledgeEx | | 4 || [5.1.0+] [[#AcknowledgeEx|AcknowledgeEx]] | ||
|} | |} | ||
=== Initialize === | |||
Takes an input [[#PmModuleId]] and a type-0x5 input buffer '''Dependencies'''. Returns an output Event handle. | |||
=== GetRequest === | |||
No input. Returns an output [[#PmState]] and an output u32 '''Flags'''. | |||
=== Acknowledge === | |||
No input/output. | |||
=== Finalize === | |||
No input/output. | |||
=== AcknowledgeEx === | |||
Takes an input [[#PmState]]. No output. | |||
= psc:l = | = psc:l = | ||
| Line 87: | Line 136: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || [[#Initialize_3|Initialize]] | ||
|- | |- | ||
| 1 || | | 1 || [[#Lock|Lock]] | ||
|- | |- | ||
| 2 || | | 2 || [[#Unlock|Unlock]] | ||
|- | |- | ||
| 3 || | | 3 || [[#IsLocked|IsLocked]] | ||
|- | |- | ||
| 4 || | | 4 || [[#GetLockId|GetLockId]] | ||
|} | |} | ||
== Initialize == | |||
Unofficial name. | |||
Takes an input u32. No output. | |||
== Lock == | |||
Unofficial name. | |||
No input/output. | |||
== Unlock == | |||
Unofficial name. | |||
No input/output. | |||
== IsLocked == | |||
Unofficial name. | |||
No input. Returns an output bool. | |||
== GetLockId == | |||
Unofficial name. | |||
No input. Returns an output u32. | |||
= srepo:u, srepo:a = | = srepo:u, srepo:a = | ||
| Line 936: | Line 1,010: | ||
|- | |- | ||
| 5 || ReadyShutdown || Preparing to transition to shutdown. | | 5 || ReadyShutdown || Preparing to transition to shutdown. | ||
|} | |||
= PmTransitionOrder = | |||
This is "nn::psc::PmTransitionOrder". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 || ToLowerPowerState | |||
|- | |||
| 1 || ToHigherPowerState | |||
|} | |||
= PmModuleTransitionInformation = | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x00 | |||
| 0x08 | |||
| TimeBefore | |||
|- | |||
| 0x08 | |||
| 0x10 | |||
| TimeAfter | |||
|- | |||
| 0x10 | |||
| 0x04 | |||
| Result | |||
|- | |||
| 0x14 | |||
| 0x04 | |||
| [[#PmState|StateBefore]] | |||
|- | |||
| 0x18 | |||
| 0x04 | |||
| [[#PmState|StateAfter]] | |||
|- | |||
| 0x1C | |||
| 0x04 | |||
| Reserved | |||
|} | |} | ||
[[Category:Services]] | [[Category:Services]] | ||