Changes

Jump to navigation Jump to search
4,538 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 625: Line 708:  
| 1 ||
 
| 1 ||
 
|}
 
|}
 +
 +
== Cmd0 ==
 +
Takes an input u32 '''InsID'''. Returns an u64.
 +
 +
== Cmd1 ==
 +
Takes an input u32 '''InsID''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled.
    
= ins:s =
 
= ins:s =
Line 635: Line 724:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || [[#Send]]
+
| 0 ||
 
|}
 
|}
   −
== Send ==
+
== Cmd0 ==
Takes an input u32 SenderID and an input u64 (unused, official software passes struct pointer). Returns an output Event handle 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 ||
+
| 0x05 || [[Sockets_services|Ethernet]]
 
|-
 
|-
| 0x07 || [[PCV services|Pcv]]
+
| 0x06 || [[PTM_services|Fgm]]
 
|-
 
|-
| 0x08 || [[PCV services|Pcv:Imm]]
+
| 0x07 || [[PCV_services|PcvClock]]
 
|-
 
|-
| 0x09 || [[Bus services|Gpio]]
+
| 0x08 || [[PCV_services|PcvVoltage]]
 
|-
 
|-
| 0x0A || [[Bus services|Pinmux]]
+
| 0x09 || [[Bus_services|Gpio]]
 
|-
 
|-
| 0x0B || [[Bus services|Uart]]
+
| 0x0A || [[Bus_services|Pinmux]]
 
|-
 
|-
| 0x0C || [[Bus services|I2c]]
+
| 0x0B || [[Bus_services|Uart]]
 
|-
 
|-
| 0x0D || [[Bus services|I2c:Pcv]]
+
| 0x0C || [[Bus_services|I2c]]
 
|-
 
|-
| 0x0E || [[Bus services|Sasbus]]
+
| 0x0D || [[Bus_services|I2cPcv]]
 
|-
 
|-
| 0x0F || [[Bus services|Pwm]]
+
| 0x0E || [[Bus_services|Spi]]
 
|-
 
|-
| 0x10 ||
+
| 0x0F || [[Bus_services|Pwm]]
 
|-
 
|-
| 0x13 || [[PCIe services|PCIe]]
+
| 0x10 || [[PTM_services|Psm]]
 
|-
 
|-
| 0x14 || [[Backlight services|Backlight]]
+
| 0x11 || [[PTM_services|Tc]]
 
|-
 
|-
| 0x15 || [[Nvnflinger services|Nvnflinger]]
+
| 0x12 || [[Applet_Manager_services|Omm]]
 
|-
 
|-
| 0x18 || [[HID services|nn::psc::PmModuleId_Hid]]
+
| 0x13 || [[PCIe_services|Pcie]]
 
|-
 
|-
| 0x1B ||
+
| 0x14 || [[Backlight_services|Lbl]]
 
|-
 
|-
| 0x1C || [[Audio services|Audio]]
+
| 0x15 || [[Nvnflinger_services|Display]]
 
|-
 
|-
| 0x1E ||
+
| 0x16 ||
 
|-
 
|-
| 0x1F || [[Bluetooth Driver services|Bluetooth]]
+
| 0x17 ||
 
|-
 
|-
| 0x20 || [[PCV services|Bpc]]
+
| 0x18 || [[HID_services|Hid]]
 
|-
 
|-
| 0x21 || [[PTM services|Ptm]]
+
| 0x19 || [[WLAN_services|WlanSockets]]
 
|-
 
|-
| 0x23 || [[NFC services|nn::psc::PmModuleId_Nfc]]
+
| 0x1A ||
 +
|-
 +
| 0x1B || [[Filesystem_services|Fs]]
 +
|-
 +
| 0x1C || [[Audio_services|Audio]]
 +
|-
 +
| 0x1D ||
 +
|-
 +
| 0x1E || [[TMA_services|TmaHostIo]]
 +
|-
 +
| 0x1F || [[Bluetooth_Driver_services|Bluetooth]]
 +
|-
 +
| 0x20 || [[PCV_services|Bpc]]
 +
|-
 +
| 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 728: 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