Line 43: |
Line 43: |
| | 4 || Cancel | | | 4 || Cancel |
| |- | | |- |
− | | [1.0.0-6.2.0] 5 || PrintModuleInformation | + | | 5 || [1.0.0-6.2.0] PrintModuleInformation |
| |- | | |- |
| | 6 || GetModuleInformation | | | 6 || GetModuleInformation |
| + | |- |
| + | | 10 || [9.0.0+] |
| + | |- |
| + | | 11 || [9.0.0+] |
| |} | | |} |
| | | |
Line 74: |
Line 78: |
| |- | | |- |
| | 4 || [5.1.0+] AcknowledgeEx | | | 4 || [5.1.0+] AcknowledgeEx |
| + | |} |
| + | |
| + | = psc:l = |
| + | This was added with [9.0.0+]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || |
| + | |- |
| + | | 1 || |
| + | |- |
| + | | 2 || |
| + | |- |
| + | | 3 || |
| + | |- |
| + | | 4 || |
| |} | | |} |
| | | |
| = srepo:u, srepo:a = | | = srepo:u, srepo:a = |
| These are "nn::srepo::detail::ipc::ISrepoService". | | These are "nn::srepo::detail::ipc::ISrepoService". |
| + | |
| + | These were added with [5.0.0+]. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 131: |
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 149: |
Line 173: |
| | 20500 || [8.0.0+] | | | 20500 || [8.0.0+] |
| |} | | |} |
| + | |
| + | == OpenSyslogLogger == |
| + | Takes a type-0x5 input buffer, no output. |
| + | |
| + | [9.0.0+] No input, returns a total of 0xC-bytes of output, an [[#ISyslogLogger]], and a handle. |
| + | |
| + | == ISyslogLogger == |
| + | This is "nn::srepo::detail::ipc::ISyslogLogger". |
| + | |
| + | This was added with [9.0.0+]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || |
| + | |} |
| + | |
| + | Cmd0: no input, returns a total of 8-bytes of output. |
| | | |
| = ovln:rcv = | | = ovln:rcv = |
Line 157: |
Line 200: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || OpenReceiver |
| |} | | |} |
| | | |
Line 167: |
Line 210: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || AddSource |
| |- | | |- |
− | | 1 || | + | | 1 || RemoveSource |
| |- | | |- |
− | | 2 || | + | | 2 || GetReceiveEventHandle |
| |- | | |- |
− | | 3 || | + | | 3 || Receive |
| |- | | |- |
− | | 4 || | + | | 4 || ReceiveWithTick |
| |} | | |} |
| | | |
Line 185: |
Line 228: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || OpenSender |
| |} | | |} |
| | | |
| == ISender == | | == ISender == |
| This is "nn::ovln::ISender". | | This is "nn::ovln::ISender". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || Send |
| + | |- |
| + | | 1 || GetUnreceivedMessageCount |
| + | |} |
| + | |
| + | = time:m = |
| + | This is "nn::timesrv::detail::service::ITimeServiceManager". |
| + | |
| + | This was added with [9.0.0+]. |
| + | |
| + | This service has max_sessions 1. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || [[#GetStaticServiceAsUser]] |
| + | |- |
| + | | 5 || [[#GetStaticServiceAsAdmin]] |
| + | |- |
| + | | 6 || [[#GetStaticServiceAsRepair]] |
| + | |- |
| + | | 9 || [[#GetStaticServiceAsServiceManager]] |
| + | |- |
| + | | 10 || [[#SetupStandardSteadyClockCore]] |
| + | |- |
| + | | 11 || [[#SetupStandardLocalSystemClockCore]] |
| + | |- |
| + | | 12 || [[#SetupStandardNetworkSystemClockCore]] |
| + | |- |
| + | | 13 || [[#SetupStandardUserSystemClockCore]] |
| + | |- |
| + | | 14 || [[#SetupTimeZoneServiceCore]] |
| + | |- |
| + | | 15 || [[#SetupEphemeralNetworkSystemClockCore]] |
| + | |- |
| + | | 50 || GetStandardLocalClockOperationEvent |
| + | |- |
| + | | 51 || GetStandardNetworkClockOperationEventForServiceManager |
| + | |- |
| + | | 52 || GetEphemeralNetworkClockOperationEventForServiceManager |
| + | |- |
| + | | 60 || GetStandardUserSystemClockAutomaticCorrectionUpdatedEvent |
| + | |- |
| + | | 100 || [[#SetStandardSteadyClockBaseTime]] |
| + | |- |
| + | | 200 || GetClosestAlarmUpdatedEvent |
| + | |- |
| + | | 201 || [[#CheckAndSignalAlarms]] |
| + | |- |
| + | | 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 = |
| + | This is "nn::timesrv::detail::service::IAlarmService". |
| + | |
| + | This was added with [9.0.0+]. |
| + | |
| + | This has max_sessions 4. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || [[#CreateWakeupAlarm]] |
| + | |- |
| + | | 1 || [[#CreateBackgroundTaskAlarm]] |
| + | |} |
| + | |
| + | == CreateWakeupAlarm == |
| + | No input. Returns an [[#ISteadyClockAlarm]]. |
| + | |
| + | == CreateBackgroundTaskAlarm == |
| + | No input. Returns an [[#ISteadyClockAlarm]]. |
| + | |
| + | == ISteadyClockAlarm == |
| + | This is "nn::timesrv::detail::service::ISteadyClockAlarm". |
| + | |
| + | This was added with [9.0.0+]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || GetAlarmEvent |
| + | |- |
| + | | 1 || Enable |
| + | |- |
| + | | 2 || Disable |
| + | |- |
| + | | 3 || IsEnabled |
| + | |- |
| + | | 10 || [[#CreateWakeLock]] |
| + | |- |
| + | | 11 || [[#DestroyWakeLock]] |
| + | |} |
| + | |
| + | === CreateWakeLock === |
| + | Opens a session for [[#psc:l|psc:l]] and returns it's interface. |
| + | |
| + | === DestroyWakeLock === |
| + | Close the session opened by [[#CreateWakeLock]] when the alarm is disabled. |
| + | |
| + | = time:p = |
| + | This is "nn::timesrv::detail::service::IPowerStateRequestHandler". |
| + | |
| + | This was added with [9.0.0+]. |
| + | |
| + | This service has max_sessions 1. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || GetPowerStateRequestEventReadableHandle |
| + | |- |
| + | | 1 || GetAndClearPowerStateRequest |
| + | |} |
| + | |
| + | = time:su, time:s = |
| + | These are "nn::timesrv::detail::service::IStaticService". |
| + | |
| + | 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" |
| + | |- |
| + | ! Cmd || Name || Notes |
| + | |- |
| + | | 0 || GetStandardUserSystemClock || Returns an [[#ISystemClock]]. |
| + | |- |
| + | | 1 || GetStandardNetworkSystemClock || Returns an [[#ISystemClock]]. |
| + | |- |
| + | | 2 || GetStandardSteadyClock || Returns an [[#ISteadyClock]]. |
| + | |- |
| + | | 3 || GetTimeZoneService || Returns an [[#ITimeZoneService]]. |
| + | |- |
| + | | 4 || GetStandardLocalSystemClock || Returns an [[#ISystemClock]]. |
| + | |- |
| + | | 5 || [4.0.0+] GetEphemeralNetworkSystemClock || Returns an [[#ISystemClock]]. |
| + | |- |
| + | | 20 || [6.0.0+] GetSharedMemoryNativeHandle || |
| + | |- |
| + | | 30 || [6.0.0-8.1.0] GetStandardNetworkClockOperationEventReadableHandle || |
| + | |- |
| + | | 31 || [6.0.0-8.1.0] GetEphemeralNetworkClockOperationEventReadableHandle || |
| + | |- |
| + | | 50 || [4.0.0+] SetStandardSteadyClockInternalOffset || |
| + | |- |
| + | | 51 || [9.0.0+] GetStandardSteadyClockRtcValue || |
| + | |- |
| + | | 100 || IsStandardUserSystemClockAutomaticCorrectionEnabled || |
| + | |- |
| + | | 101 || SetStandardUserSystemClockAutomaticCorrectionEnabled || |
| + | |- |
| + | | 102 || [5.0.0+] GetStandardUserSystemClockInitialYear || |
| + | |- |
| + | | 200 || [3.0.0+] IsStandardNetworkSystemClockAccuracySufficient || |
| + | |- |
| + | | 201 || [6.0.0+] GetStandardUserSystemClockAutomaticCorrectionUpdatedTime || |
| + | |- |
| + | | 300 || [4.0.0+] CalculateMonotonicSystemClockBaseTimePoint || |
| + | |- |
| + | | 400 || [4.0.0+] GetClockSnapshot || |
| + | |- |
| + | | 401 || [4.0.0+] GetClockSnapshotFromSystemClockContext || |
| + | |- |
| + | | 500 || [4.0.0+] CalculateStandardUserSystemClockDifferenceByUser || |
| + | |- |
| + | | 501 || [4.0.0+] CalculateSpanBetween || |
| + | |} |
| + | |
| + | == ISteadyClock == |
| + | This is "nn::timesrv::detail::service::ISteadyClock". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name || Notes |
| + | |- |
| + | | 0 || GetCurrentTimePoint || No input, returns an output [[#SteadyClockTimePoint]]. |
| + | |- |
| + | | 2 || GetTestOffset || No input, returns an output [[#TimeSpanType]]. |
| + | |- |
| + | | 3 || SetTestOffset || Takes an input [[#TimeSpanType]], no output. |
| + | |- |
| + | | 100 || [2.0.0+] GetRtcValue || No input, returns an output s64. |
| + | |- |
| + | | 101 || [2.0.0+] IsRtcResetDetected || No input, returns an output u8 bool. |
| + | |- |
| + | | 102 || [2.0.0+] GetSetupResultValue || No input, returns an output u32. |
| + | |- |
| + | | 200 || [3.0.0+] GetInternalOffset || No input, returns an output [[#TimeSpanType]]. |
| + | |- |
| + | | 201 || [3.0.0-3.0.2] SetInternalOffset || Takes an input [[#TimeSpanType]], no output. |
| + | |} |
| + | |
| + | === SteadyClockTimePoint === |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x8|| A u64 representing a point in time. |
| + | |- |
| + | | 0x8 || 0x10 || An ID representing the clock source. |
| + | |} |
| + | |
| + | This is a 0x18-byte struct. |
| + | |
| + | === TimeSpanType === |
| + | This is an u64. |
| + | |
| + | == ISystemClock == |
| + | This is "nn::timesrv::detail::service::ISystemClock". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name || Notes |
| + | |- |
| + | | 0 || GetCurrentTime || Returns an output [[#PosixTime]]. |
| + | |- |
| + | | 1 || SetCurrentTime || Takes an input [[#PosixTime]]. |
| + | |- |
| + | | 2 || GetSystemClockContext || Returns an output [[#SystemClockContext]]. |
| + | |- |
| + | | 3 || SetSystemClockContext || Takes an input [[#SystemClockContext]]. |
| + | |- |
| + | | 4 || [9.0.0+] GetOperationEventReadableHandle || |
| + | |} |
| + | |
| + | === PosixTime === |
| + | This is an s64 for UTC POSIX time. |
| + | |
| + | === SystemClockContext === |
| + | This is an 0x20-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x8|| a [[#PosixTime]] representing the system clock epoch. |
| + | |- |
| + | | 0x8 || 0x18 || a [[#SteadyClockTimePoint]] |
| + | |} |
| + | |
| + | == ITimeZoneService == |
| + | This is "nn::timesrv::detail::service::ITimeZoneService". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name || Notes |
| + | |- |
| + | | 0 || GetDeviceLocationName || No input, returns an output [[#LocationName]]. |
| + | |- |
| + | | 1 || SetDeviceLocationName || Takes an input [[#LocationName]], no output. |
| + | |- |
| + | | 2 || GetTotalLocationNameCount || No input, returns an output s32. |
| + | |- |
| + | | 3 || LoadLocationNameList || |
| + | |- |
| + | | 4 || LoadTimeZoneRule || Takes an input [[#LocationName]] and a type-0x16 output buffer for [[#TimeZoneRule]], no output. |
| + | |- |
| + | | 5 || [2.0.0+] GetTimeZoneRuleVersion || No input, returns an output [[#TimeZoneRuleVersion]]. |
| + | |- |
| + | | 6 || [5.0.0+] GetDeviceLocationNameAndUpdatedTime || |
| + | |- |
| + | | 7 || [9.0.0+] SetDeviceLocationNameWithTimeZoneRule || |
| + | |- |
| + | | 8 || [9.0.0+] ParseTimeZoneBinary || |
| + | |- |
| + | | 20 || [9.0.0+] GetDeviceLocationNameOperationEventReadableHandle || |
| + | |- |
| + | | 100 || ToCalendarTime || Takes an input [[#PosixTime]] and a type-0x15 input buffer for [[#TimeZoneRule]], returns an output [[#CalendarTime]] and [[#CalendarAdditionalInfo]]. |
| + | |- |
| + | | 101 || ToCalendarTimeWithMyRule || Takes an input [[#PosixTime]], returns an output [[#CalendarTime]] and [[#CalendarAdditionalInfo]]. |
| + | |- |
| + | | 201 || ToPosixTime || Takes an input [[#CalendarTime]], a type-0x15 input buffer for [[#TimeZoneRule]], an type-0xA output buffer for [[#PosixTime]] array, and returns an output s32. |
| + | |- |
| + | | 202 || ToPosixTimeWithMyRule || Takes an input [[#CalendarTime]], an type-0xA output buffer for [[#PosixTime]] array, and returns an output s32. |
| + | |} |
| + | |
| + | === LoadLocationNameList === |
| + | Takes an input s32 LocationName_index and a type-0x6 output buffer for [[#LocationName]], returns an output s32 for total output entries. |
| + | |
| + | === LocationName === |
| + | This contains a TimeZone location string with a max size of 0x24 bytes. |
| + | |
| + | === TimeZoneRule === |
| + | This is an 0x4000-byte struct. Official sw uses fixed-size 0x4000 for the buffer size with the above commands. |
| + | |
| + | This is loaded from the [[Title_list|TimeZoneBinary]] title with the specified LocationName under the zoneinfo/ directory, the content is then converted into this TimeZoneRule structure. |
| + | |
| + | The files contained under zoneinfo/ directory are Tzif2 files without Tzif1 header and data at the begining of them (see [https://tools.ietf.org/html/rfc8536 RFC8536] for more information). |
| + | |
| + | The conversion of a Tzif2 file to a TimeZoneRule structure is based on [https://github.com/eggert/tz/blob/master/localtime.c tz database code] with some custom modifications (Leap seconds aren't handled, no usage of "posixrules" and Tzif1 support stripped out). |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x4 || timecnt |
| + | |- |
| + | | 0x4 || 0x4 || typecnt |
| + | |- |
| + | | 0x8 || 0x4 || charcnt |
| + | |- |
| + | | 0xC || 0x1 || goback |
| + | |- |
| + | | 0xD || 0x1 || goahead |
| + | |- |
| + | | 0xE || 0x2 || Padding |
| + | |- |
| + | | 0x10 || 0x8 * 1000 || ats |
| + | |- |
| + | | 0x1f50 || 0x1 * 1000 || types |
| + | |- |
| + | | 0x2338 || 0x10 * 128 || ttis (time type information), struct ttinfo[1000] |
| + | |- |
| + | | 0x2b38 || 0x1 * 512 || chars |
| + | |- |
| + | | 0x2d38 || 0x4 || defaulttype |
| + | |- |
| + | | 0x2d3c || 0x12c4 || Reserved / Unused |
| + | |} |
| + | |
| + | === ttinfo === |
| + | This is an 0x10-byte struct. |
| + | Represent a Time Type Information used in [[#TimeZoneRule]]. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x4 || tt_gmtoff |
| + | |- |
| + | | 0x4 || 0x1 || tt_isdst |
| + | |- |
| + | | 0x5 || 0x3 || Padding |
| + | |- |
| + | | 0x8 || 0x4 || tt_abbrind |
| + | |- |
| + | | 0xC || 0x1 || tt_ttisstd |
| + | |- |
| + | | 0xD || 0x1 || tt_ttisgmt |
| + | |- |
| + | | 0xE || 0x2 || Padding |
| + | |} |
| + | |
| + | === TimeZoneRuleVersion === |
| + | This is an u128. |
| + | |
| + | === CalendarTime === |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x2 || Year |
| + | |- |
| + | | 0x2 || 0x1 || Month |
| + | |- |
| + | | 0x3 || 0x1 || Day |
| + | |- |
| + | | 0x4 || 0x1 || Hour |
| + | |- |
| + | | 0x5 || 0x1 || Minute |
| + | |- |
| + | | 0x6 || 0x1 || Second |
| + | |- |
| + | | 0x7 || 0x1 || Padding / unknown? |
| + | |} |
| + | |
| + | This is an 0x8-byte struct. |
| + | |
| + | === CalendarAdditionalInfo === |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x4 || 0-based day-of-week. |
| + | |- |
| + | | 0x4 || 0x4 || 0-based day-of-year. |
| + | |- |
| + | | 0x8 || 0x8 || Timezone name string. |
| + | |- |
| + | | 0x10 || 0x4 || 0 = no DST, 1 = DST. |
| + | |- |
| + | | 0x14 || 0x4 || s32 seconds relative to UTC for this timezone. |
| + | |} |
| + | |
| + | This is an 0x18-byte struct. This stores timezone info. |
| + | |
| + | = ins:r = |
| + | This is "nn::ins::IReceiverManager". |
| + | |
| + | This was added with [9.0.0+]. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 200: |
Line 687: |
| |} | | |} |
| | | |
− | = PSC Module IDs = | + | == 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 = |
| + | This is "nn::ins::ISenderManager". |
| + | |
| + | This was added with [9.0.0+]. |
| + | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! ID || Module | + | ! Cmd || Name |
| + | |- |
| + | | 0 || |
| + | |} |
| + | |
| + | == Cmd0 == |
| + | Takes an input u32 '''InsID''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. |
| + | |
| + | = PmModuleId = |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! 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]] |
| |- | | |- |
− | | 0x05 || | + | | 0x0B || [[Bus_services|Uart]] |
| |- | | |- |
− | | 0x07 || [[PCV services|Pcv]] | + | | 0x0C || [[Bus_services|I2c]] |
| |- | | |- |
− | | 0x08 || [[PCV services|Pcv:Imm]] | + | | 0x0D || [[Bus_services|I2cPcv]] |
| |- | | |- |
− | | 0x09 || [[Bus services|Gpio]] | + | | 0x0E || [[Bus_services|Spi]] |
| |- | | |- |
− | | 0x0A || [[Bus services|Pinmux]] | + | | 0x0F || [[Bus_services|Pwm]] |
| |- | | |- |
− | | 0x0B || [[Bus services|Uart]] | + | | 0x10 || [[PTM_services|Psm]] |
| |- | | |- |
− | | 0x0C || [[Bus services|I2c]] | + | | 0x11 || [[PTM_services|Tc]] |
| |- | | |- |
− | | 0x0D || [[Bus services|I2c:Pcv]] | + | | 0x12 || [[Applet_Manager_services|Omm]] |
| |- | | |- |
− | | 0x0F || [[Bus services|Pwn]] | + | | 0x13 || [[PCIe_services|Pcie]] |
| |- | | |- |
− | | 0x10 || | + | | 0x14 || [[Backlight_services|Lbl]] |
| |- | | |- |
− | | 0x13 || [[PCIe services|PCIe]] | + | | 0x15 || [[Nvnflinger_services|Display]] |
| |- | | |- |
− | | 0x14 || [[Backlight services|Backlight]] | + | | 0x16 || |
| |- | | |- |
− | | 0x15 || [[Nvnflinger services|Nvnflinger]] | + | | 0x17 || |
| |- | | |- |
− | | 0x18 || [[HID services|nn::psc::PmModuleId_Hid]] | + | | 0x18 || [[HID_services|Hid]] |
| |- | | |- |
− | | 0x1B || | + | | 0x19 || [[WLAN_services|WlanSockets]] |
| |- | | |- |
− | | 0x1C || [[Audio services|Audio]] | + | | 0x1A || |
| |- | | |- |
− | | 0x1E || | + | | 0x1B || [[Filesystem_services|Fs]] |
| |- | | |- |
− | | 0x1F || [[Bluetooth Driver services|Bluetooth]] | + | | 0x1C || [[Audio_services|Audio]] |
| |- | | |- |
− | | 0x20 || [[PCV services|Bpc]] | + | | 0x1D || |
| |- | | |- |
− | | 0x21 || [[PTM services|Ptm]] | + | | 0x1E || [[TMA_services|TmaHostIo]] |
| |- | | |- |
− | | 0x23 || [[NFC services|nn::psc::PmModuleId_Nfc]] | + | | 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 || | + | | 0x25 || [[BTM_services|Btm]] |
| |- | | |- |
− | | 0x26 || [[Network Interface services|Nifm]] | + | | 0x26 || [[Network_Interface_services|Nifm]] |
| |- | | |- |
− | | 0x28 || [[NPNS services|Npns]] | + | | 0x27 || [[Bus_services|GpioLow]] |
| |- | | |- |
− | | 0x29 || [[Log services|nn::psc::PmModuleId_Lm]] | + | | 0x28 || [[NPNS_services|Npns]] |
| |- | | |- |
− | | 0x2A || [[BCAT services|Bcat]] | + | | 0x29 || [[Log_services|Lm]] |
| |- | | |- |
− | | 0x2B || [[PCV services|Time]] | + | | 0x2A || [[BCAT_services|Bcat]] |
| |- | | |- |
− | | 0x2C || [[Parental Control services|Pctl]] | + | | 0x2B || [[Glue_services|Time]] |
| |- | | |- |
− | | 0x2D || [[Error Report services|Erpt]] | + | | 0x2C || [[Parental_Control_services|Pctl]] |
| |- | | |- |
− | | 0x2E || [[Error Upload services|Eupld]] | + | | 0x2D || [[Error_Report_services|Erpt]] |
| |- | | |- |
− | | 0x2F || [[Friend services|Friend]] | + | | 0x2E || [[Error_Upload_services|Eupld]] |
| |- | | |- |
− | | 0x30 || [[Glue services|Glue]] | + | | 0x2F || [[Friend_services|Friends]] |
| |- | | |- |
− | | 0x31 || [[Account services|Account]] | + | | 0x30 || [[Glue_services|Bgtc]] |
| |- | | |- |
− | | 0x32 || [[Bus services|SasBus]] | + | | 0x31 || [[Account_services|Account]] |
| |- | | |- |
− | | 0x65 || [[NV services|NV]] | + | | 0x32 || [[Bus_services|Sasbus]] |
| + | |- |
| + | | 0x33 || [[NIM_services|Ntc]] |
| + | |- |
| + | | 0x34 || [[Applet_Manager_services|Idle]] |
| + | |- |
| + | | 0x35 || [[Applet_Manager_services|Tcap]] |
| + | |- |
| + | | 0x36 || [[PTM_services|PsmLow]] |
| + | |- |
| + | | 0x37 || [[LDN_services|Ndd]] |
| + | |- |
| + | | 0x38 || [[OLSC_services|Olsc]] |
| + | |- |
| + | | 0x39 || [[PCV_services|Rtc]] |
| + | |- |
| + | | 0x3A || |
| + | |- |
| + | | 0x3B || |
| + | |- |
| + | | 0x3C || |
| + | |- |
| + | | 0x3D || [[NS_Services|Ns]] |
| + | |- |
| + | | 0x3F || [[Applet_Manager_services|NotificationPresenter]] |
| + | |- |
| + | | 0x65 || [[NV_services|Nvservices]] |
| + | |- |
| + | | 0x7F || [[Applet_Manager_services|Spsm]] |
| |} | | |} |
− |
| |
− | [[Category:Services]]
| |
| | | |
| = Power Management States = | | = Power Management States = |
− |
| |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! ID || Name || Description | + | ! State || Name || Description |
| |- | | |- |
| | Awake || 0 || Everything is awake. | | | Awake || 0 || Everything is awake. |
Line 302: |
Line 861: |
| | ReadyShutdown || 5 || Preparing to transition to shutdown. | | | ReadyShutdown || 5 || Preparing to transition to shutdown. |
| |} | | |} |
| + | |
| + | [[Category:Services]] |