OLSC services

From Nintendo Switch Brew
Revision as of 21:39, 19 November 2024 by Hexkyz (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

OLSC is a sysmodule designed for handling the online savedata cloud backup system introduced in firmware 6.0.0.

olsc:s

This is "nn::olsc::srv::IOlscServiceForSystemService".

[18.0.0+] This is "nn::olsc::srv::IServiceGetter".

Cmd Name
10000 #GetOlscServiceForSystemService

GetOlscServiceForSystemService

No input. Returns an #IOlscServiceForSystemService.

IOlscServiceForSystemService

This is "nn::olsc::srv::IOlscServiceForSystemService".

Cmd Name
0 #GetTransferTaskListController
1 #GetRemoteStorageController
2 #GetDaemonController
10 PrepareDeleteUserProperty
11 DeleteUserSaveDataProperty
12 InvalidateMountCache
13 [10.1.0+] DeleteDeviceSaveDataProperty
100 #ListTransferTaskErrorInfo
101 #GetTransferTaskErrorInfoCount
102 #RemoveTransferTaskErrorInfo0
103 #GetTransferTaskErrorInfo0
104 [7.0.0+] #GetTransferTaskErrorInfoUpdateNativeHandleHolder
105 [8.0.0+] #GetTransferTaskErrorInfo
200 #GetDataTransferPolicy
201 #DeleteDataTransferPolicyCache
202 [6.0.0-7.0.1]
203 [7.0.0+] #RequestUpdateDataTransferPolicyCacheAsync
204 [7.0.0+] #ClearDataTransferPolicyCache
205 [11.0.0+] #RequestGetDataTransferPolicyAsync
300 [8.0.0+] #GetUserSaveDataProperty
301 [8.0.0+] #SetUserSaveDataProperty
400 [10.1.0+] #CleanupSaveDataBackupContextForSpecificApplications
900 #DeleteAllTransferTask
902 #DeleteAllSeriesInfo
903 #DeleteAllSdaInfoCache
904 #DeleteAllApplicationSetting
905 #DeleteAllTransferTaskErrorInfo
906 #RegisterTransferTaskErrorInfo
907 #AddSaveDataArchiveInfoCache
908 #DeleteSeriesInfo
909 #GetSeriesInfo
910 [8.0.0+] #RemoveTransferTaskErrorInfo
911 [10.1.0+] #DeleteAllSeriesInfoForSaveDataBackup
912 [10.1.0+] #DeleteSeriesInfoForSaveDataBackup
913 [10.1.0+] #GetSeriesInfoForSaveDataBackup
1000 [7.0.0-8.1.0]
1010 [7.0.0-8.1.0]
1011 [7.0.0-8.1.0]
1012 [7.0.0-8.1.0]
1013 [7.0.0-8.1.0]
1014 [7.0.0-8.1.0]
1020 [7.0.0-8.1.0]
1021 [7.0.0-8.1.0]
1022 [7.0.0-8.1.0]
1023 [7.0.0-8.1.0]
1024 [7.0.0-8.1.0]
1100 [9.0.0+] #RepairUpdateIssueInfoCacheAync
1110 [9.0.0+] RepairGetIssueInfo
1111 [9.0.0+] #RepairListIssueInfo
1112 [9.0.0+] #RepairListOperationPermissionInfo
1113 [9.0.0+] #RepairListDataInfoForRepairedSaveDataDownload
1114 [9.0.0+] #RepairListDataInfoForOriginalSaveDataDownload
1120 [9.0.0+] #RepairUploadSaveDataAsync
1121 [9.0.0+] #RepairUploadSaveDataAsync1
1122 [9.0.0+] #RepairDownloadRepairedSaveDataAsync
1123 [9.0.0+] #RepairDownloadOriginalSaveDataAsync
1124 [9.0.0+] RepairGetOperationProgressInfo
10000 [17.0.0+] #GetOlscServiceForSystemService

GetTransferTaskListController

No input. Returns an #ITransferTaskListController.

GetRemoteStorageController

Takes a total of 0x10-bytes of input. Returns an #IRemoteStorageController.

GetDaemonController

No input. Returns an #IDaemonController.

ListTransferTaskErrorInfo

Takes an input u32 Offset and a type-0x6 output buffer containing an array of #TransferTaskErrorInfo. Returns an output u32 OutSize.

GetTransferTaskErrorInfoCount

No input. Returns an output u32 Count.

RemoveTransferTaskErrorInfo0

Takes an input Uid and an input u64 ApplicationId. No output.

GetTransferTaskErrorInfo0

Takes an input Uid and an input u64 ApplicationId. Returns an output #TransferTaskErrorInfoForIpc0.

GetTransferTaskErrorInfoUpdateNativeHandleHolder

No input. Returns an #INativeHandleHolder.

GetTransferTaskErrorInfo

Takes an input Uid and an input u64 ApplicationId. Returns an output #TransferTaskErrorInfo.

GetDataTransferPolicy

Takes an input u64 ApplicationId. Returns two output u8s.

DeleteDataTransferPolicyCache

Takes an input u64 ApplicationId. No output.

RequestUpdateDataTransferPolicyCacheAsync

Takes a type-0x5 input buffer. Returns an #IAsyncResult.

ClearDataTransferPolicyCache

No input/output.

RequestGetDataTransferPolicyAsync

Takes a total of 0x10-bytes of input. Returns an #IAsyncDataTransferPolicyRequest.

GetUserSaveDataProperty

Takes an input Uid and an input u64 ApplicationId. Returns an output #UserSaveDataProperty.

SetUserSaveDataProperty

Takes an input Uid, an input u64 ApplicationId and an input #UserSaveDataProperty. No output.

CleanupSaveDataBackupContextForSpecificApplications

Takes an input Uid. No output.

DeleteAllTransferTask

No input/output.

DeleteAllSeriesInfo

Takes an input Uid. No output.

DeleteAllSdaInfoCache

Takes an input Uid. No output.

DeleteAllApplicationSetting

Takes an input Uid. No output.

DeleteAllTransferTaskErrorInfo

No input/output.

RegisterTransferTaskErrorInfo

Takes an input #TransferTaskErrorInfo. No output.

AddSaveDataArchiveInfoCache

Takes an input Uid and an input #SaveDataArchiveInfo. No output.

[19.0.0+] Now takes an additional 8-bytes of input.

DeleteSeriesInfo

Takes an input Uid and an input u64 ApplicationId. No output.

GetSeriesInfo

Takes an input Uid and an input u64 ApplicationId. Returns an output #SeriesInfo.

RemoveTransferTaskErrorInfo

Same as #RemoveTransferTaskErrorInfo0.

DeleteAllSeriesInfoForSaveDataBackup

Takes an input Uid. No output.

DeleteSeriesInfoForSaveDataBackup

Takes an input Uid and an input u64 ApplicationId. No output.

GetSeriesInfoForSaveDataBackup

Takes an input Uid and an input u64 ApplicationId. Returns an output #SeriesInfo.

RepairUpdateIssueInfoCacheAync

No input. Returns an #IAsyncResult.

RepairListIssueInfo

Takes an input u32 Offset and a type-0x6 output buffer containing an array of #IssueInfo. Returns an output u32 OutSize.

RepairListOperationPermissionInfo

Takes an input u64 IssueId and a type-0x6 output buffer. Returns an output u32 OutSize.

RepairListDataInfoForRepairedSaveDataDownload

Takes an input u64 IssueId and a type-0x6 output buffer. Returns an output u32 OutSize.

RepairListDataInfoForOriginalSaveDataDownload

Takes an input u64 IssueId and a type-0x6 output buffer. Returns an output u32 OutSize.

RepairUploadSaveDataAsync

Takes an input u64 IssueId. Returns an #IAsyncResult.

RepairUploadSaveDataAsync1

Takes an input u64 IssueId and an input u128 UserId. Returns an #IAsyncResult.

RepairDownloadRepairedSaveDataAsync

Takes an input u64 IssueId. Returns an #IAsyncResult.

RepairDownloadOriginalSaveDataAsync

Takes an input u64 IssueId. Returns an #IAsyncResult.

ITransferTaskListController

This is "nn::olsc::srv::ITransferTaskListController".

Cmd Name
0 GetTransferTaskCountForOcean
1 GetTransferTaskInfoForOcean
2 ListTransferTaskInfoForOcean
3 DeleteTransferTaskForOcean
4 RaiseTransferTaskPriorityForOcean
5 #GetTransferTaskEndEventNativeHandleHolder
6 GetTransferTaskProgressForOcean
7 GetTransferTaskLastResultForOcean
8 #StopNextTransferTaskExecution
9 #GetTransferTaskStartEventNativeHandleHolder
10 SuspendTransferTaskForOcean
11 GetCurrentTransferTaskInfoForOcean
12 FindTransferTaskInfoForOcean
13 [9.0.0+] CancelCurrentRepairTransferTask
14 [9.0.0+] GetRepairTransferTaskProgress
15 [9.0.0+] EnsureExecutableForRepairTransferTask
16 [10.1.0+] GetTransferTaskCount
17 [10.1.0+] GetTransferTaskInfo
18 [10.1.0+] ListTransferTaskInfo
19 [10.1.0+] DeleteTransferTask
20 [10.1.0+] RaiseTransferTaskPriority
21 [10.1.0+] GetTransferTaskProgress
22 [10.1.0+] GetTransferTaskLastResult
23 [10.1.0+] SuspendTransferTask
24 [10.1.0+] GetCurrentTransferTaskInfo
25 [10.1.0+] FindTransferTaskInfo

GetTransferTaskEndEventNativeHandleHolder

No input. Returns an #INativeHandleHolder.

StopNextTransferTaskExecution

No input. Returns an #IStopperObject.

GetTransferTaskStartEventNativeHandleHolder

No input. Returns an #INativeHandleHolder.

INativeHandleHolder

This is "nn::olsc::srv::INativeHandleHolder".

Cmd Name
0 GetNativeHandle

IRemoteStorageController

This is "nn::olsc::srv::IRemoteStorageController".

Cmd Name
0 RegisterUploadSaveDataTransferTask
1 RegisterDownloadSaveDataTransferTask
2 [6.0.0-7.0.1]
3 GetCount
4 [6.0.0-7.0.1]
6 ClearDataInfoCache
7 #RequestUpdateDataInfoCacheAsync
8 #RequestUpdateDataInfoCacheOfSpecifiedApplicationAsync
9 DeleteDataInfoCache
10 GetDataNewness
11 #RequestDeleteDataAsync
12 RegisterUploadSaveDataTransferTaskDetail
13 #RequestRegisterNotificationTokenAsync
14 GetDataNewnessByApplicationId
15 RegisterUploadSaveDataTransferTaskForAutonomyRegistration
16 #RequestCleanupToDeleteSaveDataArchiveAsync
17 [7.0.0+] ListDataInfo
18 [7.0.0+] GetDataInfo
19 [7.0.0+] #GetDataInfoCacheUpdateNativeHandleHolder
20 [10.1.0+] #RequestUpdateSaveDataBackupInfoCacheAsync
21 [11.0.0+] ListLoadedDataInfo
22 [11.0.0+] GetLoadedDataInfo
23 [11.0.0+] ApplyLoadedData
24 [11.0.0+] DeleteLoadedData
25 [11.0.0+] RegisterDownloadSaveDataTransferTaskForAutonomyRegistration
900 [11.0.0+] SetLoadedDataMissing

RequestUpdateDataInfoCacheAsync

No input. Returns an #IAsyncResult.

RequestUpdateDataInfoCacheOfSpecifiedApplicationAsync

No input. Returns an #IAsyncResult.

RequestDeleteDataAsync

No input. Returns an #IAsyncResult.

RequestRegisterNotificationTokenAsync

No input. Returns an #IAsyncResult.

RequestCleanupToDeleteSaveDataArchiveAsync

No input. Returns an #IAsyncResult.

GetDataInfoCacheUpdateNativeHandleHolder

No input. Returns an #INativeHandleHolder.

RequestUpdateSaveDataBackupInfoCacheAsync

No input. Returns an #IAsyncResult.

IAsyncResult

This is "nn::olsc::srv::IAsyncResult".

Cmd Name
0 GetResult
1 Cancel
2 IsAvailable
3 GetSystemEvent

IDaemonController

This is "nn::olsc::srv::IDaemonController".

Cmd Name
0 GetApplicationAutoTransferSetting
1 SetApplicationAutoTransferSetting
2 GetGlobalAutoUploadSetting
3 SetGlobalAutoUploadSetting
4 RunTransferTaskAutonomyRegistration
5 [11.0.0+] GetGlobalAutoDownloadSetting
6 [11.0.0+] SetGlobalAutoDownloadSetting
10 #CreateForbiddenSaveDataInidication
11 #StopAutonomyTaskExecution
12 GetAutonomyTaskStatus

CreateForbiddenSaveDataInidication

Takes an input u64 ApplicationId. Returns an #IForbiddenSaveDataIndication.

StopAutonomyTaskExecution

No input. Returns an #IStopperObject.

IAsyncDataTransferPolicyRequest

This is "nn::olsc::srv::IAsyncDataTransferPolicyRequest".

This was added with [11.0.0+].

Cmd Name
0 GetResult
1 Cancel
2 IsAvailable
3 GetSystemEvent
100 GetDataTransferPolicy

IForbiddenSaveDataIndication

This is "nn::olsc::srv::IForbiddenSaveDataIndication".

Cmd Name
0 Update

olsc:u

This is "nn::olsc::srv::IOlscServiceForApplication".

This was added with [10.0.0+].

Cmd Name
0 Initialize
10 #VerifySaveDataBackupLicenseAsync
13 GetSaveDataBackupSetting
14 SetSaveDataBackupSettingEnabled
15 SetCustomData
16 DeleteSaveDataBackupSetting
18 GetSaveDataBackupInfoCache
19 #UpdateSaveDataBackupInfoCacheAsync
22 #DeleteSaveDataBackupAsync
25 #ListDownloadableSaveDataBackupInfoAsync
26 #DownloadSaveDataBackupAsync
27 [11.0.0+] UploadSaveDataBackupAsync
9010 [10.0.0-10.0.4] #VerifySaveDataBackupLicenseAsyncForDebug
9013 [10.0.0-10.0.4] GetSaveDataBackupSettingForDebug
9014 [10.0.0-10.0.4] SetSaveDataBackupSettingEnabledForDebug
9015 [10.0.0-10.0.4] SetCustomDataForDebug
9016 [10.0.0-10.0.4] DeleteSaveDataBackupSettingForDebug
9018 [10.0.0-10.0.4] GetSaveDataBackupInfoCacheForDebug
9019 [10.0.0-10.0.4] #UpdateSaveDataBackupInfoCacheAsyncForDebug
9022 [10.0.0-10.0.4] #DeleteSaveDataBackupAsyncForDebug
9025 [10.0.0-10.0.4] #ListDownloadableSaveDataBackupInfoAsyncForDebug
9026 [10.0.0-10.0.4] #DownloadSaveDataBackupAsyncForDebug

VerifySaveDataBackupLicenseAsync

Takes a total of 0x10-bytes of input. Returns an output #IAsyncResult.

UpdateSaveDataBackupInfoCacheAsync

Takes a total of 0x10-bytes of input. Returns an output #IAsyncResult.

DeleteSaveDataBackupAsync

Takes a total of 0x18-bytes of input. Returns an output #IAsyncResult.

ListDownloadableSaveDataBackupInfoAsync

Takes a total of 0x18-bytes of input, a TransferMemory handle. Returns an output #IAsyncListData.

DownloadSaveDataBackupAsync

Takes a total of 0x18-bytes of input. Returns an output #IAsyncTransferRequest.

VerifySaveDataBackupLicenseAsyncForDebug

Same as #VerifySaveDataBackupLicenseAsync.

UpdateSaveDataBackupInfoCacheAsyncForDebug

Same as #UpdateSaveDataBackupInfoCacheAsync.

DeleteSaveDataBackupAsyncForDebug

Same as #DeleteSaveDataBackupAsync.

ListDownloadableSaveDataBackupInfoAsyncForDebug

Same as #ListDownloadableSaveDataBackupInfoAsync.

DownloadSaveDataBackupAsyncForDebug

Same as #DownloadSaveDataBackupAsync.

IAsyncListData

This is "nn::olsc::srv::IAsyncListData".

Cmd Name
0 GetResult
1 Cancel
2 IsAvailable
3 GetSystemEvent
100 GetDataCount
101 GetData

IAsyncTransferRequest

This is "nn::olsc::srv::IAsyncTransferRequest".

Cmd Name
0 GetResult
1 Cancel
2 IsAvailable
3 GetSystemEvent
100 GetOperationProgressInfo

spbg:sp

This is "nn::sprofile::srv::ISProfileBgAgentForSystemProcess".

This was added with [13.1.0+].

Cmd Name
100 #OpenBgAgentController

OpenBgAgentController

No input. Returns an #IBgAgentContoller.

IBgAgentContoller

This is "nn::sprofile::srv::IBgAgentContoller".

Cmd Name
100 RequestDefaultProfileDownload

TransferTaskErrorInfoForIpc0

This is "nn::olsc::TransferTaskErrorInfoForIpc0". This is a 0x30-byte struct.

Offset Size Description
0x0 0x10 Uid
0x10 0x8 ApplicationId
0x18 0x2
0x1A 0x6 Reserved
0x20 0x8
0x28 0x4 ErrorCode
0x2C 0x4 Reserved

TransferTaskErrorInfo

This is "nn::olsc::TransferTaskErrorInfo". This is a 0x30-byte struct.

Offset Size Description
0x0 0x10 Uid
0x10 0x8 ApplicationId
0x18 0x1
0x19 0x7 Reserved
0x20 0x8
0x28 0x4 ErrorCode
0x2C 0x4 Reserved

SeriesInfo

This is "nn::olsc::srv::SeriesInfo". This is a 0x10-byte struct.

Offset Size Description
0x0 0x8
0x8 0x8

UserSaveDataProperty

This is "nn::olsc::UserSaveDataProperty". This is a 0x18-byte struct.

Offset Size Description
0x0 0x1 AutoTransferSetting
0x1 0x7 Reserved
0x8 0x8
0x10 0x8

IssueInfo

This is "nn::olsc::repair::IssueInfo". This is a 0x20-byte struct.

SaveDataArchiveInfo

This is "nn::olsc::srv::SaveDataArchiveInfo". This is a 0x60-byte struct.