PSC services: Difference between revisions
No edit summary |
|||
(16 intermediate revisions by 2 users not shown) | |||
Line 47: | Line 47: | ||
| 6 || [[#GetModuleInformation|GetModuleInformation]] | | 6 || [[#GetModuleInformation|GetModuleInformation]] | ||
|- | |- | ||
| | | 7 || [17.0.0+] SetRandomDelay | ||
|- | |- | ||
| 11 || [9.0.0+] [[# | | 10 || [9.0.0+] [[#GetStateLockUpdateEvent|GetStateLockUpdateEvent]] | ||
|- | |||
| 11 || [9.0.0+] [[#IsStateLocked|IsStateLocked]] | |||
|} | |} | ||
Line 73: | Line 75: | ||
Takes two type-0x6 output buffers '''DependencyInformationBefore''' and '''DependencyInformationAfter'''. Returns an output [[#PmModuleTransitionInformation]] and two output u32s '''DependencyInformationBeforeCount''' and '''DependencyInformationAfterCount'''. | Takes two type-0x6 output buffers '''DependencyInformationBefore''' and '''DependencyInformationAfter'''. Returns an output [[#PmModuleTransitionInformation]] and two output u32s '''DependencyInformationBeforeCount''' and '''DependencyInformationAfterCount'''. | ||
== | == GetStateLockUpdateEvent == | ||
No input. Returns an output readable Event handle. | No input. Returns an output readable Event handle. | ||
== | == IsStateLocked == | ||
Takes an input [[#PmState]]. Returns an output bool. | Takes an input [[#PmState]]. Returns an output bool. | ||
Line 148: | Line 146: | ||
| 3 || [[#IsLocked|IsLocked]] | | 3 || [[#IsLocked|IsLocked]] | ||
|- | |- | ||
| 4 || [[# | | 4 || [[#GetRelatedState|GetRelatedState]] | ||
|} | |} | ||
== Initialize == | == Initialize == | ||
Takes an input [[#PmState]]. No output. | Takes an input [[#PmState]]. No output. | ||
== Lock == | == Lock == | ||
No input/output. | No input/output. | ||
== Unlock == | == Unlock == | ||
No input/output. | No input/output. | ||
== IsLocked == | == IsLocked == | ||
No input. Returns an output bool. | No input. Returns an output bool. | ||
== | == GetRelatedState == | ||
No input. Returns an output [[#PmState]]. | No input. Returns an output [[#PmState]]. | ||
Line 240: | Line 228: | ||
|- | |- | ||
| 12001 || [8.0.0+] [[#UnregisterWatchdog]] | | 12001 || [8.0.0+] [[#UnregisterWatchdog]] | ||
|- | |||
| 12010 || [20.0.0+] | |||
|- | |- | ||
| 13000 || [8.0.0+] [[#GetSyslogLogger]] | | 13000 || [8.0.0+] [[#GetSyslogLogger]] | ||
|- | |- | ||
| 13001 || [8.0.0 | | 13001 || [8.0.0-19.0.1] [[#SaveSyslogReport]] | ||
|- | |||
| 13002 || [19.0.0+] | |||
|- | |||
| 13003 || [20.0.0+] | |||
|- | |||
| 13004 || [20.0.0+] | |||
|- | |- | ||
| 20100 || [[#PopReport]] | | 20100 || [[#PopReport]] | ||
Line 261: | Line 257: | ||
| 20600 || [15.0.0+] [[#NotifyForegroundTransmissionResult]] | | 20600 || [15.0.0+] [[#NotifyForegroundTransmissionResult]] | ||
|} | |} | ||
[20.0.0+] Cmd13002 now takes a total of 8-bytes of input. | |||
== SaveReport == | == SaveReport == | ||
Line 358: | Line 356: | ||
== NotifyApplicationRightsInfo == | == NotifyApplicationRightsInfo == | ||
Takes an input u64 '''ApplicationId''' and an input u32 (padded to u64). No output. | Takes an input u64 '''ApplicationId''' and an input u32 (padded to u64). No output. | ||
If the input u32 is 0 or none of the bits are recognized, this just returns 0. Otherwise the lowest set bit is used to determine a value to write to stack (the ApplicationId is also written afterwards), for passing to a func. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Bit || Write value | |||
|- | |||
| 0 || 0x2 | |||
|- | |||
| 3 || 0x3 | |||
|- | |||
| 4 || 0x4 | |||
|- | |||
| 5 || [20.1.0+] 0x5 | |||
|- | |||
| 6 || [20.1.0+] 0x6 | |||
|} | |||
== RegisterWatchdog == | == RegisterWatchdog == | ||
Line 545: | Line 560: | ||
|- | |- | ||
| 15 || [[#SetupEphemeralNetworkSystemClockCore]] | | 15 || [[#SetupEphemeralNetworkSystemClockCore]] | ||
|- | |||
| 20 || [19.0.0+] GetStandardSteadyClockCurrentTimePoint | |||
|- | |- | ||
| 50 || GetStandardLocalClockOperationEvent | | 50 || GetStandardLocalClockOperationEvent | ||
Line 974: | Line 991: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[# | | 0 || [[#GetInputSourceState]] | ||
|- | |- | ||
| 1 || [[# | | 1 || [[#GetTriggerTargetEvent]] | ||
|} | |} | ||
== | == GetInputSourceState == | ||
Takes an input u32 '''SourceId'''. Returns an output u64 '''EventTime'''. | Takes an input u32 '''SourceId'''. Returns an output u64 '''EventTime'''. | ||
== | == GetTriggerTargetEvent == | ||
Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. | Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. | ||
Line 998: | Line 1,011: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[# | | 0 || [[#GetNotifyEvent]] | ||
|} | |} | ||
== | == GetNotifyEvent == | ||
Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. | Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. | ||
Line 1,015: | Line 1,026: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || GetBatteryPercentage | ||
|- | |- | ||
| 1 || | | 1 || GetChargerType | ||
|- | |- | ||
| 2 || [[#OpenChargeSession]] | | 2 || [[#OpenChargeSession]] | ||
|- | |- | ||
| 3 || | | 3 || GetRawBatteryPercentage | ||
|- | |- | ||
| 4 || | | 4 || GetBatteryVoltageLevel | ||
|- | |- | ||
| 5 || [[#OpenThermalSession]] | | 5 || [[#OpenThermalSession]] | ||
|- | |- | ||
| 6 || | | 6 || GetAbnormalTemperatureSet | ||
|- | |- | ||
| 7 || [[#OpenClockSession]] | | 7 || [[#OpenClockSession]] | ||
|- | |- | ||
| 8 || | | 8 || GetClockRate | ||
|- | |- | ||
| 9 || [17.0.0+] [[#OpenBridgeSession]] | | 9 || [17.0.0+] [[#OpenBridgeSession]] | ||
|- | |- | ||
| 10 || [17.0.0+] | | 10 || [17.0.0+] GetBridgePowerSupply | ||
|- | |||
| 11 || [18.0.0+] [[#OpenVsysVoltageSession]] | |||
|- | |||
| 12 || [18.0.0+] GetIsBatteryEnoughForFullAwake | |||
|- | |||
| 13 || [19.0.0+] GetIsCharging | |||
|- | |||
| 14 || [20.0.0+] | |||
|- | |||
| 15 || [20.0.0+] | |||
|} | |} | ||
Line 1,049: | Line 1,070: | ||
== OpenBridgeSession == | == OpenBridgeSession == | ||
No input. Returns an [[#IBridgeSession]]. | No input. Returns an [[#IBridgeSession]]. | ||
== OpenVsysVoltageSession == | |||
No input. Returns an [[#IVsysVoltageSession]]. | |||
== IChargeSession == | == IChargeSession == | ||
Line 1,057: | Line 1,081: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || GetStateChangeEvent | ||
|- | |- | ||
| 1 || | | 1 || SetStateChangeSet | ||
|} | |} | ||
Line 1,069: | Line 1,093: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || GetAbnormalTemperatureEvent | ||
|- | |- | ||
| 1 || | | 1 || SetAbnormalTemperatureEventMask | ||
|} | |} | ||
Line 1,081: | Line 1,105: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || GetStateChangeEvent | ||
|} | |} | ||
Line 1,091: | Line 1,115: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || GetStateChangeEvent | ||
|} | |||
== IVsysVoltageSession == | |||
This is "nn::hshl::IVsysVoltageSession". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || GetStateChangeEvent | |||
|} | |} | ||
Line 1,103: | Line 1,137: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || [[# | | 0 || [[#OpenChargeSession_2|OpenChargeSession]] | ||
|- | |||
| 1 || [[#OpenThermalSession_2|OpenThermalSession]] | |||
|- | |||
| 2 || SetClockRate | |||
|- | |- | ||
| | | 3 || [17.0.0+] SetBridgePowerSupply | ||
|- | |- | ||
| | | 4 || [18.0.0+] | ||
|- | |- | ||
| | | 5 || [18.0.0+] | ||
|} | |} | ||
== | == OpenChargeSession == | ||
Takes an input u32. Returns an [[#IChargeSetterSession]]. | Takes an input u32. Returns an [[#IChargeSetterSession]]. | ||
== | == OpenThermalSession == | ||
Takes an input u32. Returns an [[#IThermalSetterSession]]. | Takes an input u32. Returns an [[#IThermalSetterSession]]. | ||
Line 1,125: | Line 1,163: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || SetBatteryPercentage | ||
|- | |||
| 1 || SetRawBatteryPercentage | |||
|- | |||
| 2 || SetChargerType | |||
|- | |||
| 3 || SetBatteryVoltageLevel | |||
|- | |||
| 4 || [18.0.0+] | |||
|- | |- | ||
| | | 5 || [19.0.0+] | ||
|- | |- | ||
| | | 6 || [20.0.0+] | ||
|- | |- | ||
| | | 7 || [20.0.0+] | ||
|} | |} | ||
Line 1,141: | Line 1,187: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || SetAbnormalTemperatureSet | ||
|} | |} | ||
Line 1,161: | Line 1,207: | ||
| 0x04 || [[USB_services|Usb]] | | 0x04 || [[USB_services|Usb]] | ||
|- | |- | ||
| 0x05 || [[ | | 0x05 || [[Ethernet_services|Eth]] | ||
|- | |- | ||
| 0x06 || [[PTM_services|Fgm]] | | 0x06 || [[PTM_services|Fgm]] | ||
Line 1,187: | Line 1,233: | ||
| 0x11 || [[PTM_services|Tc]] | | 0x11 || [[PTM_services|Tc]] | ||
|- | |- | ||
| 0x12 || [[ | | 0x12 || [[OMM_services|Omm]] | ||
|- | |- | ||
| 0x13 || [[PCIe_services|Pcie]] | | 0x13 || [[PCIe_services|Pcie]] | ||
Line 1,255: | Line 1,301: | ||
| 0x33 || [[NIM_services|Ntc]] | | 0x33 || [[NIM_services|Ntc]] | ||
|- | |- | ||
| 0x34 || [[ | | 0x34 || [[OMM_services|Idle]] | ||
|- | |- | ||
| 0x35 || [[Applet_Manager_services|Tcap]] | | 0x35 || [[Applet_Manager_services|Tcap]] | ||
Line 1,267: | Line 1,313: | ||
| 0x39 || [[PCV_services|Rtc]] | | 0x39 || [[PCV_services|Rtc]] | ||
|- | |- | ||
| 0x3A || | | 0x3A || [[PCV_services|Regulator]] | ||
|- | |- | ||
| 0x3B || | | 0x3B || [[PCV_services|Clkrst]] | ||
|- | |- | ||
| 0x3C || [[Bus_services|Led]] | | 0x3C || [[Bus_services|Led]] | ||
|- | |- | ||
| 0x3D || [[NS_Services| | | 0x3D || [[NS_Services|NuiShell]] | ||
|- | |||
| 0x3E || [[PTM_services|Powctl]] | |||
|- | |||
| 0x3F || [[OMM_services|NotificationPresenter]] | |||
|- | |- | ||
| | | 0x40 || [[Glue_services|Notification]] | ||
|- | |- | ||
| | | 0x41 || [[Sockets_services|Dhcpc]] | ||
|- | |- | ||
| | | 0x42 || [[BCAT_services|Mnpp]] | ||
|- | |- | ||
| | | 0x43 || [[OLSC_services|Sprofile]] | ||
|- | |- | ||
| 0x65 || [[NV_services|NvHost]] | | 0x65 || [[NV_services|NvHost]] | ||
|- | |- | ||
| 0x69 | | | 0x69 || NvDbgSvc | ||
|- | |- | ||
| 0x6A || Tspm | | 0x6A || Tspm | ||
|- | |- | ||
| 0x7F || [[ | | 0x7F || [[OMM_services|Spsm]] | ||
|} | |} | ||