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 245: |
Line 249: |
| | | |
| 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 || [[#GetUserStaticService]] | + | | 0 || [[#GetStaticServiceAsUser]] |
| |- | | |- |
− | | 5 || [[#GetAdminStaticService]] | + | | 5 || [[#GetStaticServiceAsAdmin]] |
| |- | | |- |
− | | 6 || [[#GetRepairStaticService]] | + | | 6 || [[#GetStaticServiceAsRepair]] |
| |- | | |- |
− | | 9 || [[#GetManufactureStaticService]] | + | | 9 || [[#GetStaticServiceAsServiceManager]] |
| |- | | |- |
− | | 10 || [[#SetupStandardSteadyClock]] | + | | 10 || [[#SetupStandardSteadyClockCore]] |
| |- | | |- |
− | | 11 || [[#SetupStandardLocalSystemClock]] | + | | 11 || [[#SetupStandardLocalSystemClockCore]] |
| |- | | |- |
− | | 12 || [[#SetupStandardNetworkSystemClock]] | + | | 12 || [[#SetupStandardNetworkSystemClockCore]] |
| |- | | |- |
− | | 13 || [[#SetupStandardUserSystemClock]] | + | | 13 || [[#SetupStandardUserSystemClockCore]] |
| |- | | |- |
− | | 14 || [[#SetupTimeZoneManager]] | + | | 14 || [[#SetupTimeZoneServiceCore]] |
| |- | | |- |
− | | 15 || [[#SetupEphemeralNetworkSystemClock]] | + | | 15 || [[#SetupEphemeralNetworkSystemClockCore]] |
| |- | | |- |
− | | 50 || | + | | 50 || GetStandardLocalClockOperationEvent |
| |- | | |- |
− | | 51 || | + | | 51 || GetStandardNetworkClockOperationEventForServiceManager |
| |- | | |- |
− | | 52 || | + | | 52 || GetEphemeralNetworkClockOperationEventForServiceManager |
| |- | | |- |
− | | 60 || GetStandardUserSystemClockAutomaticCorrectionEvent | + | | 60 || GetStandardUserSystemClockAutomaticCorrectionUpdatedEvent |
| |- | | |- |
− | | 100 || [[#SetStandardSteadyClockRtcOffset]] | + | | 100 || [[#SetStandardSteadyClockBaseTime]] |
| |- | | |- |
− | | 200 || GetAlarmRegistrationEvent | + | | 200 || GetClosestAlarmUpdatedEvent |
| |- | | |- |
− | | 201 || [[#UpdateSteadyAlarms]] | + | | 201 || [[#CheckAndSignalAlarms]] |
| |- | | |- |
− | | 202 || | + | | 202 || GetClosestAlarmInfo |
| |} | | |} |
| | | |
− | == GetUserStaticService == | + | == GetStaticServiceAsUser == |
| Returns an [[#IStaticService]]. | | Returns an [[#IStaticService]]. |
| | | |
− | This is used for the wrapped instance of "time:u" in glue. | + | This is used for the wrapped instance of "time:u" in [[Glue_services#time:a.2C_time:r.2C_time:u|glue]]. |
| | | |
− | == GetAdminStaticService == | + | == GetStaticServiceAsAdmin == |
| Returns an [[#IStaticService]]. | | Returns an [[#IStaticService]]. |
| | | |
− | This is used for the wrapped instance of "time:a" in glue. | + | This is used for the wrapped instance of "time:a" in [[Glue_services#time:a.2C_time:r.2C_time:u|glue]]. |
| | | |
− | == GetRepairStaticService == | + | == GetStaticServiceAsRepair == |
| Returns an [[#IStaticService]]. | | Returns an [[#IStaticService]]. |
| | | |
− | This is used for the wrapped instance of "time:r" in glue. | + | This is used for the wrapped instance of "time:r" in [[Glue_services#time:a.2C_time:r.2C_time:u|glue]]. |
| | | |
− | == GetManufactureStaticService == | + | == GetStaticServiceAsServiceManager == |
| Returns an [[#IStaticService]]. | | Returns an [[#IStaticService]]. |
| | | |
− | This seems unused. | + | This is used as a wrapper for "time:sm". |
| | | |
− | == SetupStandardSteadyClock == | + | == 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. | | 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. |
| | | |
− | == SetupStandardLocalSystemClock == | + | == SetupStandardLocalSystemClockCore == |
| Takes an input [[#SystemClockContext]] and an input [[#PosixTime]]. No output. | | Takes an input [[#SystemClockContext]] and an input [[#PosixTime]]. No output. |
| | | |
− | == SetupStandardNetworkSystemClock == | + | == SetupStandardNetworkSystemClockCore == |
| Takes an input [[#SystemClockContext]] and an input sufficient_accuracy_minutes u64. No output. | | Takes an input [[#SystemClockContext]] and an input sufficient_accuracy_minutes u64. No output. |
| | | |
− | == SetupStandardUserSystemClock == | + | == SetupStandardUserSystemClockCore == |
| Takes an input automatic_correction bool and an input [[#SteadyClockTimePoint]]. No output. | | Takes an input automatic_correction bool and an input [[#SteadyClockTimePoint]]. No output. |
| | | |
− | == SetupTimeZoneManager == | + | == 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. | | 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. |
| | | |
− | == SetupEphemeralNetworkSystemClock == | + | == SetupEphemeralNetworkSystemClockCore == |
| No input, no output. | | No input, no output. |
| | | |
− | == SetStandardSteadyClockRtcOffset == | + | == SetStandardSteadyClockBaseTime == |
| An input rtc_offset s64, no output. | | An input rtc_offset s64, no output. |
| | | |
− | == UpdateSteadyAlarms == | + | == CheckAndSignalAlarms == |
| No input, no output. | | No input, no output. |
| | | |
Line 335: |
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 340: |
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 356: |
Line 368: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || GetWakeUpEvent | + | | 0 || [[#GetAlarmEvent]] |
| |- | | |- |
− | | 1 || Enable | + | | 1 || [[#Enable]] |
| |- | | |- |
− | | 2 || Disable | + | | 2 || [[#Disable]] |
| |- | | |- |
− | | 3 || IsEnabled | + | | 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. |
| | | |
− | === Cmd11 === | + | === DestroyWakeLock === |
− | Close the session opened by [[#Cmd10]] when the alarm is disabled. | + | No input/output. |
| + | |
| + | Close the session opened by [[#CreateWakeLock]] when the alarm is disabled. |
| | | |
| = time:p = | | = time:p = |
Line 379: |
Line 411: |
| | | |
| 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 384: |
Line 418: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || GetPowerStateRequestEventReadableHandle |
| |- | | |- |
− | | 1 || | + | | 1 || GetAndClearPowerStateRequest |
| |} | | |} |
| | | |
Line 393: |
Line 427: |
| | | |
| 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 694: |
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 || | | | 0x00 || |
Line 707: |
Line 743: |
| | 0x03 || | | | 0x03 || |
| |- | | |- |
− | | 0x04 || [[USB_services|PmModuleId_Usb]] | + | | 0x04 || [[USB_services|Usb]] |
| |- | | |- |
− | | 0x05 || [[Sockets_services|PmModuleId_Ethernet]] | + | | 0x05 || [[Sockets_services|Ethernet]] |
| |- | | |- |
− | | 0x06 || [[PTM_services|PmModuleId_Fgm]] | + | | 0x06 || [[PTM_services|Fgm]] |
| |- | | |- |
− | | 0x07 || [[PCV_services|PmModuleId_PcvClock]] | + | | 0x07 || [[PCV_services|PcvClock]] |
| |- | | |- |
− | | 0x08 || [[PCV_services|PmModuleId_PcvVoltage]] | + | | 0x08 || [[PCV_services|PcvVoltage]] |
| |- | | |- |
− | | 0x09 || [[Bus_services|PmModuleId_Gpio]] | + | | 0x09 || [[Bus_services|Gpio]] |
| |- | | |- |
− | | 0x0A || [[Bus_services|PmModuleId_Pinmux]] | + | | 0x0A || [[Bus_services|Pinmux]] |
| |- | | |- |
− | | 0x0B || [[Bus_services|PmModuleId_Uart]] | + | | 0x0B || [[Bus_services|Uart]] |
| |- | | |- |
− | | 0x0C || [[Bus_services|PmModuleId_I2c]] | + | | 0x0C || [[Bus_services|I2c]] |
| |- | | |- |
− | | 0x0D || [[Bus_services|PmModuleId_I2cPcv]] | + | | 0x0D || [[Bus_services|I2cPcv]] |
| |- | | |- |
− | | 0x0E || [[Bus_services|PmModuleId_Spi]] | + | | 0x0E || [[Bus_services|Spi]] |
| |- | | |- |
− | | 0x0F || [[Bus_services|PmModuleId_Pwm]] | + | | 0x0F || [[Bus_services|Pwm]] |
| |- | | |- |
− | | 0x10 || [[PTM_services|PmModuleId_Psm]] | + | | 0x10 || [[PTM_services|Psm]] |
| |- | | |- |
− | | 0x11 || [[PTM_services|PmModuleId_Tc]] | + | | 0x11 || [[PTM_services|Tc]] |
| |- | | |- |
− | | 0x12 || [[Applet_Manager_services|PmModuleId_Omm]] | + | | 0x12 || [[Applet_Manager_services|Omm]] |
| |- | | |- |
− | | 0x13 || [[PCIe_services|PmModuleId_Pcie]] | + | | 0x13 || [[PCIe_services|Pcie]] |
| |- | | |- |
− | | 0x14 || [[Backlight_services|PmModuleId_Lbl]] | + | | 0x14 || [[Backlight_services|Lbl]] |
| |- | | |- |
− | | 0x15 || [[Nvnflinger_services|PmModuleId_Display]] | + | | 0x15 || [[Nvnflinger_services|Display]] |
| |- | | |- |
| | 0x16 || | | | 0x16 || |
Line 747: |
Line 783: |
| | 0x17 || | | | 0x17 || |
| |- | | |- |
− | | 0x18 || [[HID_services|PmModuleId_Hid]] | + | | 0x18 || [[HID_services|Hid]] |
| |- | | |- |
− | | 0x19 || [[WLAN_services|PmModuleId_WlanSockets]] | + | | 0x19 || [[WLAN_services|WlanSockets]] |
| |- | | |- |
| | 0x1A || | | | 0x1A || |
| |- | | |- |
− | | 0x1B || [[Filesystem_services|PmModuleId_Fs]] | + | | 0x1B || [[Filesystem_services|Fs]] |
| |- | | |- |
− | | 0x1C || [[Audio_services|PmModuleId_Audio]] | + | | 0x1C || [[Audio_services|Audio]] |
| |- | | |- |
| | 0x1D || | | | 0x1D || |
| |- | | |- |
− | | 0x1E || [[TMA_services|PmModuleId_TmaHostIo]] | + | | 0x1E || [[TMA_services|TmaHostIo]] |
| |- | | |- |
− | | 0x1F || [[Bluetooth_Driver_services|PmModuleId_Bluetooth]] | + | | 0x1F || [[Bluetooth_Driver_services|Bluetooth]] |
| |- | | |- |
− | | 0x20 || [[PCV_services|PmModuleId_Bpc]] | + | | 0x20 || [[PCV_services|Bpc]] |
| |- | | |- |
− | | 0x21 || [[PTM_services|PmModuleId_Fan]] | + | | 0x21 || [[PTM_services|Fan]] |
| |- | | |- |
− | | 0x22 || [[PTM_services|PmModuleId_Pcm]] | + | | 0x22 || [[PTM_services|Pcm]] |
| |- | | |- |
− | | 0x23 || [[NFC_services|PmModuleId_Nfc]] | + | | 0x23 || [[NFC_services|Nfc]] |
| |- | | |- |
− | | 0x24 || [[PTM_services|PmModuleId_Apm]] | + | | 0x24 || [[PTM_services|Apm]] |
| |- | | |- |
− | | 0x25 || [[BTM_services|PmModuleId_Btm]] | + | | 0x25 || [[BTM_services|Btm]] |
| |- | | |- |
− | | 0x26 || [[Network_Interface_services|PmModuleId_Nifm]] | + | | 0x26 || [[Network_Interface_services|Nifm]] |
| |- | | |- |
− | | 0x27 || [[Bus_services|PmModuleId_GpioLow]] | + | | 0x27 || [[Bus_services|GpioLow]] |
| |- | | |- |
− | | 0x28 || [[NPNS_services|PmModuleId_Npns]] | + | | 0x28 || [[NPNS_services|Npns]] |
| |- | | |- |
− | | 0x29 || [[Log_services|PmModuleId_Lm]] | + | | 0x29 || [[Log_services|Lm]] |
| |- | | |- |
− | | 0x2A || [[BCAT_services|PmModuleId_Bcat]] | + | | 0x2A || [[BCAT_services|Bcat]] |
| |- | | |- |
− | | 0x2B || [[Glue_services|PmModuleId_Time]] | + | | 0x2B || [[Glue_services|Time]] |
| |- | | |- |
− | | 0x2C || [[Parental_Control_services|PmModuleId_Pctl]] | + | | 0x2C || [[Parental_Control_services|Pctl]] |
| |- | | |- |
− | | 0x2D || [[Error_Report_services|PmModuleId_Erpt]] | + | | 0x2D || [[Error_Report_services|Erpt]] |
| |- | | |- |
− | | 0x2E || [[Error_Upload_services|PmModuleId_Eupld]] | + | | 0x2E || [[Error_Upload_services|Eupld]] |
| |- | | |- |
− | | 0x2F || [[Friend_services|PmModuleId_Friends]] | + | | 0x2F || [[Friend_services|Friends]] |
| |- | | |- |
− | | 0x30 || [[Glue_services|PmModuleId_Bgtc]] | + | | 0x30 || [[Glue_services|Bgtc]] |
| |- | | |- |
− | | 0x31 || [[Account_services|PmModuleId_Account]] | + | | 0x31 || [[Account_services|Account]] |
| |- | | |- |
− | | 0x32 || [[Bus_services|PmModuleId_Sasbus]] | + | | 0x32 || [[Bus_services|Sasbus]] |
| |- | | |- |
− | | 0x33 || [[NIM_services|PmModuleId_Ntc]] | + | | 0x33 || [[NIM_services|Ntc]] |
| |- | | |- |
− | | 0x34 || [[Applet_Manager_services|PmModuleId_Idle]] | + | | 0x34 || [[Applet_Manager_services|Idle]] |
| |- | | |- |
− | | 0x35 || [[Applet_Manager_services|PmModuleId_Tcap]] | + | | 0x35 || [[Applet_Manager_services|Tcap]] |
| |- | | |- |
− | | 0x36 || [[PTM_services|PmModuleId_PsmLow]] | + | | 0x36 || [[PTM_services|PsmLow]] |
| |- | | |- |
− | | 0x37 || [[LDN_services|PmModuleId_Ndd]] | + | | 0x37 || [[LDN_services|Ndd]] |
| |- | | |- |
− | | 0x38 || [[OLSC_services|PmModuleId_Olsc]] | + | | 0x38 || [[OLSC_services|Olsc]] |
| |- | | |- |
− | | 0x39 || | + | | 0x39 || [[PCV_services|Rtc]] |
| |- | | |- |
| | 0x3A || | | | 0x3A || |
Line 821: |
Line 857: |
| | 0x3C || | | | 0x3C || |
| |- | | |- |
− | | 0x3D || [[NS_Services|PmModuleId_Ns]] | + | | 0x3D || [[NS_Services|Ns]] |
| + | |- |
| + | | 0x3F || [[Applet_Manager_services|NotificationPresenter]] |
| |- | | |- |
− | | 0x65 || [[NV_services|PmModuleId_Nvservices]] | + | | 0x65 || [[NV_services|Nvservices]] |
| |- | | |- |
− | | 0x7F || [[Applet_Manager_services|PmModuleId_Spsm]] | + | | 0x7F || [[Applet_Manager_services|Spsm]] |
| |} | | |} |
| | | |
Line 831: |
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. |