Difference between revisions of "NS services"
(we NS now) |
|||
Line 257: | Line 257: | ||
| 1802 || | | 1802 || | ||
|} | |} | ||
+ | |||
+ | == GetTitlePatchContentNcaPath == | ||
+ | Takes a 0x16-type output buffer, an u8 [[NCA|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 [[Filesystem_services|FS]] to mount the content. | ||
+ | |||
+ | == GetFreeSpace == | ||
+ | Takes an input media-id that must be 5. | ||
+ | |||
+ | Returns the u64 from [[Content_Manager_services#IContentStorage]] cmd22. | ||
+ | |||
+ | == GetTotalSpace == | ||
+ | Takes an input media-id that must be 5. | ||
+ | |||
+ | Returns the u64 from [[Content_Manager_services#IContentStorage]] cmd23. | ||
+ | |||
+ | == GetLanguageIdFromString == | ||
+ | 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. | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | == GetTitleInfo1 == | ||
+ | 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: | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x1 | ||
+ | | u8 "type". [[Content_Manager_services|Title type]] (String is from web-applet) | ||
+ | |- | ||
+ | | 0x1 | ||
+ | | 0x1 | ||
+ | | u8 "installedStorage" / [[Filesystem_services|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 = | = ns:am2, ns:ec, ns:rid, ns:rt, ns:web = | ||
Line 728: | Line 795: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= ns:su = | = ns:su = |
Revision as of 23:26, 14 March 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 |
ns:am
Cmd | Name |
---|---|
0 | #ListApplicationRecord |
1 | |
2 | GetApplicationRecordUpdateSystemEvent |
3 | SubmitArpData |
4 | |
5 | |
6 | |
7 | |
8 | IsApplicationEntityMovable |
9 | |
11 | |
13 | |
16 | |
17 | |
19 | |
21 | #GetTitlePatchContentNcaPath |
22 | |
23 | |
25 | |
27 | |
30 | GetIAsyncValue |
31 | GetIAsyncResult |
33 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | GetSdCardMountStatusChangedEvent |
45 | GetGameCardAttachmentEvent |
46 | GetGameCardAttachmentInfo |
47 | #GetFreeSpace |
48 | #GetTotalSpace |
49 | GetSdCardRemovedEvent |
52 | GetGameCardUpdateDetectionEvent |
53 | |
54 | |
55 | GetApplicationDesiredLanguage |
56 | |
57 | |
58 | |
59 | ConvertApplicationLanguageToLanguageCode |
60 | #GetLanguageIdFromString |
61 | |
62 | GetIGameCardStopper |
63 | IsSystemProgramInstalled |
64 | |
65 | GetIRequestServerStopper |
100 | ResetToFactorySettings |
101 | ResetToFactorySettingsWithoutUserSaveData |
102 | DeleteUserContent2 |
200 | |
201 | |
210 | |
220 | |
300 | GetApplicationShellEvent |
301 | PopApplicationShellEventInfo |
302 | |
303 | |
304 | |
305 | |
306 | |
307 | |
401 | |
402 | |
403 | |
404 | |
405 | |
502 | |
503 | |
504 | |
600 | |
601 | #GetTitleInfo1 |
602 | |
603 | |
604 | |
605 | Used same way as #GetTitleInfo1. |
700 | |
701 | |
702 | |
703 | |
704 | |
705 | |
800 | |
801 | |
900 | |
901 | |
902 | |
903 | |
904 | |
905 | |
906 | |
907 | |
908 | |
1000 | |
1001 | |
1200 | |
1300 | |
1301 | |
1302 | |
1400 | |
1500 | |
1501 | |
1502 | |
1503 | |
1600 | |
1700 | |
1800 | |
1801 | |
1802 |
GetTitlePatchContentNcaPath
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.
GetFreeSpace
Takes an input media-id that must be 5.
Returns the u64 from Content_Manager_services#IContentStorage cmd22.
GetTotalSpace
Takes an input media-id that must be 5.
Returns the u64 from Content_Manager_services#IContentStorage cmd23.
GetLanguageIdFromString
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.
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.
GetTitleInfo1
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.
7992 | IECommerceInterface |
7993 | IApplicationVersionInterface |
7994 | IFactoryResetInterface |
7995 | IAccountProxyInterface |
7996 | IApplicationManagerInterface |
7997 | IDownloadTaskInterface |
7998 | IContentManagementInterface |
7999 | IDocumentInterface |
IApplicationManagerInterface
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
0 | GetLaunchRequiredVersion |
1 | UpgradeLaunchRequiredVersion |
35 | UpdateVersionList |
36 | PushLaunchVersion |
37 | ListRequiredVersion |
800 | RequestVersionList |
801 | ListVersionList |
802 | RequestVersionListData |
1000 | PerformAutoUpdate |
IAccountProxyInterface
0 | CreateUserAccount |
IContentManagerInterface
11 | CalculateApplicationOccupiedSize |
43 | CheckSdCardMountStatus |
47 | GetTotalSpaceSize |
48 | GetFreeSpaceSize |
600 | CountApplicationContentMeta |
601 | ListApplicationContentMetaStatus |
605 | ListApplicationContentMetaStatusWithRightsCheck |
607 | IsAnyApplicationRunning |
IDocumentInterface
21 | GetApplicationContentPath |
23 | ResolveApplicationContentPath |
IECommerceInterface
0 | RequestLinkDevice |
IFactoryResetInterface
100 | ResetToFactorySettings |
101 | ResetToFactorySettingsWithoutUserSaveData |
102 | ResetToFactorySettingsForRefurbishment |
ns:vm
1200 | NeedsUpdateVulnerability |
1201 | UpdateSafeSystemVersionForDebug |
1202 | 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 |
GetEulaDataFileSizeIfNecessary, ReadEulaDataFileIfNecessary: like GetEulaFileSize and ReadEulaDataFile, but only if NIM cmd2 indicates that there are at least one title to update, otherwise they return error code 0x1A410.
ns:dev
This is "nn::ns::detail::IDevelopInterface".
Cmd | Name |
---|---|
0 | #LaunchTitle |
1 | #TerminateTitleByPid |
2 | #TerminateTitleByTitleId |
3 | #GetNsDevWaitEvent |
4 | #GetNsDevEventType |
5 | #TerminateCrashingTitle |
6 | #InstallTitle |
7 | SetEventState6 |
8 | SetEventState |
LaunchTitle
Wrapper for "pm:shell" LaunchProcess.
TerminateTitleByPid
Wrapper for "pm:shell" TerminateTitleByPid.
TerminateTitleByTitleId
Wrapper for "pm:shell" TerminateTitleByTitleId.
GetNsDevWaitEvent
Wrapper for "pm:shell" GetProcessEventWaiter.
GetNsDevEventType
Wrapper for "pm:shell" GetProcessEventType.
TerminateCrashingTitle
Calls "pm:shell" GetCrashingProcessPid and sends PID to TerminateTitleByPid.
InstallTitle
Calls IPathResolverForStorage Set...NcaPath functions.