Difference between revisions of "NS services"
(add read only interface cmds) |
|||
Line 1,157: | Line 1,157: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || HasDownloaded | + | | 0 || [[#HasDownloaded]] |
|- | |- | ||
| 1 || RequestCheckLatestUpdate | | 1 || RequestCheckLatestUpdate | ||
Line 1,163: | Line 1,163: | ||
| 2 || RequestDownloadLatestUpdate | | 2 || RequestDownloadLatestUpdate | ||
|- | |- | ||
− | | 3 || GetDownloadProgress | + | | 3 || [[#GetDownloadProgress]] |
|- | |- | ||
− | | 4 || ApplyDownloadedUpdate | + | | 4 || [[#ApplyDownloadedUpdate]] |
|- | |- | ||
| 5 || RequestPrepareCardUpdate | | 5 || RequestPrepareCardUpdate | ||
Line 1,203: | Line 1,203: | ||
| 22 || [6.0.0+] RequestCheckLatestUpdateIncludesRebootlessUpdate | | 22 || [6.0.0+] RequestCheckLatestUpdateIncludesRebootlessUpdate | ||
|} | |} | ||
+ | |||
+ | === HasDownloaded === | ||
+ | No input, returns an output u8 bool flag. | ||
+ | |||
+ | Gets whether a network sysupdate was downloaded, with install pending. | ||
+ | |||
+ | Uses [[NIM_services|nim]] ListSystemUpdateTask and [[NIM_services|nim]] GetSystemUpdateTaskInfo. When ListSystemUpdateTask successfully returns a task and GetSystemUpdateTaskInfo is successful, the output flag is set to: <code>*((u8*)(taskinfo+0) == 0x3</code>. Otherwise, flag=0. | ||
+ | |||
+ | This always returns 0, however this will assert if GetSystemUpdateTaskInfo fails with ret!=0x3C89. | ||
+ | |||
+ | === GetDownloadProgress === | ||
+ | No input, returns a 0x10-byte output struct. | ||
+ | |||
+ | Similar to [[#HasDownloaded]] except instead of a flag, this returns the 0x10-bytes from taskinfo+8. The output struct is cleared when the task(info) isn't available. | ||
+ | |||
+ | === ApplyDownloadedUpdate === | ||
+ | No input/output. | ||
+ | |||
+ | Runs code similar to [[#HasDownloaded]], throwing an error if a network sysupdate isn't ready for install. Then the sysupdate is installed. | ||
= IAsyncValue = | = IAsyncValue = |
Revision as of 16:16, 14 June 2019
aoc:u
This is "nn::aocsrv::detail::IAddOnContentManager".
Cmd | Name |
---|---|
0 | [1.0.0-6.2.0] CountAddOnContentByApplicationId |
1 | [1.0.0-6.2.0] ListAddOnContentByApplicationId |
2 | CountAddOnContent |
3 | ListAddOnContent |
4 | [1.0.0-6.2.0] GetAddOnContentBaseIdByApplicationId |
5 | GetAddOnContentBaseId |
6 | [1.0.0-6.2.0] PrepareAddOnContentByApplicationId |
7 | PrepareAddOnContent |
8 | [4.0.0+] GetAddOnContentListChangedEvent |
100 | [7.0.0+] CreateEcPurchasedEventManager |
IPurchaseEventManager
This is "nn::ec::IPurchaseEventManager".
Cmd | Name |
---|---|
0 | SetDefaultDeliveryTarget |
1 | SetDeliveryTarget |
2 | GetPurchasedEventReadableHandle |
3 | PopPurchasedProductInfo |
ns:am
This is "nn::ns::detail::IApplicationManagerInterface".
[3.0.0+] This service was replaced by ns:am2.
Cmd | Name |
---|---|
0 | #ListApplicationRecord |
1 | GenerateApplicationRecordCount |
2 | GetApplicationRecordUpdateSystemEvent |
3 | GetApplicationViewDeprecated |
4 | DeleteApplicationEntity |
5 | DeleteApplicationCompletely |
6 | IsAnyApplicationEntityRedundant |
7 | DeleteRedundantApplicationEntity |
8 | IsApplicationEntityMovable |
9 | MoveApplicationEntity |
11 | CalculateApplicationOccupiedSize |
16 | PushApplicationRecord |
17 | ListApplicationRecordContentMeta |
18 | |
19 | #LaunchApplication |
21 | #GetApplicationContentPath |
22 | TerminateApplication |
23 | [2.0.0+] ResolveApplicationContentPath |
26 | BeginInstallApplication |
27 | DeleteApplicationRecord |
30 | RequestApplicationUpdateInfo |
31 | RequestUpdateApplication |
32 | CancelApplicationDownload |
33 | ResumeApplicationDownload |
34 | |
35 | UpdateVersionList |
36 | PushLaunchVersion |
37 | ListRequiredVersion |
38 | CheckApplicationLaunchVersion |
39 | CheckApplicationLaunchRights |
40 | GetApplicationLogoData |
41 | CalculateApplicationDownloadRequiredSize |
42 | CleanupSdCard |
43 | CheckSdCardMountStatus |
44 | GetSdCardMountStatusChangedEvent |
45 | GetGameCardAttachmentEvent |
46 | GetGameCardAttachmentInfo |
47 | #GetTotalSpaceSize |
48 | #GetFreeSpaceSize |
49 | GetSdCardRemovedEvent |
52 | GetGameCardUpdateDetectionEvent |
53 | DisableApplicationAutoDelete |
54 | EnableApplicationAutoDelete |
55 | #GetApplicationDesiredLanguage |
56 | SetApplicationTerminateResult |
57 | ClearApplicationTerminateResult |
58 | GetLastSdCardMountUnexpectedResult |
59 | ConvertApplicationLanguageToLanguageCode |
60 | #ConvertLanguageCodeToApplicationLanguage |
61 | GetBackgroundDownloadStressTaskInfo |
62 | GetGameCardStopper |
63 | IsSystemProgramInstalled |
64 | [2.0.0+] StartApplyDeltaTask |
65 | [2.0.0+] GetRequestServerStopper |
100 | ResetToFactorySettings |
101 | ResetToFactorySettingsWithoutUserSaveData |
102 | [2.0.0+] ResetToFactorySettingsForRefurbishment |
200 | CalculateUserSaveDataStatistics |
201 | DeleteUserSaveDataAll |
210 | DeleteUserSystemSaveData |
220 | UnregisterNetworkServiceAccount |
300 | GetApplicationShellEvent |
301 | PopApplicationShellEventInfo |
302 | LaunchLibraryApplet |
303 | TerminateLibraryApplet |
304 | LaunchSystemApplet |
305 | TerminateSystemApplet |
306 | LaunchOverlayApplet |
307 | TerminateOverlayApplet |
400 | #GetApplicationControlData |
401 | InvalidateAllApplicationControlCache |
402 | RequestDownloadApplicationControlData |
403 | GetMaxApplicationControlCacheCount |
404 | [2.0.0+] InvalidateApplicationControlCache |
405 | [2.0.0+] ListApplicationControlCacheEntryInfo |
502 | [2.0.0+] RequestCheckGameCardRegistration |
503 | [2.0.0+] RequestGameCardRegistrationGoldPoint |
504 | [2.0.0+] RequestRegisterGameCard |
600 | [2.0.0+] CountApplicationContentMeta |
601 | [2.0.0+] #ListApplicationContentMetaStatus |
602 | [2.0.0+] ListAvailableAddOnContent |
603 | [2.0.0+] GetOwnedApplicationContentMetaStatus |
604 | [2.0.0+] RegisterContentsExternalKey |
605 | [2.0.0+] ListApplicationContentMetaStatusWithRightsCheck |
700 | [2.0.0+] PushDownloadTaskList |
701 | [2.0.0+] ClearTaskStatusList |
702 | [2.0.0+] RequestDownloadTaskList |
703 | [2.0.0+] RequestEnsureDownloadTask |
704 | [2.0.0+] ListDownloadTaskStatus |
705 | [2.0.0+] RequestDownloadTaskListData |
800 | [2.0.0+] RequestVersionList |
801 | [2.0.0+] ListVersionList |
900 | [2.0.0+] GetApplicationRecord |
901 | [2.0.0+] GetApplicationRecordProperty |
902 | [2.0.0+] EnableApplicationAutoUpdate |
903 | [2.0.0+] DisableApplicationAutoUpdate |
904 | [2.0.0+] TouchApplication |
905 | [2.0.0+] RequestApplicationUpdate |
906 | [2.0.0+] IsApplicationUpdateRequested |
907 | [2.0.0+] WithdrawApplicationUpdateRequest |
908 | [2.0.0+] ListApplicationRecordInstalledContentMeta |
1000 | [2.0.0+] RequestVerifyApplicationDeprecated |
1001 | [2.0.0+] CorruptApplicationForDebug |
1200 | [2.0.0+] NeedsUpdateVulnerability |
1300 | [2.0.0+] IsAnyApplicationEntityInstalled |
1301 | [2.0.0+] DeleteApplicationContentEntities |
1302 | [2.0.0+] CleanupUnrecordedApplicationEntity |
1400 | [2.0.0+] PrepareShutdown |
1500 | [2.0.0+] FormatSdCard |
1501 | [2.0.0+] NeedsSystemUpdateToFormatSdCard |
1502 | [2.0.0+] GetLastSdCardFormatUnexpectedResult |
1503 | [2.0.0+] |
1600 | [2.0.0+] GetSystemSeedForPseudoDeviceId |
1700 | [2.0.0+] ListApplicationDownloadingContentMeta |
1800 | [2.0.0+] IsNotificationSetupCompleted |
1801 | [2.0.0+] GetLastNotificationInfoCount |
1802 | [2.0.0+] ListLastNotificationInfo |
ListApplicationRecord
Takes a type-6 output buffer and an u32 entry_offset.
Returns an array of title-info entries using the specified offset and size. No input titleID is passed to this.
Application Record Format
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | Title ID |
0x8 | 0x1 | Type? (Known values: 2=Installing?, 3=Gamecard?, 4=Installed?) |
0x9 | 0x1 | Unknown, usually 0x02 |
0xA | 0x6 | Unknown, usually zeros? |
0x10 | 0x1 | Unknown, seems to change between reboots and removing/reinserting gamecards |
0x11 | 0x7 | Unknown, usually zeros? |
LaunchApplication
Takes an input u64 titleID, returns an output u64 PID.
Launches an application title which is registered with NS.
GetApplicationContentPath
Takes a 0x16-type output buffer, an u8 title type, and an u64 titleID.
The input titleID is used with the application-title table like various other cmds, anything not in that table can't be used with this.
Returns a string path for the specified type of patch content with this titleID, otherwise returns regular-application paths when update-title not installed. Returns an error when the specified type of content doesn't exist for this title. Starts with "@{SdCardContent,UserContent}://" and ends in ".nca".
For gamecard content, the output path is: "@GcSXXXXXXXX:/<NcaId>.nca". NCA-type0 with gamecard returns 0 with an empty output string.
The output string is then used by the user-process with FS to mount the content.
GetTotalSpaceSize
Takes an input media-id that must be 5.
Returns the u64 from Content_Manager_services#IContentStorage cmd22.
GetFreeSpaceSize
Takes an input media-id that must be 5.
Returns the u64 from Content_Manager_services#IContentStorage cmd23.
GetApplicationDesiredLanguage
Takes an input u8 language-bitmask, returns an output u8 control.nacp langentry index.
User-processes generate the language-bitmask with the following for all 16 lang-entries: if(<either string in langentry[i] is non-empty>)bitmask |= 1<<i
ConvertLanguageCodeToApplicationLanguage
Takes an input u8 pointer for the resulting Id to be written to and a string represented as a u64 (i.e 0x53552D6E65 for 'en-US').
Returns 0 if an ID was successfully found, otherwise returns 0x25810.
GetApplicationControlData
Takes an input u8 flag, an u64 titleID, and a type-0x6 output buffer. Returns an output u32 for actual_size. Official user-processes use buffer size 0x24000. qlaunch only uses flag value 0x1.
Loads cached control.nacp to buf+0 and the cached icon to buf+0x4000. Returns an error if the buffer is too small.
ListApplicationContentMetaStatus
Returns 0x10-byte entries using the specified titleID starting at the specified u32 entryindex. Can only return game titles. The second entry if any is the update-title usually. When the input entryindex is >= totalentries, this will return 0 with out_entrycount=0.
Entry structure:
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | u8 "type". Title type (String is from web-applet) |
0x1 | 0x1 | u8 "installedStorage" / StorageId (String is from web-applet) |
0x2 | 0x1 | Unknown. Non-zero with output from cmd 605, differs for app/update titles. |
0x3 | 0x1 | Padding |
0x4 | 0x4 | u32 Title-version |
0x8 | 0x8 | u64 titleID |
ns:am2, ns:ec, ns:rid, ns:rt, ns:web
These services are all, at the top level, "nn::ns::detail::IServiceGetterInterface". These commands check a state field for a command-specific bit and returns an error if not set, this is likely a permissions check for service+command.
Cmd | Name |
---|---|
7988 | [6.0.0+] Returns an output #IDynamicRightsInterface. |
7989 | [5.1.0+] Returns an output #IReadOnlyApplicationControlDataInterface. |
7991 | [5.0.0+] Returns an output #IReadOnlyApplicationRecordInterface. |
7992 | [4.0.0+] GetECommerceInterface |
7993 | [4.0.0+] GetApplicationVersionInterface |
7994 | GetFactoryResetInterface |
7995 | GetAccountProxyInterface |
7996 | GetApplicationManagerInterface |
7997 | GetDownloadTaskInterface |
7998 | GetContentManagementInterface |
7999 | GetDocumentInterface |
IAccountProxyInterface
This is "nn::ns::detail::IAccountProxyInterface".
Cmd | Name |
---|---|
0 | CreateUserAccount |
IApplicationManagerInterface
This is "nn::ns::detail::IApplicationManagerInterface".
Cmd | Name |
---|---|
0 | #ListApplicationRecord |
1 | GenerateApplicationRecordCount |
2 | GetApplicationRecordUpdateSystemEvent |
3 | GetApplicationViewDeprecated |
4 | DeleteApplicationEntity |
5 | DeleteApplicationCompletely |
6 | IsAnyApplicationEntityRedundant |
7 | DeleteRedundantApplicationEntity |
8 | IsApplicationEntityMovable |
9 | MoveApplicationEntity |
11 | CalculateApplicationOccupiedSize |
16 | PushApplicationRecord |
17 | ListApplicationRecordContentMeta |
19 | [1.0.0-5.1.0] LaunchApplicationOld |
21 | #GetApplicationContentPath |
22 | TerminateApplication |
23 | ResolveApplicationContentPath |
26 | BeginInstallApplication |
27 | DeleteApplicationRecord |
30 | RequestApplicationUpdateInfo |
[1.0.0-3.0.2] 31 | |
32 | CancelApplicationDownload |
33 | ResumeApplicationDownload |
35 | UpdateVersionList |
36 | PushLaunchVersion |
37 | ListRequiredVersion |
38 | CheckApplicationLaunchVersion |
[1.0.0-6.2.0] 39 | CheckApplicationLaunchRights |
40 | GetApplicationLogoData |
41 | CalculateApplicationDownloadRequiredSize |
42 | CleanupSdCard |
43 | CheckSdCardMountStatus |
44 | GetSdCardMountStatusChangedEvent |
45 | GetGameCardAttachmentEvent |
46 | GetGameCardAttachmentInfo |
47 | #GetTotalSpaceSize |
48 | #GetFreeSpaceSize |
49 | GetSdCardRemovedEvent |
52 | GetGameCardUpdateDetectionEvent |
53 | DisableApplicationAutoDelete |
54 | EnableApplicationAutoDelete |
55 | GetApplicationDesiredLanguage |
56 | SetApplicationTerminateResult |
57 | ClearApplicationTerminateResult |
58 | GetLastSdCardMountUnexpectedResult |
59 | ConvertApplicationLanguageToLanguageCode |
60 | #ConvertLanguageCodeToApplicationLanguage |
61 | GetBackgroundDownloadStressTaskInfo |
62 | GetGameCardStopper |
63 | IsSystemProgramInstalled |
64 | StartApplyDeltaTask |
65 | GetRequestServerStopper |
66 | [3.0.0+] GetBackgroundApplyDeltaStressTaskInfo |
67 | [3.0.0+] CancelApplicationApplyDelta |
68 | [3.0.0+] ResumeApplicationApplyDelta |
69 | [3.0.0+] CalculateApplicationApplyDeltaRequiredSize |
70 | [3.0.0+] ResumeAll |
71 | [3.0.0+] GetStorageSize |
80 | [3.0.0+] RequestDownloadApplication |
81 | [3.0.0+] RequestDownloadAddOnContent |
82 | [3.0.0+] DownloadApplication |
[4.0.0-6.2.0] 83 | CheckApplicationResumeRights |
84 | [4.0.0+] GetDynamicCommitEvent |
85 | [4.0.0+] RequestUpdateApplication2 |
86 | [4.0.0+] EnableApplicationCrashReport |
87 | [4.0.0+] IsApplicationCrashReportEnabled |
90 | [4.0.0+] BoostSystemMemoryResourceLimit |
91 | [5.0.0+] DeprecatedLaunchApplication |
92 | [5.0.0+] GetRunningApplicationProgramId |
93 | [5.0.0+] GetMainApplicationProgramIndex |
94 | [6.0.0+] LaunchApplication |
95 | [6.0.0+] GetApplicationLaunchInfo |
96 | [6.0.0+] AcquireApplicationLaunchInfo |
97 | [6.0.0+] GetMainApplicationProgramIndexByApplicationLaunchInfo |
98 | [6.0.0+] EnableApplicationAllThreadDumpOnCrash |
99 | [8.0.0+] |
100 | ResetToFactorySettings |
101 | ResetToFactorySettingsWithoutUserSaveData |
102 | ResetToFactorySettingsForRefurbishment |
200 | CalculateUserSaveDataStatistics |
201 | DeleteUserSaveDataAll |
210 | DeleteUserSystemSaveData |
211 | [6.0.0+] DeleteSaveData |
220 | UnregisterNetworkServiceAccount |
221 | [6.0.0+] UnregisterNetworkServiceAccountWithUserSaveDataDeletion |
300 | GetApplicationShellEvent |
301 | PopApplicationShellEventInfo |
302 | LaunchLibraryApplet |
303 | TerminateLibraryApplet |
304 | LaunchSystemApplet |
305 | TerminateSystemApplet |
306 | LaunchOverlayApplet |
307 | TerminateOverlayApplet |
400 | GetApplicationControlData |
401 | InvalidateAllApplicationControlCache |
402 | RequestDownloadApplicationControlData |
403 | GetMaxApplicationControlCacheCount |
404 | InvalidateApplicationControlCache |
405 | ListApplicationControlCacheEntryInfo |
406 | [6.0.0+] GetApplicationControlProperty |
407 | [8.0.0+] |
408 | [8.0.0+] |
502 | RequestCheckGameCardRegistration |
503 | RequestGameCardRegistrationGoldPoint |
504 | RequestRegisterGameCard |
505 | [3.0.0+] GetGameCardMountFailureEvent |
506 | [3.0.0+] IsGameCardInserted |
507 | [3.0.0+] EnsureGameCardAccess |
508 | [3.0.0+] GetLastGameCardMountFailureResult |
509 | [5.0.0+] ListApplicationIdOnGameCard |
600 | CountApplicationContentMeta |
601 | #ListApplicationContentMetaStatus |
602 | [2.0.0-5.1.0] ListAvailableAddOnContent |
603 | GetOwnedApplicationContentMetaStatus |
604 | RegisterContentsExternalKey |
605 | ListApplicationContentMetaStatusWithRightsCheck |
606 | [3.0.0+] GetContentMetaStorage |
607 | [6.0.0+] ListAvailableAddOnContent |
700 | PushDownloadTaskList |
701 | ClearTaskStatusList |
702 | RequestDownloadTaskList |
703 | RequestEnsureDownloadTask |
704 | ListDownloadTaskStatus |
705 | RequestDownloadTaskListData |
800 | RequestVersionList |
801 | ListVersionList |
802 | [3.0.0+] RequestVersionListData |
900 | GetApplicationRecord |
901 | GetApplicationRecordProperty |
902 | EnableApplicationAutoUpdate |
903 | DisableApplicationAutoUpdate |
904 | TouchApplication |
905 | RequestApplicationUpdate |
906 | IsApplicationUpdateRequested |
907 | WithdrawApplicationUpdateRequest |
908 | ListApplicationRecordInstalledContentMeta |
909 | [3.0.0+] WithdrawCleanupAddOnContentsWithNoRightsRecommendation |
910 | [5.0.0+] HasApplicationRecord |
911 | [5.1.0+] SetPreInstalledApplication |
912 | [5.1.0+] ClearPreInstalledApplicationFlag |
1000 | RequestVerifyApplicationDeprecated |
1001 | CorruptApplicationForDebug |
1002 | [3.0.0+] RequestVerifyAddOnContentsRights |
1003 | [5.0.0+] RequestVerifyApplication |
1004 | [5.0.0+] CorruptContentForDebug |
1200 | NeedsUpdateVulnerability |
1300 | IsAnyApplicationEntityInstalled |
1301 | DeleteApplicationContentEntities |
1302 | CleanupUnrecordedApplicationEntity |
1303 | [3.0.0+] CleanupAddOnContentsWithNoRights |
1304 | [3.0.0+] DeleteApplicationContentEntity |
1308 | [5.0.0+] DeleteApplicationCompletelyForDebug |
1309 | [6.0.0+] CleanupUnavailableAddOnContents |
1400 | PrepareShutdown |
1500 | FormatSdCard |
1501 | NeedsSystemUpdateToFormatSdCard |
1502 | GetLastSdCardFormatUnexpectedResult |
1504 | [3.0.0+] InsertSdCard |
1505 | [3.0.0+] RemoveSdCard |
1600 | GetSystemSeedForPseudoDeviceId |
1601 | [3.0.0+] ResetSystemSeedForPseudoDeviceId |
1700 | ListApplicationDownloadingContentMeta |
1701 | [3.0.0+] GetApplicationView |
1702 | [3.0.0+] GetApplicationDownloadTaskStatus |
1703 | [4.0.0+] GetApplicationViewDownloadErrorContext |
1704 | [8.0.0+] |
1800 | IsNotificationSetupCompleted |
1801 | GetLastNotificationInfoCount |
1802 | ListLastNotificationInfo |
1803 | [3.0.0+] ListNotificationTask |
1900 | [3.0.0+] IsActiveAccount |
1901 | [4.0.0+] RequestDownloadApplicationPrepurchasedRights |
1902 | [5.0.0+] GetApplicationTicketInfo |
2000 | [4.0.0+] GetSystemDeliveryInfo |
2001 | [4.0.0+] SelectLatestSystemDeliveryInfo |
2002 | [4.0.0+] VerifyDeliveryProtocolVersion |
2003 | [4.0.0+] GetApplicationDeliveryInfo |
2004 | [4.0.0+] HasAllContentsToDeliver |
2005 | [4.0.0+] CompareApplicationDeliveryInfo |
2006 | [4.0.0+] CanDeliverApplication |
2007 | [4.0.0+] ListContentMetaKeyToDeliverApplication |
2008 | [4.0.0+] NeedsSystemUpdateToDeliverApplication |
2009 | [4.0.0+] EstimateRequiredSize |
2010 | [4.0.0+] RequestReceiveApplication |
2011 | [4.0.0+] CommitReceiveApplication |
2012 | [4.0.0+] GetReceiveApplicationProgress |
2013 | [4.0.0+] RequestSendApplication |
2014 | [4.0.0+] GetSendApplicationProgress |
2015 | [4.0.0+] CompareSystemDeliveryInfo |
2016 | [4.0.0+] ListNotCommittedContentMeta |
2017 | [4.0.0+] RecoverDownloadTask |
2018 | [5.0.0+] GetApplicationDeliveryInfoHash |
2050 | [6.0.0+] GetApplicationRightsOnClient |
2100 | [6.0.0+] GetApplicationTerminateResult |
2101 | [6.0.0+] GetRawApplicationTerminateResult |
2150 | [6.0.0+] CreateRightsEnvironment |
2151 | [6.0.0+] DestroyRightsEnvironment |
2152 | [6.0.0+] ActivateRightsEnvironment |
2153 | [6.0.0+] DeactivateRightsEnvironment |
2154 | [6.0.0+] ForceActivateRightsContextForExit |
2155 | [7.0.0+] UpdateRightsEnvironmentStatus |
2160 | [6.0.0+] AddTargetApplicationToRightsEnvironment |
2161 | [6.0.0+] SetUsersToRightsEnvironment |
2170 | [6.0.0+] GetRightsEnvironmentStatus |
2171 | [6.0.0+] GetRightsEnvironmentStatusChangedEvent |
2180 | [6.0.0+] RequestExtendExpirationInRightsEnvironment |
2181 | [6.0.0+] GetResultOfExtendExpirationInRightsEnvironment |
2182 | [6.0.0+] SetActiveRightsContextUsingStateToRightsEnvironment |
2190 | [6.0.0+] GetRightsEnvironmentHandleForApplication |
2199 | [6.0.0+] GetRightsEnvironmentCountForDebug |
2200 | [6.0.0+] GetGameCardApplicationCopyIdentifier |
2201 | [6.0.0+] GetInstalledApplicationCopyIdentifier |
[6.0.0-6.2.0] 2250 | RequestReportActiveELicence |
2300 | [6.0.0+] ListEventLog |
2350 | [7.0.0+] |
2400 | [8.0.0+] |
2401 | [8.0.0+] |
2402 | [8.0.0+] |
2403 | [8.0.0+] |
2404 | [8.0.0+] |
2500 | [8.0.0+] |
[4.0.0+] RequestDownloadAddOnContent now takes an additional 8-bytes of input.
IApplicationVersionInterface
This is "nn::ns::detail::IApplicationVersionInterface".
This was added with [4.0.0+].
Cmd | Name |
---|---|
0 | GetLaunchRequiredVersion |
1 | UpgradeLaunchRequiredVersion |
35 | UpdateVersionList |
36 | PushLaunchVersion |
37 | ListRequiredVersion |
800 | RequestVersionList |
801 | ListVersionList |
802 | RequestVersionListData |
1000 | PerformAutoUpdate |
IContentManagerInterface
This is "nn::ns::detail::IContentManagementInterface".
Cmd | Name |
---|---|
11 | CalculateApplicationOccupiedSize |
43 | CheckSdCardMountStatus |
47 | GetTotalSpaceSize |
48 | GetFreeSpaceSize |
600 | CountApplicationContentMeta |
601 | ListApplicationContentMetaStatus |
605 | ListApplicationContentMetaStatusWithRightsCheck |
607 | IsAnyApplicationRunning |
IDocumentInterface
This is "nn::ns::detail::IDocumentInterface".
Cmd | Name |
---|---|
21 | GetApplicationContentPath |
23 | ResolveApplicationContentPath |
92 | [5.0.0+] GetRunningApplicationProgramId |
IDownloadTaskInterface
This is "nn::ns::detail::IDownloadTaskInterface".
Cmd | Name |
---|---|
701 | ClearTaskStatusList |
702 | RequestDownloadTaskList |
703 | RequestEnsureDownloadTask |
704 | ListDownloadTaskStatus |
705 | RequestDownloadTaskListData |
706 | [4.0.0+] TryCommitCurrentApplicationDownloadTask |
707 | [4.0.0+] EnableAutoCommit |
708 | [4.0.0+] DisableAutoCommit |
709 | [4.0.0+] TriggerDynamicCommitEvent |
IReadOnlyApplicationRecordInterface
This is "nn::ns::detail::IReadOnlyApplicationRecordInterface".
This was added with [5.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | HasApplicationRecord | Same as #IApplicationManagerInterface cmd 910 |
IReadOnlyApplicationControlDataInterface
This is "nn::ns::detail::IReadOnlyApplicationControlDataInterface".
This was added with [5.1.0+].
Cmd | Name | Notes |
---|---|---|
0 | #GetApplicationControlData | Same as #IApplicationManagerInterface cmd 400 |
1 | #GetApplicationDesiredLanguage | Same as #IApplicationManagerInterface cmd 55 |
2 | ConvertApplicationLanguageToLanguageCode | Same as #IApplicationManagerInterface cmd 59 |
3 | #ConvertLanguageCodeToApplicationLanguage | Same as #IApplicationManagerInterface cmd 60 |
IDynamicRightsInterface
This is "nn::ns::detail::IDynamicRightsInterface".
This was added with [6.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | ||
1 | ||
4 | ||
5 | ||
6 | ||
7 | ||
8 | ||
9 | [7.0.0+] | |
10 | [7.0.0+] | |
11 | [7.0.0+] | |
12 | [8.0.0+] | |
13 | [8.0.0+] |
IECommerceInterface
This is "nn::ns::detail::IECommerceInterface".
This was added with [4.0.0+].
Cmd | Name | Notes |
---|---|---|
0 | RequestLinkDevice | Takes a total of 0x10-bytes of input, returns an #IAsyncResult. |
1 | [6.0.0+] RequestCleanupAllPreInstalledApplications | No input, returns an #IAsyncResult. |
2 | [6.0.0+] RequestCleanupPreInstalledApplication | Takes a total of 0x8-bytes of input, returns an #IAsyncResult. |
3 | [6.0.0+] RequestSyncRights | No input, returns an #IAsyncResult. |
4 | [6.0.0+] RequestUnlinkDevice | Takes a total of 0x10-bytes of input, returns an #IAsyncResult. |
5 | [6.1.0+] RequestRevokeAllELicense | Takes a total of 0x10-bytes of input, returns an #IAsyncResult. |
IFactoryResetInterface
This is "nn::ns::detail::IFactoryResetInterface".
Cmd | Name |
---|---|
100 | ResetToFactorySettings |
101 | ResetToFactorySettingsWithoutUserSaveData |
102 | ResetToFactorySettingsForRefurbishment |
ns:vm
This is "nn::ns::detail::IVulnerabilityManagerInterface".
Cmd | Name |
---|---|
1200 | [3.0.0+] NeedsUpdateVulnerability |
1201 | [4.0.0+] UpdateSafeSystemVersionForDebug |
1202 | [4.0.0+] GetSafeSystemVersion |
ns:su
This is "nn::ns::detail::ISystemUpdateInterface".
Cmd | Name |
---|---|
0 | GetBackgroundNetworkUpdateState |
1 | OpenSystemUpdateControl |
2 | NotifyExFatDriverRequired |
3 | ClearExFatDriverStatusForDebug |
4 | RequestBackgroundNetworkUpdate |
5 | NotifyBackgroundNetworkUpdate |
6 | NotifyExFatDriverDownloadedForDebug |
9 | GetSystemUpdateNotificationEventForContentDelivery |
10 | NotifySystemUpdateForContentDelivery |
11 | [3.0.0+] PrepareShutdown |
[3.0.0-3.0.2] 12 | |
[3.0.0-3.0.2] 13 | |
[3.0.0-3.0.2] 14 | |
[3.0.0-3.0.2] 15 | |
16 | [4.0.0+] DestroySystemUpdateTask |
17 | [4.0.0+] RequestSendSystemUpdate |
18 | [4.0.0+] GetSendSystemUpdateProgress |
ISystemUpdateControl
Cmd | Name |
---|---|
0 | #HasDownloaded |
1 | RequestCheckLatestUpdate |
2 | RequestDownloadLatestUpdate |
3 | #GetDownloadProgress |
4 | #ApplyDownloadedUpdate |
5 | RequestPrepareCardUpdate |
6 | GetPrepareCardUpdateProgress |
7 | HasPreparedCardUpdate |
8 | ApplyCardUpdate |
9 | GetDownloadedEulaDataSize |
10 | GetDownloadedEulaData |
11 | SetupCardUpdate |
12 | GetPreparedCardUpdateEulaDataSize |
13 | GetPreparedCardUpdateEulaData |
14 | [4.0.0+] SetupCardUpdateViaSystemUpdater |
15 | [4.0.0+] HasReceived |
16 | [4.0.0+] RequestReceiveSystemUpdate |
17 | [4.0.0+] GetReceiveProgress |
18 | [4.0.0+] ApplyReceivedUpdate |
19 | [4.0.0+] GetReceivedEulaDataSize |
20 | [4.0.0+] GetReceivedEulaData |
21 | [4.0.0+] SetupToReceiveSystemUpdate |
22 | [6.0.0+] RequestCheckLatestUpdateIncludesRebootlessUpdate |
HasDownloaded
No input, returns an output u8 bool flag.
Gets whether a network sysupdate was downloaded, with install pending.
Uses nim ListSystemUpdateTask and nim GetSystemUpdateTaskInfo. When ListSystemUpdateTask successfully returns a task and GetSystemUpdateTaskInfo is successful, the output flag is set to: *((u8*)(taskinfo+0) == 0x3
. Otherwise, flag=0.
This always returns 0, however this will assert if GetSystemUpdateTaskInfo fails with ret!=0x3C89.
GetDownloadProgress
No input, returns a 0x10-byte output struct.
Similar to #HasDownloaded except instead of a flag, this returns the 0x10-bytes from taskinfo+8. The output struct is cleared when the task(info) isn't available.
ApplyDownloadedUpdate
No input/output.
Runs code similar to #HasDownloaded, throwing an error if a network sysupdate isn't ready for install. Then the sysupdate is installed.
IAsyncValue
This is "nn::ns::detail::IAsyncValue".
Cmd | Name |
---|---|
0 | |
1 | |
2 | |
3 | [4.0.0+] |
Cmd3: No input/output, takes a type-0x16 output buffer.
IAsyncResult
This is "nn::ns::detail::IAsyncResult".
Cmd | Name |
---|---|
0 | |
1 | |
2 | [4.0.0+] |
Cmd2: No input/output, takes a type-0x16 output buffer.
ns:dev
This is "nn::ns::detail::IDevelopInterface".
Cmd | Name |
---|---|
0 | #LaunchProgram |
1 | #TerminateProcess |
2 | #TerminateProgram |
4 | #GetShellEvent |
5 | #GetShellEventInfo |
6 | #TerminateApplication |
7 | #PrepareLaunchProgramFromHost |
8 | #LaunchApplicationForDevelop |
9 | #LaunchApplicationWithStorageIdForDevelop |
10 | [6.0.0+] TerminateApplication2 |
11 | [6.0.0+] GetRunningApplicationProcessIdForDevelop |
12 | [6.0.0+] SetCurrentApplicationRightsEnvironmentCanBeActiveForDevelop |
LaunchProgram
Wrapper for "pm:shell" LaunchProcess.
TerminateProcess
Wrapper for "pm:shell" TerminateTitleByPid.
TerminateProgram
Wrapper for "pm:shell" TerminateTitleByTitleId.
GetShellEvent
Wrapper for "pm:shell" GetProcessEventWaiter.
GetShellEventInfo
Wrapper for "pm:shell" GetProcessEventType.
TerminateApplication
Calls "pm:shell" GetCrashingProcessPid and sends PID to TerminateTitleByPid.
PrepareLaunchProgramFromHost
Takes a type-0x5 input buffer containing the ContentPath, returns an output 0x10-byte struct.
Calls IPathResolverForStorage Set...NcaPath functions.
LaunchApplicationForDevelop
Takes an input u32 LaunchFlags and u64 titleID, returns an output u64 PID.
Same as LaunchApplicationWithStorageId except the last two params passed to the internal vtable funcptr call are value 0x6, instead of from the command input.
LaunchApplicationWithStorageIdForDevelop
Takes 2 input u8s, an u32 LaunchFlags, and an u64 titleID. Returns an output u64 PID.
Launches an application title which is registered with NS.