Difference between revisions of "NS services"

From Nintendo Switch Brew
Jump to navigation Jump to search
(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:
 
|}
 
|}
  
== 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: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.