Difference between revisions of "NS services"
(→ns:dev) |
|||
Line 1,042: | Line 1,042: | ||
== LaunchApplicationWithStorageId == | == LaunchApplicationWithStorageId == | ||
Takes an input u32 and u64, returns an output u64. | Takes an input u32 and u64, returns an output u64. | ||
+ | |||
+ | Same as cmd9 except the last two params passed to the internal vtable funcptr call are value 0x6, instead of from the command input. | ||
[[Category:Services]] | [[Category:Services]] |
Revision as of 02:05, 13 August 2018
aoc:u
This is "nn::aocsrv::detail::IAddOnContentManager".
Cmd | Name |
---|---|
0 | CountAddOnContentByApplicationId |
1 | ListAddOnContentByApplicationId |
2 | CountAddOnContent |
3 | ListAddOnContent |
4 | GetAddOnContentBaseIdByApplicationId |
5 | GetAddOnContentBaseId |
6 | PrepareAddOnContentByApplicationId |
7 | PrepareAddOnContent |
8 | [4.0.0+] GetAddOnContentListChangedEvent |
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 u64.
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 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 |
---|---|
7992 | GetECommerceInterface |
7993 | 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 | #LaunchApplication |
21 | #GetApplicationContentPath |
22 | TerminateApplication |
23 | ResolveApplicationContentPath |
26 | BeginInstallApplication |
27 | DeleteApplicationRecord |
30 | RequestApplicationUpdateInfo |
32 | CancelApplicationDownload |
33 | ResumeApplicationDownload |
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 | StartApplyDeltaTask |
65 | GetRequestServerStopper |
66 | GetBackgroundApplyDeltaStressTaskInfo |
67 | CancelApplicationApplyDelta |
68 | ResumeApplicationApplyDelta |
69 | CalculateApplicationApplyDeltaRequiredSize |
70 | ResumeAll |
71 | GetStorageSize |
80 | RequestDownloadApplication |
81 | RequestDownloadAddOnContent |
82 | DownloadApplication |
83 | CheckApplicationResumeRights |
84 | GetDynamicCommitEvent |
85 | RequestUpdateApplication2 |
86 | EnableApplicationCrashReport |
87 | IsApplicationCrashReportEnabled |
90 | BoostSystemMemoryResourceLimit |
100 | ResetToFactorySettings |
101 | ResetToFactorySettingsWithoutUserSaveData |
102 | 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 | InvalidateApplicationControlCache |
405 | ListApplicationControlCacheEntryInfo |
502 | RequestCheckGameCardRegistration |
503 | RequestGameCardRegistrationGoldPoint |
504 | RequestRegisterGameCard |
505 | GetGameCardMountFailureEvent |
506 | IsGameCardInserted |
507 | EnsureGameCardAccess |
508 | GetLastGameCardMountFailureResult |
509 | ListApplicationIdOnGameCard |
600 | CountApplicationContentMeta |
601 | #ListApplicationContentMetaStatus |
602 | ListAvailableAddOnContent |
603 | GetOwnedApplicationContentMetaStatus |
604 | RegisterContentsExternalKey |
605 | ListApplicationContentMetaStatusWithRightsCheck |
606 | GetContentMetaStorage |
700 | PushDownloadTaskList |
701 | ClearTaskStatusList |
702 | RequestDownloadTaskList |
703 | RequestEnsureDownloadTask |
704 | ListDownloadTaskStatus |
705 | RequestDownloadTaskListData |
800 | RequestVersionList |
801 | ListVersionList |
802 | RequestVersionListData |
900 | GetApplicationRecord |
901 | GetApplicationRecordProperty |
902 | EnableApplicationAutoUpdate |
903 | DisableApplicationAutoUpdate |
904 | TouchApplication |
905 | RequestApplicationUpdate |
906 | IsApplicationUpdateRequested |
907 | WithdrawApplicationUpdateRequest |
908 | ListApplicationRecordInstalledContentMeta |
909 | WithdrawCleanupAddOnContentsWithNoRightsRecommendation |
1000 | RequestVerifyApplicationDeprecated |
1001 | CorruptApplicationForDebug |
1002 | RequestVerifyAddOnContentsRights |
1003 | RequestVerifyApplication |
1004 | CorruptContentForDebug |
1200 | NeedsUpdateVulnerability |
1300 | IsAnyApplicationEntityInstalled |
1301 | DeleteApplicationContentEntities |
1302 | CleanupUnrecordedApplicationEntity |
1303 | CleanupAddOnContentsWithNoRights |
1304 | DeleteApplicationContentEntity |
1305 | TryDeleteRunningApplicationEntity |
1306 | TryDeleteRunningApplicationCompletely |
1307 | TryDeleteRunningApplicationContentEntities |
1400 | PrepareShutdown |
1500 | FormatSdCard |
1501 | NeedsSystemUpdateToFormatSdCard |
1502 | GetLastSdCardFormatUnexpectedResult |
1504 | InsertSdCard |
1505 | RemoveSdCard |
1600 | GetSystemSeedForPseudoDeviceId |
1601 | ResetSystemSeedForPseudoDeviceId |
1700 | ListApplicationDownloadingContentMeta |
1701 | GetApplicationView |
1702 | GetApplicationDownloadTaskStatus |
1703 | GetApplicationViewDownloadErrorContext |
1800 | IsNotificationSetupCompleted |
1801 | GetLastNotificationInfoCount |
1802 | ListLastNotificationInfo |
1803 | ListNotificationTask |
1900 | IsActiveAccount |
1901 | RequestDownloadApplicationPrepurchasedRights |
1902 | GetApplicationTicketInfo |
2000 | GetSystemDeliveryInfo |
2001 | SelectLatestSystemDeliveryInfo |
2002 | VerifyDeliveryProtocolVersion |
2003 | GetApplicationDeliveryInfo |
2004 | HasAllContentsToDeliver |
2005 | CompareApplicationDeliveryInfo |
2006 | CanDeliverApplication |
2007 | ListContentMetaKeyToDeliverApplication |
2008 | NeedsSystemUpdateToDeliverApplication |
2009 | EstimateRequiredSize |
2010 | RequestReceiveApplication |
2011 | CommitReceiveApplication |
2012 | GetReceiveApplicationProgress |
2013 | RequestSendApplication |
2014 | GetSendApplicationProgress |
2015 | CompareSystemDeliveryInfo |
2016 | ListNotCommittedContentMeta |
2017 | CreateDownloadTask |
IApplicationVersionInterface
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 |
IDownloadTaskInterface
This is "nn::ns::detail::IDownloadTaskInterface".
Cmd | Name |
---|---|
701 | ClearTaskStatusList |
702 | RequestDownloadTaskList |
703 | RequestEnsureDownloadTask |
704 | ListDownloadTaskStatus |
705 | RequestDownloadTaskListData |
706 | TryCommitCurrentApplicationDownloadTask |
707 | EnableAutoCommit |
708 | DisableAutoCommit |
709 | TriggerDynamicCommitEvent |
IECommerceInterface
Cmd | Name |
---|---|
0 | RequestLinkDevice |
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 | PrepareShutdown |
16 | DestroySystemUpdateTask |
17 | RequestSendSystemUpdate |
18 | 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 | SetupCardUpdateViaSystemUpdater |
15 | HasReceived |
16 | RequestReceiveSystemUpdate |
17 | GetReceiveProgress |
18 | ApplyReceivedUpdate |
19 | GetReceivedEulaDataSize |
20 | GetReceivedEulaData |
21 | SetupToReceiveSystemUpdate |
ns:dev
This is "nn::ns::detail::IDevelopInterface".
Cmd | Name | Notes |
---|---|---|
0 | #LaunchProgram | |
1 | #TerminateProcess | |
2 | #TerminateProgram | |
3 | #GetShellEventHandle | |
4 | #GetShellEventInfo | |
5 | #TerminateApplication | |
6 | #PrepareLaunchProgramFromHost | |
7 | #LaunchApplication | |
8 | #LaunchApplicationWithStorageId | |
9 | ? | Takes 2 input u8s, an u32, and an u64. Returns an output u64. |
LaunchProgram
Wrapper for "pm:shell" LaunchProcess.
TerminateProcess
Wrapper for "pm:shell" TerminateTitleByPid.
TerminateProgram
Wrapper for "pm:shell" TerminateTitleByTitleId.
GetShellEventHandle
Wrapper for "pm:shell" GetProcessEventWaiter.
GetShellEventInfo
Wrapper for "pm:shell" GetProcessEventType.
TerminateApplication
Calls "pm:shell" GetCrashingProcessPid and sends PID to TerminateTitleByPid.
PrepareLaunchProgramFromHost
Calls IPathResolverForStorage Set...NcaPath functions.
LaunchApplication
Takes a type-0x5 input buffer containing the ContentPath, returns an output 0x10-byte struct.
LaunchApplicationWithStorageId
Takes an input u32 and u64, returns an output u64.
Same as cmd9 except the last two params passed to the internal vtable funcptr call are value 0x6, instead of from the command input.