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]]  | ||
|}  | |}  | ||