Line 47: |
Line 47: |
| | 6 || [[#GetModuleInformation|GetModuleInformation]] | | | 6 || [[#GetModuleInformation|GetModuleInformation]] |
| |- | | |- |
− | | 10 || [9.0.0+] [[#AcquireStateLock|AcquireStateLock]] | + | | 7 || [17.0.0+] SetRandomDelay |
| |- | | |- |
− | | 11 || [9.0.0+] [[#HasStateLock|HasStateLock]] | + | | 10 || [9.0.0+] [[#GetStateLockUpdateEvent|GetStateLockUpdateEvent]] |
| + | |- |
| + | | 11 || [9.0.0+] [[#IsStateLocked|IsStateLocked]] |
| |} | | |} |
| | | |
Line 73: |
Line 75: |
| Takes two type-0x6 output buffers '''DependencyInformationBefore''' and '''DependencyInformationAfter'''. Returns an output [[#PmModuleTransitionInformation]] and two output u32s '''DependencyInformationBeforeCount''' and '''DependencyInformationAfterCount'''. | | Takes two type-0x6 output buffers '''DependencyInformationBefore''' and '''DependencyInformationAfter'''. Returns an output [[#PmModuleTransitionInformation]] and two output u32s '''DependencyInformationBeforeCount''' and '''DependencyInformationAfterCount'''. |
| | | |
− | == AcquireStateLock == | + | == GetStateLockUpdateEvent == |
− | Unofficial name.
| |
− | | |
| No input. Returns an output readable Event handle. | | No input. Returns an output readable Event handle. |
| | | |
− | == HasStateLock == | + | == IsStateLocked == |
− | Unofficial name.
| |
− | | |
| Takes an input [[#PmState]]. Returns an output bool. | | Takes an input [[#PmState]]. Returns an output bool. |
| | | |
Line 148: |
Line 146: |
| | 3 || [[#IsLocked|IsLocked]] | | | 3 || [[#IsLocked|IsLocked]] |
| |- | | |- |
− | | 4 || [[#GetLockState|GetLockState]] | + | | 4 || [[#GetRelatedState|GetRelatedState]] |
| |} | | |} |
| | | |
| == Initialize == | | == Initialize == |
− | Unofficial name.
| |
− |
| |
| Takes an input [[#PmState]]. No output. | | Takes an input [[#PmState]]. No output. |
| | | |
| == Lock == | | == Lock == |
− | Unofficial name.
| |
− |
| |
| No input/output. | | No input/output. |
| | | |
| == Unlock == | | == Unlock == |
− | Unofficial name.
| |
− |
| |
| No input/output. | | No input/output. |
| | | |
| == IsLocked == | | == IsLocked == |
− | Unofficial name.
| |
− |
| |
| No input. Returns an output bool. | | No input. Returns an output bool. |
| | | |
− | == GetLockState == | + | == GetRelatedState == |
− | Unofficial name.
| |
− | | |
| No input. Returns an output [[#PmState]]. | | No input. Returns an output [[#PmState]]. |
| | | |
Line 187: |
Line 175: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 10100 || | + | | 10100 || [[#SaveReport]] |
| + | |- |
| + | | 10101 || [6.0.0+] [[#SaveReportWithUser]] |
| |- | | |- |
− | | 10101 || [6.0.0+] | + | | 10200 || [6.0.0+] [[#SaveReportForAntiPiracy]] |
| |- | | |- |
− | | 10200 || [6.0.0+] | + | | 10201 || [6.0.0+] [[#SaveReportWithUserForAntiPiracy]] |
| |- | | |- |
− | | 10201 || [6.0.0+] | + | | 10300 || [15.0.0+] [[#SendReportWithUser]] |
| |- | | |- |
− | | 10300 || [15.0.0+] | + | | 11000 || [6.0.0+] [[#NotifyUserList]] |
| |- | | |- |
− | | 11000 || [6.0.0+] | + | | 11001 || [6.0.0+] [[#NotifyUserDeleted]] |
| |- | | |- |
− | | 11001 || [6.0.0+] | + | | 11002 || [6.0.0+] [[#NotifyUserRegistered]] |
| |- | | |- |
− | | 11002 || [6.0.0+] | + | | 11003 || [6.0.0-10.2.0] [[#NotifyUserClosed]] |
| |- | | |- |
− | | 11003 || [6.0.0-10.2.0] | + | | 11004 || [6.0.0-10.2.0] [[#NotifyUserOpened]] |
| |- | | |- |
− | | 11004 || [6.0.0-10.2.0] | + | | 11005 || [11.0.0+] [[#NotifyUserClosedWithApplicationId]] |
| |- | | |- |
− | | 11005 || [11.0.0+] | + | | 11006 || [11.0.0+] [[#NotifyUserOpenedWithApplicationId]] |
| |- | | |- |
− | | 11006 || [11.0.0+] | + | | 11100 || [6.0.0+] [[#NotifyCompletedNetworkRequestChanged]] |
| |- | | |- |
− | | 11100 || [6.0.0+] | + | | 11200 || [6.0.0+] [[#NotifyFriendPresenceChanged]] |
| |- | | |- |
− | | 11200 || [6.0.0+] | + | | 11300 || [6.0.0+] [[#NotifyNotificationConnectivityChanged]] |
| |- | | |- |
− | | 11300 || [6.0.0+] | + | | 11400 || [6.0.0+] [[#NotifyDeviceOperationModeChanged]] |
| |- | | |- |
− | | 11400 || [6.0.0+] | + | | 11500 || [6.0.0+] [[#NotifySystemPowerStateChanged]] |
| |- | | |- |
− | | 11500 || [6.0.0+] | + | | 11600 || [6.0.0+] [[#NotifyAppletLaunched]] |
| |- | | |- |
− | | 11600 || [6.0.0+] | + | | 11601 || [6.0.0+] [[#NotifyAppletExited]] |
| |- | | |- |
− | | 11601 || [6.0.0+] | + | | 11602 || [6.0.0+] [[#NotifyForegroundAppletChanged]] |
| |- | | |- |
− | | 11602 || [6.0.0+] | + | | 11700 || [6.0.0+] [[#NotifyControllerCountChanged]] |
| |- | | |- |
− | | 11700 || [6.0.0+] | + | | 11800 || [6.0.0+] [[#NotifyAudioInStarted]] |
| |- | | |- |
− | | 11800 || [6.0.0+] | + | | 11801 || [6.0.0+] [[#NotifyAudioInStopped]] |
| |- | | |- |
− | | 11801 || [6.0.0+] | + | | 11810 || [8.0.0+] [[#NotifyLaunchApplicationStorage]] |
| |- | | |- |
− | | 11810 || [8.0.0+] | + | | 11811 || [8.0.0+] [[#NotifyApplicationRightsInfo]] |
| |- | | |- |
− | | 11811 || [8.0.0+] | + | | 12000 || [8.0.0+] [[#RegisterWatchdog]] |
| |- | | |- |
− | | 12000 || [8.0.0+] | + | | 12001 || [8.0.0+] [[#UnregisterWatchdog]] |
| |- | | |- |
− | | 12001 || [8.0.0+] | + | | 13000 || [8.0.0+] [[#GetSyslogLogger]] |
| |- | | |- |
− | | 13000 || [8.0.0+] [[#OpenSyslogLogger]] | + | | 13001 || [8.0.0+] [[#SaveSyslogReport]] |
| |- | | |- |
− | | 13001 || [8.0.0+] | + | | 13002 || [19.0.0+] |
| |- | | |- |
− | | 20100 || | + | | 20100 || [[#PopReport]] |
| |- | | |- |
− | | 20200 || | + | | 20200 || [[#GetPushEventReadableHandle]] |
| |- | | |- |
− | | 20300 || [6.0.0+] | + | | 20300 || [6.0.0+] [[#Shutdown]] |
| |- | | |- |
− | | 20400 || [6.0.0+] | + | | 20400 || [6.0.0+] [[#PopLostByBufferShortageInfo]] |
| |- | | |- |
− | | 20401 || [6.0.0+] | + | | 20401 || [6.0.0+] [[#GetBufferUsageInfo]] |
| |- | | |- |
− | | 20402 || [7.0.0+] | + | | 20402 || [7.0.0+] [[#SetDurationReportChatteringDetectionThreshold]] |
| |- | | |- |
− | | 20500 || [8.0.0+] | + | | 20500 || [8.0.0+] [[#GetWatchdogStatistics]] |
| |- | | |- |
− | | 20600 || [15.0.0+] | + | | 20600 || [15.0.0+] [[#NotifyForegroundTransmissionResult]] |
| |} | | |} |
| | | |
− | == Cmd10100 == | + | == SaveReport == |
− | Takes a type-0x9 input buffer containing an EventId string, a type-0x5 input buffer containing the Report, an input [[NCM_services#ProgramId|ProgramId]], no output. | + | Takes a type-0x9 input buffer containing the [[#EventId]], an input u64 '''ApplicationId''' and a type-0x5 input buffer containing the [[#SystemReport]]. No output. |
| | | |
− | The EventId buffer size must be 0x1-0x20, and the last byte in the buffer must be NUL. <code>nn::srepo::detail::VerifyEventId</code> is then used with the EventId buffer, throwing error on failure.
| + | <code>nn::srepo::detail::VerifyEventId</code> is then used with the [[#EventId]], throwing error on failure. |
| | | |
− | The Report buffer is used with <code>nn::srepo::detail::VerifyReport</code> and with last param = 0x8000, throwing error on failure. | + | The [[#SystemReport]] is used with <code>nn::srepo::detail::VerifyReport</code> and with last param = 0x8000, throwing error on failure. |
| | | |
| Lastly, the actual processing func is called, returning the Result from here. Besides various cmd input being passed to this etc, this also passes the output from <code>nn::util::GenerateUuid()</code> to this. | | Lastly, the actual processing func is called, returning the Result from here. Besides various cmd input being passed to this etc, this also passes the output from <code>nn::util::GenerateUuid()</code> to this. |
| | | |
− | == Cmd10101 == | + | == SaveReportWithUser == |
− | Takes a type-0x9 input buffer containing an EventId string, a type-0x5 input buffer containing the Report, an 0x10-byte input struct, an input [[NCM_services#ProgramId|ProgramId]], no output. | + | Takes a type-0x9 input buffer containing the [[#EventId]], an input u64 '''ApplicationId''', a type-0x5 input buffer containing the [[#SystemReport]] and an input [[Account_services#Uid|Uid]]. No output. |
| | | |
− | Same as [[#Cmd10100]] except instead of calling the processing func with struct=all-zero, the input struct is passed instead (which must be non-zero). | + | Same as [[#SaveReport]] except instead of calling the processing func with Uid=all-zero, the input Uid is passed instead (which must be non-zero). |
| | | |
− | == Cmd10200 == | + | == SaveReportForAntiPiracy == |
− | Takes a type-0x9 input buffer containing an EventId string, a type-0x5 input buffer containing the Report, an input [[NCM_services#ProgramId|ProgramId]], no output. | + | Takes a type-0x9 input buffer containing the [[#EventId]], an input u64 '''ApplicationId''' and a type-0x5 input buffer containing the [[#SystemReport]]. No output. |
| | | |
− | Same as [[#Cmd10100]] except the second param passed to the processing func is value 1 instead of 0. | + | Same as [[#SaveReport]] except the [[#SystemReport]] Flags field is 1 instead of 0. |
| | | |
− | == Cmd10201 == | + | == SaveReportWithUserForAntiPiracy == |
− | Takes a type-0x9 input buffer containing an EventId string, a type-0x5 input buffer containing the Report, an 0x10-byte input struct, an input [[NCM_services#ProgramId|ProgramId]], no output. | + | Takes a type-0x9 input buffer containing the [[#EventId]], an input u64 '''ApplicationId''', a type-0x5 input buffer containing the [[#SystemReport]] and an input [[Account_services#Uid|Uid]]. No output. |
| | | |
− | Same as [[#Cmd10101]] except the second param passed to the processing func is value 1 instead of 0. | + | Same as [[#SaveReportWithUser]] except the [[#SystemReport]] Flags field is 1 instead of 0. |
| | | |
− | == Cmd10300 == | + | == SendReportWithUser == |
− | Takes a total of 0x28-bytes of input, a type-0x9 input buffer, a TransferMemory handle, returns an output [[#IAsyncContext]]. | + | Takes an input [[Account_services#Uid|Uid]], an input u64 '''ApplicationId''', an input bool (padded to u64), two input u32s, a type-0x9 input buffer and a TransferMemory handle. Returns an output [[#IAsyncContext]]. |
| | | |
| The mapped TransferMemory buffer is used with <code>nn::srepo::detail::VerifyReport</code>, returning an error on failure. | | The mapped TransferMemory buffer is used with <code>nn::srepo::detail::VerifyReport</code>, returning an error on failure. |
| | | |
− | == Cmd11000 == | + | == NotifyUserList == |
− | Takes a type-0x9 input buffer containing an array of a 0x10-byte struct, no output. | + | Takes a type-0x9 input buffer containing an array of [[Account_services#Uid|Uid]]. No output. |
| | | |
| The Sf handler code (func which calls the serv obj vfunc) will throw an error if the buffer size is >0x8F (that is, >8 entries). | | The Sf handler code (func which calls the serv obj vfunc) will throw an error if the buffer size is >0x8F (that is, >8 entries). |
Line 298: |
Line 288: |
| This gets data from a state list, then clears the is_initialized flag for each entry. Lastly when the input array count is non-zero, this loops through the input array writing each entry into the aforementioned state list. If this would run out of space, it would skip writing that entry and still continue - however this shouldn't be possible with the above Sf check. Then this returns 0. | | This gets data from a state list, then clears the is_initialized flag for each entry. Lastly when the input array count is non-zero, this loops through the input array writing each entry into the aforementioned state list. If this would run out of space, it would skip writing that entry and still continue - however this shouldn't be possible with the above Sf check. Then this returns 0. |
| | | |
− | == Cmd11001 == | + | == NotifyUserDeleted == |
− | Takes a 0x10-byte input struct, no output. | + | Takes an input [[Account_services#Uid|Uid]]. No output. |
| + | |
| + | This calls the same state-reset func as [[#NotifyUserList]], except this passes the input Uid instead. Then this returns 0. |
| + | |
| + | == NotifyUserRegistered == |
| + | Takes an input [[Account_services#Uid|Uid]]. No output. |
| + | |
| + | This calls the same state-writing func as [[#NotifyUserList]], except this passes the input Uid instead. Then this returns 0. |
| + | |
| + | == NotifyUserClosed == |
| + | Takes an input [[Account_services#Uid|Uid]]. No output. |
| + | |
| + | == NotifyUserOpened == |
| + | Takes an input [[Account_services#Uid|Uid]]. No output. |
| + | |
| + | == NotifyUserClosedWithApplicationId == |
| + | Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output. |
| + | |
| + | == NotifyUserOpenedWithApplicationId == |
| + | Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output. |
| + | |
| + | == NotifyCompletedNetworkRequestChanged == |
| + | Takes an input s8 and an input bool. No output. |
| + | |
| + | == NotifyFriendPresenceChanged == |
| + | Takes an input [[Account_services#Uid|Uid]] and an input s8 (padded to u64). No output. |
| | | |
− | This calls the same state-reset func as [[#Cmd11000]], except this passes the input struct instead. Then this returns 0.
| + | == NotifyNotificationConnectivityChanged == |
| + | Takes an input s8. No output. |
| | | |
− | == Cmd11002 == | + | == NotifyDeviceOperationModeChanged == |
− | Takes a 0x10-byte input struct, no output. | + | Takes an input s8. No output. |
| | | |
− | This calls the same state-writing func as [[#Cmd11000]], except this passes the input struct instead. Then this returns 0.
| + | == NotifySystemPowerStateChanged == |
| + | Takes an input s8. No output. |
| | | |
− | == Cmd11003 == | + | == NotifyAppletLaunched == |
− | Takes a 0x10-byte input struct, no output. | + | Takes an input [[#SfAppletIdentityInfo]]. No output. |
| | | |
− | == Cmd11004 == | + | == NotifyAppletExited == |
− | Takes a 0x10-byte input struct, no output. | + | Takes an input [[#SfAppletIdentityInfo]]. No output. |
| | | |
− | Identical to [[#Cmd11003]] except different input is passed to the called func (1 instead of 0).
| + | == NotifyForegroundAppletChanged == |
| + | Takes an input [[#SfAppletIdentityInfo]]. No output. |
| | | |
− | == Cmd11005 == | + | == NotifyControllerCountChanged == |
− | Takes a total of 0x18-bytes of input, no output. | + | Takes three input s8s. No output. |
| | | |
− | This replaces [[#Cmd11003]].
| + | == NotifyAudioInStarted == |
| + | Takes a type-0x5 input buffer and an input u64. No output. |
| | | |
− | == Cmd11006 == | + | == NotifyAudioInStopped == |
− | Takes a total of 0x18-bytes of input, no output. | + | Takes a type-0x5 input buffer and an input u64. No output. |
| | | |
− | Identical to [[#Cmd11005]] except different input is passed to the called func (1 instead of 0).
| + | == NotifyLaunchApplicationStorage == |
| + | Takes an input u64 '''ApplicationId''' and an input u8 (padded to u64). No output. |
| | | |
− | This replaces [[#Cmd11004]].
| + | == NotifyApplicationRightsInfo == |
| + | Takes an input u64 '''ApplicationId''' and an input u32 (padded to u64). No output. |
| | | |
− | == Cmd12001 == | + | == RegisterWatchdog == |
− | Takes an input u64, no output. | + | Takes a type-0x9 input buffer, an input [[#TimeSpanType]] and an input u64. Returns an output [[#WatchdogHandle]]. |
| | | |
− | The input u64 is only used for comparing with a field in list entries.
| + | == UnregisterWatchdog == |
| + | Takes an input [[#WatchdogHandle]]. No output. |
| | | |
− | == OpenSyslogLogger == | + | == GetSyslogLogger == |
− | Takes a type-0x5 input buffer, no output. | + | Takes a type-0x5 input buffer. No output. |
| | | |
− | [9.0.0+] No input, returns 3 u32s of output (sharedmem_size, out1, out2), an [[#ISyslogLogger]], and a SharedMemory handle. | + | [9.0.0+] No input. Returns three output u32s, an [[#ISyslogLogger]] and a SharedMemory handle. |
| | | |
| The SharedMemory is mapped with the returned size and with permissions=RW. | | The SharedMemory is mapped with the returned size and with permissions=RW. |
| | | |
− | == Cmd13001 == | + | == SaveSyslogReport == |
− | Takes a total of 0x10-bytes of input, no output. | + | Takes an input u128 "nn::util::Uuid". No output. |
| | | |
− | == Cmd20100 == | + | == PopReport == |
− | Takes a type-0x16 output buffer and a type-0x6 output buffer, returns a total of 0x28-bytes of output. | + | Takes a type-0xA output buffer and a type-0x6 output buffer. Returns an output [[Account_services#Uid|Uid]]. |
| | | |
− | [10.0.0+] This now returns an additional 0x10-bytes of output. | + | [6.0.0+] This now returns an additional output u64 '''ApplicationId''' and an output u128 "nn::util::Uuid". |
| + | |
| + | [10.0.0+] This now returns an additional output u64 and two output u32s. |
| | | |
| This is only usable with srepo:a. | | This is only usable with srepo:a. |
| | | |
− | == Cmd20200 == | + | == GetPushEventReadableHandle == |
− | No input, returns an output Event handle. | + | No input. Returns an output Event handle. |
| | | |
| This is only usable with srepo:a. | | This is only usable with srepo:a. |
| | | |
− | This Event is signaled by the various other commands when data becomes available with [[#Cmd20100]].
| + | == Shutdown == |
− | | |
− | == Cmd20300 == | |
| No input/output. | | No input/output. |
| | | |
− | == Cmd20400 == | + | == PopLostByBufferShortageInfo == |
− | Takes an input u32 index, returns two output u64s. | + | Takes an input u32. Returns two output u64s. |
| | | |
− | The input index must be <=1. This gets data from a state array with the specified index. | + | The input u32 must be <=1. This gets data from a state array with the specified index. |
| | | |
− | == Cmd20401 == | + | == GetBufferUsageInfo == |
− | No input, returns two output u64s. | + | No input. Returns two output u64s. |
| | | |
| The first u64 is a constant value, while the second u64 is from state. | | The first u64 is a constant value, while the second u64 is from state. |
| | | |
− | == Cmd20402 == | + | == SetDurationReportChatteringDetectionThreshold == |
− | Takes an input s64 and u64, no output. | + | Takes an input [[#TimeSpanType]] and an input u64. No output. |
| | | |
| The input s64 must be >=1. The two input fields are written into global state, and various state is also cleared. | | The input s64 must be >=1. The two input fields are written into global state, and various state is also cleared. |
| | | |
− | == Cmd20500 == | + | == GetWatchdogStatistics == |
− | No input, returns two output u64s. | + | No input. Returns an output [[#WatchdogStatistics]]. |
| | | |
| This gets two u64s from global state. | | This gets two u64s from global state. |
| | | |
− | == Cmd20600 == | + | == NotifyForegroundTransmissionResult == |
− | Takes a 0x10-byte input struct and a Result, no output. | + | Takes an input u128 "nn::util::Uuid" and an input [[#ResultHolder]]. No output. |
| | | |
− | This goes through the global list of [[#IAsyncContext]] looking for an entry with data matching the input struct, then writes the input Result into that [[#IAsyncContext]]. This Result would then be returned by [[#GetResult]] - the Event from [[#GetSystemEvent]] is also signaled. | + | This goes through the global list of [[#IAsyncContext]] looking for an entry with data matching the input struct, then writes the input [[#ResultHolder]] into that [[#IAsyncContext]]. This Result would then be returned by [[#GetResult]] - the Event from [[#GetSystemEvent]] is also signaled. |
| | | |
| This always returns 0. | | This always returns 0. |
Line 396: |
Line 418: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || [[#ReallocateBuffer|ReallocateBuffer]] |
| |} | | |} |
| | | |
− | === Cmd0 === | + | === ReallocateBuffer === |
− | No input, returns two output u32s. | + | No input. Returns two output u32s. |
| | | |
− | This does the same entry-allocation in sharedmem as [[#OpenSyslogLogger]]. | + | This does the same entry-allocation in sharedmem as [[#GetSyslogLogger]]. |
| | | |
| == IAsyncContext == | | == IAsyncContext == |
Line 513: |
Line 535: |
| |- | | |- |
| | 15 || [[#SetupEphemeralNetworkSystemClockCore]] | | | 15 || [[#SetupEphemeralNetworkSystemClockCore]] |
| + | |- |
| + | | 20 || [19.0.0+] GetStandardSteadyClockCurrentTimePoint |
| |- | | |- |
| | 50 || GetStandardLocalClockOperationEvent | | | 50 || GetStandardLocalClockOperationEvent |
Line 752: |
Line 776: |
| | | |
| === TimeSpanType === | | === TimeSpanType === |
− | This is an u64. | + | This is an s64. |
| | | |
| == ISystemClock == | | == ISystemClock == |
Line 942: |
Line 966: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || [[#AddSource]] | + | | 0 || [[#GetInputSourceState]] |
| |- | | |- |
− | | 1 || [[#Receive]] | + | | 1 || [[#GetTriggerTargetEvent]] |
| |} | | |} |
| | | |
− | == AddSource == | + | == GetInputSourceState == |
− | Unofficial name.
| |
− | | |
| Takes an input u32 '''SourceId'''. Returns an output u64 '''EventTime'''. | | Takes an input u32 '''SourceId'''. Returns an output u64 '''EventTime'''. |
| | | |
− | == Receive == | + | == GetTriggerTargetEvent == |
− | Unofficial name.
| |
− | | |
| Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. | | Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. |
| | | |
Line 966: |
Line 986: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || [[#Send]] | + | | 0 || [[#GetNotifyEvent]] |
| |} | | |} |
| | | |
− | == Send == | + | == GetNotifyEvent == |
− | Unofficial name.
| |
− | | |
| Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. | | Takes an input u32 '''SourceId''' and an input u64 (unused, official software passes struct pointer). Returns an output Event handle with autoclear disabled. |
| | | |
Line 983: |
Line 1,001: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || GetBatteryPercentage |
| |- | | |- |
− | | 1 || | + | | 1 || GetChargerType |
| |- | | |- |
| | 2 || [[#OpenChargeSession]] | | | 2 || [[#OpenChargeSession]] |
| |- | | |- |
− | | 3 || | + | | 3 || GetRawBatteryPercentage |
| |- | | |- |
− | | 4 || | + | | 4 || GetBatteryVoltageLevel |
| |- | | |- |
| | 5 || [[#OpenThermalSession]] | | | 5 || [[#OpenThermalSession]] |
| |- | | |- |
− | | 6 || | + | | 6 || GetAbnormalTemperatureSet |
| |- | | |- |
| | 7 || [[#OpenClockSession]] | | | 7 || [[#OpenClockSession]] |
| |- | | |- |
− | | 8 || | + | | 8 || GetClockRate |
| + | |- |
| + | | 9 || [17.0.0+] [[#OpenBridgeSession]] |
| + | |- |
| + | | 10 || [17.0.0+] GetBridgePowerSupply |
| + | |- |
| + | | 11 || [18.0.0+] [[#OpenVsysVoltageSession]] |
| + | |- |
| + | | 12 || [18.0.0+] GetIsBatteryEnoughForFullAwake |
| + | |- |
| + | | 13 || [19.0.0+] GetIsCharging |
| |} | | |} |
| | | |
Line 1,010: |
Line 1,038: |
| == OpenClockSession == | | == OpenClockSession == |
| Takes an input u32. Returns an [[#IClockSession]]. | | Takes an input u32. Returns an [[#IClockSession]]. |
| + | |
| + | == OpenBridgeSession == |
| + | No input. Returns an [[#IBridgeSession]]. |
| + | |
| + | == OpenVsysVoltageSession == |
| + | No input. Returns an [[#IVsysVoltageSession]]. |
| | | |
| == IChargeSession == | | == IChargeSession == |
Line 1,018: |
Line 1,052: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || GetStateChangeEvent |
| |- | | |- |
− | | 1 || | + | | 1 || SetStateChangeSet |
| |} | | |} |
| | | |
Line 1,030: |
Line 1,064: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || GetAbnormalTemperatureEvent |
| |- | | |- |
− | | 1 || | + | | 1 || SetAbnormalTemperatureEventMask |
| |} | | |} |
| | | |
Line 1,042: |
Line 1,076: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || GetStateChangeEvent |
| + | |} |
| + | |
| + | == IBridgeSession == |
| + | This is "nn::hshl::IBridgeSession". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || GetStateChangeEvent |
| + | |} |
| + | |
| + | == IVsysVoltageSession == |
| + | This is "nn::hshl::IVsysVoltageSession". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Cmd || Name |
| + | |- |
| + | | 0 || GetStateChangeEvent |
| |} | | |} |
| | | |
Line 1,054: |
Line 1,108: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || [[#OpenChargeSetterSession]] | + | | 0 || [[#OpenChargeSession_2|OpenChargeSession]] |
| + | |- |
| + | | 1 || [[#OpenThermalSession_2|OpenThermalSession]] |
| + | |- |
| + | | 2 || SetClockRate |
| + | |- |
| + | | 3 || [17.0.0+] SetBridgePowerSupply |
| |- | | |- |
− | | 1 || [[#OpenThermalSetterSession]] | + | | 4 || [18.0.0+] |
| |- | | |- |
− | | 2 || | + | | 5 || [18.0.0+] |
| |} | | |} |
| | | |
− | == OpenChargeSetterSession == | + | == OpenChargeSession == |
| Takes an input u32. Returns an [[#IChargeSetterSession]]. | | Takes an input u32. Returns an [[#IChargeSetterSession]]. |
| | | |
− | == OpenThermalSetterSession == | + | == OpenThermalSession == |
| Takes an input u32. Returns an [[#IThermalSetterSession]]. | | Takes an input u32. Returns an [[#IThermalSetterSession]]. |
| | | |
Line 1,074: |
Line 1,134: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || SetBatteryPercentage |
| + | |- |
| + | | 1 || SetRawBatteryPercentage |
| |- | | |- |
− | | 1 || | + | | 2 || SetChargerType |
| |- | | |- |
− | | 2 || | + | | 3 || SetBatteryVoltageLevel |
| |- | | |- |
− | | 3 || | + | | 4 || [18.0.0+] |
| + | |- |
| + | | 5 || [19.0.0+] |
| |} | | |} |
| | | |
Line 1,090: |
Line 1,154: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 0 || | + | | 0 || SetAbnormalTemperatureSet |
| |} | | |} |
| | | |
Line 1,110: |
Line 1,174: |
| | 0x04 || [[USB_services|Usb]] | | | 0x04 || [[USB_services|Usb]] |
| |- | | |- |
− | | 0x05 || [[Sockets_services|Eth]] | + | | 0x05 || [[Ethernet_services|Eth]] |
| |- | | |- |
| | 0x06 || [[PTM_services|Fgm]] | | | 0x06 || [[PTM_services|Fgm]] |
Line 1,136: |
Line 1,200: |
| | 0x11 || [[PTM_services|Tc]] | | | 0x11 || [[PTM_services|Tc]] |
| |- | | |- |
− | | 0x12 || [[Applet_Manager_services|Omm]] | + | | 0x12 || [[OMM_services|Omm]] |
| |- | | |- |
| | 0x13 || [[PCIe_services|Pcie]] | | | 0x13 || [[PCIe_services|Pcie]] |
Line 1,204: |
Line 1,268: |
| | 0x33 || [[NIM_services|Ntc]] | | | 0x33 || [[NIM_services|Ntc]] |
| |- | | |- |
− | | 0x34 || [[Applet_Manager_services|Idle]] | + | | 0x34 || [[OMM_services|Idle]] |
| |- | | |- |
| | 0x35 || [[Applet_Manager_services|Tcap]] | | | 0x35 || [[Applet_Manager_services|Tcap]] |
Line 1,216: |
Line 1,280: |
| | 0x39 || [[PCV_services|Rtc]] | | | 0x39 || [[PCV_services|Rtc]] |
| |- | | |- |
− | | 0x3A || | + | | 0x3A || [[PCV_services|Regulator]] |
| |- | | |- |
− | | 0x3B || | + | | 0x3B || [[PCV_services|Clkrst]] |
| |- | | |- |
| | 0x3C || [[Bus_services|Led]] | | | 0x3C || [[Bus_services|Led]] |
| |- | | |- |
− | | 0x3D || [[NS_Services|Ns]] | + | | 0x3D || [[NS_Services|NuiShell]] |
| + | |- |
| + | | 0x3E || [[PTM_services|Powctl]] |
| + | |- |
| + | | 0x3F || [[OMM_services|NotificationPresenter]] |
| |- | | |- |
− | | 0x3E || | + | | 0x40 || [[Glue_services|Notification]] |
| |- | | |- |
− | | 0x3F || [[Applet_Manager_services|NotificationPresenter]] | + | | 0x41 || [[Sockets_services|Dhcpc]] |
| |- | | |- |
− | | 0x40 || | + | | 0x42 || [[BCAT_services|Mnpp]] |
| |- | | |- |
− | | 0x41 || [[Sockets_services|DhcpClient]] | + | | 0x43 || [[OLSC_services|Sprofile]] |
| |- | | |- |
| | 0x65 || [[NV_services|NvHost]] | | | 0x65 || [[NV_services|NvHost]] |
| |- | | |- |
− | | 0x69 || [[NV_services|NvDbgSvc]] | + | | 0x69 || NvDbgSvc |
| |- | | |- |
| | 0x6A || Tspm | | | 0x6A || Tspm |
| |- | | |- |
− | | 0x7F || [[Applet_Manager_services|Spsm]] | + | | 0x7F || [[OMM_services|Spsm]] |
| |} | | |} |
| | | |
Line 1,307: |
Line 1,375: |
| | Reserved | | | Reserved |
| |} | | |} |
| + | |
| + | = SystemReport = |
| + | This is "nn::srepo::SystemReport". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x00 |
| + | | 0x20 |
| + | | [[#EventId|EventId]] |
| + | |- |
| + | | 0x20 |
| + | | 0x08 |
| + | | ApplicationId |
| + | |- |
| + | | 0x28 |
| + | | 0x04 |
| + | | Flags |
| + | |- |
| + | | 0x2C |
| + | | 0x01 |
| + | | |
| + | |- |
| + | | 0x2D |
| + | | 0x03 |
| + | | Reserved |
| + | |- |
| + | | 0x30 |
| + | | 0x08 |
| + | | ReportBufferAddress |
| + | |- |
| + | | 0x38 |
| + | | 0x08 |
| + | | ReportBufferTotalSize |
| + | |- |
| + | | 0x40 |
| + | | 0x08 |
| + | | ReportBufferCurrentSize |
| + | |} |
| + | |
| + | = EventId = |
| + | This is "nn::srepo::EventId". This is a 0x20-byte string. |
| + | |
| + | = WatchdogHandle = |
| + | This is "nn::srepo::WatchdogHandle". This is an u64. |
| + | |
| + | = WatchdogStatistics = |
| + | This is "nn::srepo::WatchdogStatistics". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x00 |
| + | | 0x08 |
| + | | |
| + | |- |
| + | | 0x08 |
| + | | 0x08 |
| + | | |
| + | |} |
| + | |
| + | = ResultHolder = |
| + | This is "nn::srepo::detail::ipc::ResultHolder". This is an u32. |
| + | |
| + | = SfAppletIdentityInfo = |
| + | This is "nn::srepo::detail::ipc::SfAppletIdentityInfo". This is a 0x10-byte struct. |
| | | |
| [[Category:Services]] | | [[Category:Services]] |