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. |