Changes

Jump to navigation Jump to search
4,313 bytes added ,  03:22, 27 August 2020
Line 155: Line 155:  
| 12001 || [8.0.0+]
 
| 12001 || [8.0.0+]
 
|-
 
|-
| 13000 || [8.0.0+]
+
| 13000 || [8.0.0+] [[#OpenSyslogLogger]]
 
|-
 
|-
 
| 13001 || [8.0.0+]
 
| 13001 || [8.0.0+]
Line 174: Line 174:  
|}
 
|}
   −
== Cmd13000 ==
+
[10.0.0+] Cmd20100 now takes an additional 0x10-bytes of input.
 +
 
 +
== OpenSyslogLogger ==
 
Takes a type-0x5 input buffer, no output.
 
Takes a type-0x5 input buffer, no output.
   −
[9.0.0+] No input, returns a total of 0xC-bytes of output, an [[#IUnknown0]], and a handle.
+
[9.0.0+] No input, returns a total of 0xC-bytes of output, an [[#ISyslogLogger]], and a handle.
   −
== IUnknown0 ==
+
== ISyslogLogger ==
Added with [9.0.0+].
+
This is "nn::srepo::detail::ipc::ISyslogLogger".
 +
 
 +
This was added with [9.0.0+].
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 241: Line 245:  
|}
 
|}
   −
= time:su =
+
= time:m =
 
This is "nn::timesrv::detail::service::ITimeServiceManager".
 
This is "nn::timesrv::detail::service::ITimeServiceManager".
    
This was added with [9.0.0+].
 
This was added with [9.0.0+].
 +
 +
This service has max_sessions 1.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 250: Line 256:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 ||
+
| 0 || [[#GetStaticServiceAsUser]]
 
|-
 
|-
| 5 ||
+
| 5 || [[#GetStaticServiceAsAdmin]]
 
|-
 
|-
| 6 ||
+
| 6 || [[#GetStaticServiceAsRepair]]
 
|-
 
|-
| 9 ||
+
| 9 || [[#GetStaticServiceAsServiceManager]]
 
|-
 
|-
| 10 ||
+
| 10 || [[#SetupStandardSteadyClockCore]]
 
|-
 
|-
| 11 ||
+
| 11 || [[#SetupStandardLocalSystemClockCore]]
 
|-
 
|-
| 12 ||
+
| 12 || [[#SetupStandardNetworkSystemClockCore]]
 
|-
 
|-
| 13 ||
+
| 13 || [[#SetupStandardUserSystemClockCore]]
 
|-
 
|-
| 14 ||
+
| 14 || [[#SetupTimeZoneServiceCore]]
 
|-
 
|-
| 15 ||
+
| 15 || [[#SetupEphemeralNetworkSystemClockCore]]
 
|-
 
|-
| 50 ||
+
| 50 || GetStandardLocalClockOperationEvent
 
|-
 
|-
| 51 ||
+
| 51 || GetStandardNetworkClockOperationEventForServiceManager
 
|-
 
|-
| 52 ||
+
| 52 || GetEphemeralNetworkClockOperationEventForServiceManager
 
|-
 
|-
| 60 ||
+
| 60 || GetStandardUserSystemClockAutomaticCorrectionUpdatedEvent
 
|-
 
|-
| 100 ||
+
| 100 || [[#SetStandardSteadyClockBaseTime]]
 
|-
 
|-
| 200 ||
+
| 200 || GetClosestAlarmUpdatedEvent
 
|-
 
|-
| 201 ||
+
| 201 || [[#CheckAndSignalAlarms]]
 
|-
 
|-
| 202 ||
+
| 202 || GetClosestAlarmInfo
 
|}
 
|}
 +
 +
== GetStaticServiceAsUser ==
 +
Returns an [[#IStaticService]].
 +
 +
This is used for the wrapped instance of "time:u" in [[Glue_services#time:a.2C_time:r.2C_time:u|glue]].
 +
 +
== GetStaticServiceAsAdmin ==
 +
Returns an [[#IStaticService]].
 +
 +
This is used for the wrapped instance of "time:a" in [[Glue_services#time:a.2C_time:r.2C_time:u|glue]].
 +
 +
== GetStaticServiceAsRepair ==
 +
Returns an [[#IStaticService]].
 +
 +
This is used for the wrapped instance of "time:r" in [[Glue_services#time:a.2C_time:r.2C_time:u|glue]].
 +
 +
== GetStaticServiceAsServiceManager ==
 +
Returns an [[#IStaticService]].
 +
 +
This is used as a wrapper for "time:sm".
 +
 +
== SetupStandardSteadyClockCore ==
 +
Takes an input rtc_clock_source UUID, an input rtc_offset s64, an input internal_offset s64, an input test_offset s64 and a is_rtc_reset_detected bool. No output.
 +
 +
== SetupStandardLocalSystemClockCore ==
 +
Takes an input [[#SystemClockContext]] and an input [[#PosixTime]]. No output.
 +
 +
== SetupStandardNetworkSystemClockCore ==
 +
Takes an input [[#SystemClockContext]] and an input sufficient_accuracy_minutes u64. No output.
 +
 +
== SetupStandardUserSystemClockCore ==
 +
Takes an input automatic_correction bool and an input [[#SteadyClockTimePoint]]. No output.
 +
 +
== SetupTimeZoneServiceCore ==
 +
Takes an input [[#LocationName]], an input [[#SteadyClockTimePoint]], an input total_location_name_count u32, an input [[#TimeZoneRuleVersion]] and a type-0x21 input buffer containing a TimeZoneBinary. No output.
 +
 +
== SetupEphemeralNetworkSystemClockCore ==
 +
No input, no output.
 +
 +
== SetStandardSteadyClockBaseTime ==
 +
An input rtc_offset s64, no output.
 +
 +
== CheckAndSignalAlarms ==
 +
No input, no output.
    
= time:al =
 
= time:al =
Line 291: Line 341:     
This was added with [9.0.0+].
 
This was added with [9.0.0+].
 +
 +
This has max_sessions 4.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 296: Line 348:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 ||
+
| 0 || [[#CreateWakeupAlarm]]
 
|-
 
|-
| 1 ||
+
| 1 || [[#CreateBackgroundTaskAlarm]]
 
|}
 
|}
   −
Cmd0/cmd1: no input, returns an [[#ISteadyClockAlarm]].
+
== CreateWakeupAlarm ==
 +
No input. Returns an [[#ISteadyClockAlarm]].
 +
 
 +
== CreateBackgroundTaskAlarm ==
 +
No input. Returns an [[#ISteadyClockAlarm]].
    
== ISteadyClockAlarm ==
 
== ISteadyClockAlarm ==
Line 312: Line 368:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 ||
+
| 0 || [[#GetAlarmEvent]]
 
|-
 
|-
| 1 ||
+
| 1 || [[#Enable]]
 
|-
 
|-
| 2 ||
+
| 2 || [[#Disable]]
 
|-
 
|-
| 3 ||
+
| 3 || [[#IsEnabled]]
 
|-
 
|-
| 10 ||
+
| 10 || [[#CreateWakeLock]]
 
|-
 
|-
| 11 ||
+
| 11 || [[#DestroyWakeLock]]
 
|}
 
|}
   −
=== Cmd10 ===
+
=== GetAlarmEvent ===
 +
No input, returns an output Event handle with EventClearMode=0.
 +
 
 +
Official sw uses this during object creation.
 +
 
 +
=== Enable ===
 +
Takes an input u64, no output.
 +
 
 +
The u64 is a nanoseconds value.
 +
 
 +
=== Disable ===
 +
No input/output.
 +
 
 +
Official sw uses [[#IsEnabled]] first, if the output bool is 0 it will skip using the Disable cmd.
 +
 
 +
=== IsEnabled ===
 +
No input, returns an output bool.
 +
 
 +
=== CreateWakeLock ===
 
Opens a session for [[#psc:l|psc:l]] and returns it's interface.
 
Opens a session for [[#psc:l|psc:l]] and returns it's interface.
   −
= time:m =
+
=== DestroyWakeLock ===
 +
No input/output.
 +
 
 +
Close the session opened by [[#CreateWakeLock]] when the alarm is disabled.
 +
 
 +
= time:p =
 
This is "nn::timesrv::detail::service::IPowerStateRequestHandler".
 
This is "nn::timesrv::detail::service::IPowerStateRequestHandler".
    
This was added with [9.0.0+].
 
This was added with [9.0.0+].
 +
 +
This service has max_sessions 1.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 337: Line 418:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 ||
+
| 0 || GetPowerStateRequestEventReadableHandle
 
|-
 
|-
| 1 ||
+
| 1 || GetAndClearPowerStateRequest
 
|}
 
|}
   −
= time:s, time:p =
+
= time:su, time:s =
 
These are "nn::timesrv::detail::service::IStaticService".
 
These are "nn::timesrv::detail::service::IStaticService".
    
These were added with [9.0.0+].
 
These were added with [9.0.0+].
 +
 +
The time:su service has max_sessions 6, and time:s has max_sessions 4.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 647: Line 730:  
Takes an input u32 '''InsID''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled.
 
Takes an input u32 '''InsID''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled.
   −
= PSC Module IDs =
+
= PmModuleId =
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! ID || Module
+
! Name || Module
 +
|-
 +
| 0x00 ||
 +
|-
 +
| 0x01 ||
 +
|-
 +
| 0x02 ||
 
|-
 
|-
 
| 0x03 ||
 
| 0x03 ||
 
|-
 
|-
| 0x04 || [[USB services|USB]]
+
| 0x04 || [[USB_services|Usb]]
 +
|-
 +
| 0x05 || [[Sockets_services|Ethernet]]
 +
|-
 +
| 0x06 || [[PTM_services|Fgm]]
 +
|-
 +
| 0x07 || [[PCV_services|PcvClock]]
 +
|-
 +
| 0x08 || [[PCV_services|PcvVoltage]]
 +
|-
 +
| 0x09 || [[Bus_services|Gpio]]
 +
|-
 +
| 0x0A || [[Bus_services|Pinmux]]
 +
|-
 +
| 0x0B || [[Bus_services|Uart]]
 
|-
 
|-
| 0x05 ||
+
| 0x0C || [[Bus_services|I2c]]
 
|-
 
|-
| 0x07 || [[PCV services|Pcv]]
+
| 0x0D || [[Bus_services|I2cPcv]]
 
|-
 
|-
| 0x08 || [[PCV services|Pcv:Imm]]
+
| 0x0E || [[Bus_services|Spi]]
 
|-
 
|-
| 0x09 || [[Bus services|Gpio]]
+
| 0x0F || [[Bus_services|Pwm]]
 
|-
 
|-
| 0x0A || [[Bus services|Pinmux]]
+
| 0x10 || [[PTM_services|Psm]]
 
|-
 
|-
| 0x0B || [[Bus services|Uart]]
+
| 0x11 || [[PTM_services|Tc]]
 
|-
 
|-
| 0x0C || [[Bus services|I2c]]
+
| 0x12 || [[Applet_Manager_services|Omm]]
 
|-
 
|-
| 0x0D || [[Bus services|I2c:Pcv]]
+
| 0x13 || [[PCIe_services|Pcie]]
 
|-
 
|-
| 0x0E || [[Bus services|Sasbus]]
+
| 0x14 || [[Backlight_services|Lbl]]
 
|-
 
|-
| 0x0F || [[Bus services|Pwm]]
+
| 0x15 || [[Nvnflinger_services|Display]]
 
|-
 
|-
| 0x10 ||
+
| 0x16 ||
 
|-
 
|-
| 0x13 || [[PCIe services|PCIe]]
+
| 0x17 ||
 
|-
 
|-
| 0x14 || [[Backlight services|Backlight]]
+
| 0x18 || [[HID_services|Hid]]
 
|-
 
|-
| 0x15 || [[Nvnflinger services|Nvnflinger]]
+
| 0x19 || [[WLAN_services|WlanSockets]]
 
|-
 
|-
| 0x18 || [[HID services|nn::psc::PmModuleId_Hid]]
+
| 0x1A ||
 
|-
 
|-
| 0x1B ||
+
| 0x1B || [[Filesystem_services|Fs]]
 
|-
 
|-
| 0x1C || [[Audio services|Audio]]
+
| 0x1C || [[Audio_services|Audio]]
 
|-
 
|-
| 0x1E ||
+
| 0x1D ||
 
|-
 
|-
| 0x1F || [[Bluetooth Driver services|Bluetooth]]
+
| 0x1E || [[TMA_services|TmaHostIo]]
 
|-
 
|-
| 0x20 || [[PCV services|Bpc]]
+
| 0x1F || [[Bluetooth_Driver_services|Bluetooth]]
 
|-
 
|-
| 0x21 || [[PTM services|Ptm]]
+
| 0x20 || [[PCV_services|Bpc]]
 
|-
 
|-
| 0x23 || [[NFC services|nn::psc::PmModuleId_Nfc]]
+
| 0x21 || [[PTM_services|Fan]]
 +
|-
 +
| 0x22 || [[PTM_services|Pcm]]
 +
|-
 +
| 0x23 || [[NFC_services|Nfc]]
 
|-  
 
|-  
| 0x24 || [[PPC services|Ppc]]
+
| 0x24 || [[PTM_services|Apm]]
 +
|-
 +
| 0x25 || [[BTM_services|Btm]]
 +
|-
 +
| 0x26 || [[Network_Interface_services|Nifm]]
 +
|-
 +
| 0x27 || [[Bus_services|GpioLow]]
 +
|-
 +
| 0x28 || [[NPNS_services|Npns]]
 +
|-
 +
| 0x29 || [[Log_services|Lm]]
 +
|-
 +
| 0x2A || [[BCAT_services|Bcat]]
 +
|-
 +
| 0x2B || [[Glue_services|Time]]
 +
|-
 +
| 0x2C || [[Parental_Control_services|Pctl]]
 +
|-
 +
| 0x2D || [[Error_Report_services|Erpt]]
 +
|-
 +
| 0x2E || [[Error_Upload_services|Eupld]]
 +
|-
 +
| 0x2F || [[Friend_services|Friends]]
 +
|-
 +
| 0x30 || [[Glue_services|Bgtc]]
 +
|-
 +
| 0x31 || [[Account_services|Account]]
 +
|-
 +
| 0x32 || [[Bus_services|Sasbus]]
 
|-
 
|-
| 0x25 ||
+
| 0x33 || [[NIM_services|Ntc]]
 
|-
 
|-
| 0x26 || [[Network Interface services|Nifm]]
+
| 0x34 || [[Applet_Manager_services|Idle]]
 
|-
 
|-
| 0x28 || [[NPNS services|Npns]]
+
| 0x35 || [[Applet_Manager_services|Tcap]]
 
|-
 
|-
| 0x29 || [[Log services|nn::psc::PmModuleId_Lm]]
+
| 0x36 || [[PTM_services|PsmLow]]
 
|-
 
|-
| 0x2A || [[BCAT services|Bcat]]
+
| 0x37 || [[LDN_services|Ndd]]
 
|-
 
|-
| 0x2B || [[PCV services|Time]]
+
| 0x38 || [[OLSC_services|Olsc]]
 
|-
 
|-
| 0x2C || [[Parental Control services|Pctl]]
+
| 0x39 || [[PCV_services|Rtc]]
 
|-
 
|-
| 0x2D || [[Error Report services|Erpt]]
+
| 0x3A ||
 
|-
 
|-
| 0x2E || [[Error Upload services|Eupld]]
+
| 0x3B ||
 
|-
 
|-
| 0x2F || [[Friend services|Friend]]
+
| 0x3C ||
 
|-
 
|-
| 0x30 || [[Glue services|Glue]]
+
| 0x3D || [[NS_Services|Ns]]
 
|-
 
|-
| 0x31 || [[Account services|Account]]
+
| 0x3F || [[Applet_Manager_services|NotificationPresenter]]
 
|-
 
|-
| 0x32 || [[Bus services|SasBus]]
+
| 0x65 || [[NV_services|Nvservices]]
 
|-
 
|-
| 0x65 || [[NV services|NV]]
+
| 0x7F || [[Applet_Manager_services|Spsm]]
 
|}
 
|}
   Line 734: Line 869:  
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! ID || Name || Description
+
! State || Name || Description
 
|-
 
|-
 
| Awake || 0 || Everything is awake.
 
| Awake || 0 || Everything is awake.

Navigation menu