NS services: Difference between revisions

Roblabla (talk | contribs)
Add full interface name (imported from SwIPC)
No edit summary
Line 25: Line 25:


= ns:am =
= ns:am =
This is "nn::ns::detail::IApplicationManagerInterface".
[3.0.0+] This service was replaced by [[#ns:am2, ns:ec, ns:rid, ns:rt, ns:web|ns:am2]].
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 31: Line 35:
| 0 || [[#ListApplicationRecord]]
| 0 || [[#ListApplicationRecord]]
|-
|-
| 1 ||
| 1 || GenerateApplicationRecordCount
|-
|-
| 2 || GetApplicationRecordUpdateSystemEvent
| 2 || GetApplicationRecordUpdateSystemEvent
|-
|-
| 3 || SubmitArpData
| 3 || GetApplicationViewDeprecated
|-
|-
| 4 ||
| 4 || DeleteApplicationEntity
|-
|-
| 5 ||
| 5 || DeleteApplicationCompletely
|-
|-
| 6 ||
| 6 || IsAnyApplicationEntityRedundant
|-
|-
| 7 ||
| 7 || DeleteRedundantApplicationEntity
|-
|-
| 8 || IsApplicationEntityMovable
| 8 || IsApplicationEntityMovable
|-
|-
| 9 ||
| 9 || MoveApplicationEntity
|-
|-
| 11 ||
| 11 || CalculateApplicationOccupiedSize
|-
|-
| 13 ||
| 13 ||
|-
|-
| 16 ||
| 16 || PushApplicationRecord
|-
|-
| 17 ||
| 17 || ListApplicationRecordContentMeta
|-
|-
| 19 ||
| 19 || LaunchApplication
|-
|-
| 21 || [[#GetTitlePatchContentNcaPath]]
| 21 || [[#GetApplicationContentPath]]
|-
|-
| 22 ||
| 22 || TerminateApplication
|-
|-
| 23 ||
| 23 || ResolveApplicationContentPath
|-
|-
| 25 ||
| 25 ||
|-
|-
| 27 ||
| 27 || DeleteApplicationRecord
|-
|-
| 30 || GetIAsyncValue
| 30 || RequestApplicationUpdateInfo
|-
|-
| 31 || GetIAsyncResult
| 31 ||  
|-
|-
| 33 ||
| 33 || ResumeApplicationDownload
|-
|-
| 35 ||
| 35 || UpdateVersionList
|-
|-
| 36 ||
| 36 || PushLaunchVersion
|-
|-
| 37 ||
| 37 || ListRequiredVersion
|-
|-
| 38 ||
| 38 || CheckApplicationLaunchVersion
|-
|-
| 39 ||
| 39 || CheckApplicationLaunchRights
|-
|-
| 40 ||
| 40 || GetApplicationLogoData
|-
|-
| 41 ||
| 41 || CalculateApplicationDownloadRequiredSize
|-
|-
| 42 ||
| 42 || CleanupSdCard
|-
|-
| 43 ||
| 43 || CheckSdCardMountStatus
|-
|-
| 44 || GetSdCardMountStatusChangedEvent
| 44 || GetSdCardMountStatusChangedEvent
Line 99: Line 103:
| 46 || GetGameCardAttachmentInfo
| 46 || GetGameCardAttachmentInfo
|-
|-
| 47 || [[#GetFreeSpace]]
| 47 || [[#GetTotalSpaceSize]]
|-
|-
| 48 || [[#GetTotalSpace]]
| 48 || [[#GetFreeSpaceSize]]
|-
|-
| 49 || GetSdCardRemovedEvent
| 49 || GetSdCardRemovedEvent
Line 107: Line 111:
| 52 || GetGameCardUpdateDetectionEvent
| 52 || GetGameCardUpdateDetectionEvent
|-
|-
| 53 ||
| 53 || DisableApplicationAutoDelete
|-
|-
| 54 ||
| 54 || EnableApplicationAutoDelete
|-
|-
| 55 || GetApplicationDesiredLanguage
| 55 || GetApplicationDesiredLanguage
|-
|-
| 56 ||
| 56 || SetApplicationTerminateResult
|-
|-
| 57 ||
| 57 || ClearApplicationTerminateResult
|-
|-
| 58 ||
| 58 || GetLastSdCardMountUnexpectedResult
|-
|-
| 59 || ConvertApplicationLanguageToLanguageCode
| 59 || ConvertApplicationLanguageToLanguageCode
|-
|-
| 60 || [[#GetLanguageIdFromString]]
| 60 || [[#ConvertLanguageCodeToApplicationLanguage]]
|-
|-
| 61 ||
| 61 || GetBackgroundDownloadStressTaskInfo
|-
|-
| 62 || GetIGameCardStopper
| 62 || GetGameCardStopper
|-
|-
| 63 || IsSystemProgramInstalled
| 63 || IsSystemProgramInstalled
|-
|-
| 64 ||
| 64 || StartApplyDeltaTask
|-
|-
| 65 || GetIRequestServerStopper
| 65 || GetRequestServerStopper
|-
|-
| 100 || ResetToFactorySettings
| 100 || ResetToFactorySettings
Line 137: Line 141:
| 101 || ResetToFactorySettingsWithoutUserSaveData
| 101 || ResetToFactorySettingsWithoutUserSaveData
|-
|-
| 102 || DeleteUserContent2
| 102 || ResetToFactorySettingsForRefurbishment
|-
|-
| 200 ||
| 200 || CalculateUserSaveDataStatistics
|-
|-
| 201 ||
| 201 || DeleteUserSaveDataAll
|-
|-
| 210 ||
| 210 || DeleteUserSystemSaveData
|-
|-
| 220 ||
| 220 || UnregisterNetworkServiceAccount
|-
|-
| 300 || GetApplicationShellEvent
| 300 || GetApplicationShellEvent
Line 151: Line 155:
| 301 || PopApplicationShellEventInfo
| 301 || PopApplicationShellEventInfo
|-
|-
| 302 ||
| 302 || LaunchLibraryApplet
|-
|-
| 303 ||
| 303 || TerminateLibraryApplet
|-
|-
| 304 ||
| 304 || LaunchSystemApplet
|-
|-
| 305 ||
| 305 || TerminateSystemApplet
|-
|-
| 306 ||
| 306 || LaunchOverlayApplet
|-
|-
| 307 ||
| 307 || TerminateOverlayApplet
|-
|-
| 401 ||
| 401 || InvalidateAllApplicationControlCache
|-
|-
| 402 ||
| 402 || RequestDownloadApplicationControlData
|-
|-
| 403 ||
| 403 || GetMaxApplicationControlCacheCount
|-
|-
| 404 ||
| 404 || InvalidateApplicationControlCache
|-
|-
| 405 ||
| 405 || ListApplicationControlCacheEntryInfo
|-
|-
| 502 ||
| 502 || RequestCheckGameCardRegistration
|-
|-
| 503 ||
| 503 || RequestGameCardRegistrationGoldPoint
|-
|-
| 504 ||
| 504 || RequestRegisterGameCard
|-
|-
| 600 ||
| 600 || CountApplicationContentMeta
|-
|-
| 601 || [[#GetTitleInfo1]]
| 601 || [[#ListApplicationContentMetaStatus]]
|-
|-
| 602 ||
| 602 || ListAvailableAddOnContent
|-
|-
| 603 ||
| 603 || GetOwnedApplicationContentMetaStatus
|-
|-
| 604 ||
| 604 || RegisterContentsExternalKey
|-
|-
| 605 || Used same way as [[#GetTitleInfo1]].
| 605 || ListApplicationContentMetaStatusWithRightsCheck
|-
|-
| 700 ||
| 700 || PushDownloadTaskList
|-
|-
| 701 ||
| 701 || ClearTaskStatusList
|-
|-
| 702 ||
| 702 || RequestDownloadTaskList
|-
|-
| 703 ||
| 703 || RequestEnsureDownloadTask
|-
|-
| 704 ||
| 704 || ListDownloadTaskStatus
|-
|-
| 705 ||
| 705 || RequestDownloadTaskListData
|-
|-
| 800 ||
| 800 || RequestVersionList
|-
|-
| 801 ||
| 801 || ListVersionList
|-
|-
| 900 ||
| 900 || GetApplicationRecord
|-
|-
| 901 ||
| 901 || GetApplicationRecordProperty
|-
|-
| 902 ||
| 902 || EnableApplicationAutoUpdate
|-
|-
| 903 ||
| 903 || DisableApplicationAutoUpdate
|-
|-
| 904 ||
| 904 || TouchApplication
|-
|-
| 905 ||
| 905 || RequestApplicationUpdate
|-
|-
| 906 ||
| 906 || IsApplicationUpdateRequested
|-
|-
| 907 ||
| 907 || WithdrawApplicationUpdateRequest
|-
|-
| 908 ||
| 908 || ListApplicationRecordInstalledContentMeta
|-
|-
| 1000 ||
| 1000 || RequestVerifyApplicationDeprecated
|-
|-
| 1001 ||
| 1001 || CorruptApplicationForDebug
|-
|-
| 1200 ||
| 1200 || NeedsUpdateVulnerability
|-
|-
| 1300 ||
| 1300 || IsAnyApplicationEntityInstalled
|-
|-
| 1301 ||
| 1301 || DeleteApplicationContentEntities
|-
|-
| 1302 ||
| 1302 || CleanupUnrecordedApplicationEntity
|-
|-
| 1400 ||
| 1400 || PrepareShutdown
|-
|-
| 1500 ||
| 1500 || FormatSdCard
|-
|-
| 1501 ||
| 1501 || NeedsSystemUpdateToFormatSdCard
|-
|-
| 1502 ||
| 1502 || GetLastSdCardFormatUnexpectedResult
|-
|-
| 1503 ||
| 1503 ||
|-
|-
| 1600 ||
| 1600 || GetSystemSeedForPseudoDeviceId
|-
|-
| 1700 ||
| 1700 || ListApplicationDownloadingContentMeta
|-
|-
| 1800 ||
| 1800 || IsNotificationSetupCompleted
|-
|-
| 1801 ||
| 1801 || GetLastNotificationInfoCount
|-
|-
| 1802 ||
| 1802 || ListLastNotificationInfo
|}
|}


== GetTitlePatchContentNcaPath ==
== 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.
 
== GetApplicationContentPath ==
Takes a 0x16-type output buffer, an u8 [[NCA|type]], and an u64 titleID.
Takes a 0x16-type output buffer, an u8 [[NCA|type]], and an u64 titleID.


Line 269: Line 278:
The output string is then used by the user-process with [[Filesystem_services|FS]] to mount the content.
The output string is then used by the user-process with [[Filesystem_services|FS]] to mount the content.


== GetFreeSpace ==
== GetTotalSpaceSize ==
Takes an input media-id that must be 5.
Takes an input media-id that must be 5.


Returns the u64 from [[Content_Manager_services#IContentStorage]] cmd22.
Returns the u64 from [[Content_Manager_services#IContentStorage]] cmd22.


== GetTotalSpace ==
== GetFreeSpaceSize ==
Takes an input media-id that must be 5.
Takes an input media-id that must be 5.


Returns the u64 from [[Content_Manager_services#IContentStorage]] cmd23.
Returns the u64 from [[Content_Manager_services#IContentStorage]] cmd23.


== GetLanguageIdFromString ==
== 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').
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.
Returns 0 if an ID was successfully found, otherwise returns 0x25810.


== ListApplicationRecord ==
== ListApplicationContentMetaStatus ==
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.
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.


Line 323: Line 327:
| u64 titleID
| u64 titleID
|}
|}


= ns:am2, ns:ec, ns:rid, ns:rt, ns:web =
= ns:am2, ns:ec, ns:rid, ns:rt, ns:web =
These services are all, at the top level, "nn::ns::detail::IServiceGetterInterface".
These services are all, at the top level, "nn::ns::detail::IServiceGetterInterface".


Line 352: Line 354:


=== IAccountProxyInterface ===
=== IAccountProxyInterface ===
This is "nn::ns::detail::IAccountProxyInterface".
This is "nn::ns::detail::IAccountProxyInterface".


Line 364: Line 365:


=== IApplicationManagerInterface ===
=== IApplicationManagerInterface ===
This is "nn::ns::detail::IApplicationManagerInterface".
This is "nn::ns::detail::IApplicationManagerInterface".


Line 371: Line 371:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || ListApplicationRecord
| 0 || [[#ListApplicationRecord]]
|-
|-
| 1 || GenerateApplicationRecordCount
| 1 || GenerateApplicationRecordCount
Line 399: Line 399:
| 19 || LaunchApplication
| 19 || LaunchApplication
|-
|-
| 21 || GetApplicationContentPath
| 21 || [[#GetApplicationContentPath]]
|-
|-
| 22 || TerminateApplication
| 22 || TerminateApplication
Line 439: Line 439:
| 46 || GetGameCardAttachmentInfo
| 46 || GetGameCardAttachmentInfo
|-
|-
| 47 || GetTotalSpaceSize
| 47 || [[#GetTotalSpaceSize]]
|-
|-
| 48 || GetFreeSpaceSize
| 48 || [[#GetFreeSpaceSize]]
|-
|-
| 49 || GetSdCardRemovedEvent
| 49 || GetSdCardRemovedEvent
Line 461: Line 461:
| 59 || ConvertApplicationLanguageToLanguageCode
| 59 || ConvertApplicationLanguageToLanguageCode
|-
|-
| 60 || ConvertLanguageCodeToApplicationLanguage
| 60 || [[#ConvertLanguageCodeToApplicationLanguage]]
|-
|-
| 61 || GetBackgroundDownloadStressTaskInfo
| 61 || GetBackgroundDownloadStressTaskInfo
Line 563: Line 563:
| 600 || CountApplicationContentMeta
| 600 || CountApplicationContentMeta
|-
|-
| 601 || ListApplicationContentMetaStatus
| 601 || [[#ListApplicationContentMetaStatus]]
|-
|-
| 602 || ListAvailableAddOnContent
| 602 || ListAvailableAddOnContent
Line 718: Line 718:


=== IApplicationVersionInterface ===
=== IApplicationVersionInterface ===
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 744: Line 743:


=== IContentManagerInterface ===
=== IContentManagerInterface ===
This is "nn::ns::detail::IContentManagementInterface".
This is "nn::ns::detail::IContentManagementInterface".


Line 770: Line 768:


=== IDocumentInterface ===
=== IDocumentInterface ===
This is "nn::ns::detail::IDocumentInterface".
This is "nn::ns::detail::IDocumentInterface".


Line 784: Line 781:


=== IDownloadTaskInterface ===
=== IDownloadTaskInterface ===
This is "nn::ns::detail::IDownloadTaskInterface".
This is "nn::ns::detail::IDownloadTaskInterface".


Line 810: Line 806:
|-
|-
|}
|}


=== IECommerceInterface===
=== IECommerceInterface===
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 821: Line 815:
|-
|-
|}
|}


=== IFactoryResetInterface ===
=== IFactoryResetInterface ===
This is "nn::ns::detail::IFactoryResetInterface".
This is "nn::ns::detail::IFactoryResetInterface".


Line 840: Line 832:


= ns:vm =
= ns:vm =
This is "nn::ns::detail::IVulnerabilityManagerInterface".
This is "nn::ns::detail::IVulnerabilityManagerInterface".


Line 854: Line 845:
|-
|-
|}
|}


= ns:su =
= ns:su =
Line 892: Line 882:


== ISystemUpdateControl ==
== ISystemUpdateControl ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 942: Line 931:
|-
|-
|}
|}
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 =
= ns:dev =