Difference between revisions of "OLSC services"

From Nintendo Switch Brew
Jump to navigation Jump to search
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
OLSC (OnLine Savedata Cloud?) is a sysmodule designed for handling the new online savedata cloud backup system.
+
OLSC (OnLine Savedata Cloud?) is a sysmodule designed for handling the online savedata cloud backup system introduced in firmware [[6.0.0]].
  
 
= olsc:s =
 
= olsc:s =
Line 6: Line 6:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Cmd || Name || Notes
+
! Cmd || Name
 +
|-
 +
| 0 || [[#OpenTransferTaskListController]]
 +
|-
 +
| 1 || [[#OpenRemoteStorageController]]
 +
|-
 +
| 2 || [[#OpenDaemonController]]
 +
|-
 +
| 10 ||
 +
|-
 +
| 11 ||
 +
|-
 +
| 12 ||
 +
|-
 +
| 13 || [10.1.0+]
 
|-
 
|-
| 0 || || Returns an [[#ITransferTaskListController]]
+
| 100 || [[#ListLastTransferTaskErrorInfo]]
 
|-
 
|-
| 1 || || Returns an [[#IRemoteStorageController]]
+
| 101 || [[#GetLastErrorInfoCount]]
 
|-
 
|-
| 2 || || Returns an [[#IDaemonController]]
+
| 102 || [[#RemoveLastErrorInfoOld]]
 
|-
 
|-
| 10 || ||
+
| 103 || [[#GetLastErrorInfo]]
 
|-
 
|-
| 11 || ||
+
| 104 || [7.0.0+] [[#GetLastErrorEventHolder]]
 
|-
 
|-
| 12 || ||
+
| 105 || [8.0.0+] [[#GetLastTransferTaskErrorInfo]]
 
|-
 
|-
| 100 || ||
+
| 200 || [[#GetDataTransferPolicyInfo]]
 
|-
 
|-
| 101 || ||
+
| 201 || [[#RemoveDataTransferPolicyInfo]]
 
|-
 
|-
| 102 || ||
+
| 202 || [6.0.0-7.0.1] [[#UpdateDataTransferPolicyOld]]
 
|-
 
|-
| 103 || ||
+
| 203 || [7.0.0+] [[#UpdateDataTransferPolicy]]
 
|-
 
|-
| 104 || [7.0.0+] || Returns an [[#INativeHandleHolder]]
+
| 204 || [7.0.0+] [[#CleanupDataTransferPolicyInfo]]
 
|-
 
|-
| 105 || [8.0.0+] ||
+
| 205 || [11.0.0+] [[#RequestDataTransferPolicy]]
 
|-
 
|-
| 200 || ||
+
| 300 || [8.0.0+] [[#GetAutoTransferSeriesInfo]]
 
|-
 
|-
| 201 || ||
+
| 301 || [8.0.0+] [[#UpdateAutoTransferSeriesInfo]]
 
|-
 
|-
| 202 || [6.0.0-7.0.1] || Returns an [[#IAsyncResult]]
+
| 400 || [10.1.0+] [[#CleanupSaveDataArchiveInfoType1]]
 
|-
 
|-
| 203 || [7.0.0+] || Returns an [[#IAsyncResult]]
+
| 900 || [[#CleanupTransferTask]]
 
|-
 
|-
| 204 || [7.0.0+] ||
+
| 902 || [[#CleanupSeriesInfoType0]]
 
|-
 
|-
| 300 || [8.0.0+] ||
+
| 903 || [[#CleanupSaveDataArchiveInfoType0]]
 
|-
 
|-
| 301 || [8.0.0+] ||
+
| 904 || [[#CleanupApplicationAutoTransferSetting]]
 
|-
 
|-
| 900 || ||
+
| 905 || [[#CleanupErrorHistory]]
 
|-
 
|-
| 902 || ||
+
| 906 || [[#SetLastError]]
 
|-
 
|-
| 903 || ||
+
| 907 || [[#AddSaveDataArchiveInfoType0]]
 
|-
 
|-
| 904 || ||
+
| 908 || [[#RemoveSeriesInfoType0]]
 
|-
 
|-
| 905 || ||
+
| 909 || [[#GetSeriesInfoType0]]
 
|-
 
|-
| 906 || ||
+
| 910 || [8.0.0+] [[#RemoveLastErrorInfo]]
 
|-
 
|-
| 907 || ||
+
| 911 || [10.1.0+] [[#CleanupSeriesInfoType1]]
 
|-
 
|-
| 908 || ||
+
| 912 || [10.1.0+] [[#RemoveSeriesInfoType1]]
 
|-
 
|-
| 909 || ||
+
| 913 || [10.1.0+] [[#GetSeriesInfoType1]]
 
|-
 
|-
| 910 || [8.0.0+] ||
+
| 1000 || [7.0.0-8.1.0] [[#UpdateIssueOld]]
 
|-
 
|-
| 1000 || [7.0.0-8.1.0] || Returns an [[#IAsyncResult]]
+
| 1010 || [7.0.0-8.1.0]  
 
|-
 
|-
| 1010 || [7.0.0-8.1.0] ||
+
| 1011 || [7.0.0-8.1.0] [[#ListIssueInfoOld]]
 
|-
 
|-
| 1011 || [7.0.0-8.1.0] ||
+
| 1012 || [7.0.0-8.1.0] [[#GetIssueOld]]
 
|-
 
|-
| 1012 || [7.0.0-8.1.0] ||
+
| 1013 || [7.0.0-8.1.0] [[#GetIssue2Old]]
 
|-
 
|-
| 1013 || [7.0.0-8.1.0] ||
+
| 1014 || [7.0.0-8.1.0] [[#GetIssue3Old]]
 
|-
 
|-
| 1014 || [7.0.0-8.1.0] ||
+
| 1020 || [7.0.0-8.1.0] [[#RepairIssueOld]]
 
|-
 
|-
| 1020 || [7.0.0-8.1.0] || Returns an [[#IAsyncResult]]
+
| 1021 || [7.0.0-8.1.0] [[#RepairIssueWithUserIdOld]]
 
|-
 
|-
| 1021 || [7.0.0-8.1.0] || Returns an [[#IAsyncResult]]
+
| 1022 || [7.0.0-8.1.0] [[#RepairIssue2Old]]
 
|-
 
|-
| 1022 || [7.0.0-8.1.0] || Returns an [[#IAsyncResult]]
+
| 1023 || [7.0.0-8.1.0] [[#RepairIssue3Old]]
 
|-
 
|-
| 1023 || [7.0.0-8.1.0] || Returns an [[#IAsyncResult]]
+
| 1024 || [7.0.0-8.1.0]
 
|-
 
|-
| 1024 || [7.0.0-8.1.0] ||
+
| 1100 || [9.0.0+] [[#UpdateIssue]]
 
|-
 
|-
| 1100 || [9.0.0+] || Returns an [[#IAsyncResult]]
+
| 1110 || [9.0.0+]  
 
|-
 
|-
| 1110 || [9.0.0+] ||
+
| 1111 || [9.0.0+] [[#ListIssueInfo]]
 
|-
 
|-
| 1111 || [9.0.0+] ||
+
| 1112 || [9.0.0+] [[#GetIssue]]
 
|-
 
|-
| 1112 || [9.0.0+] ||
+
| 1113 || [9.0.0+] [[#GetIssue2]]
 
|-
 
|-
| 1113 || [9.0.0+] ||
+
| 1114 || [9.0.0+] [[#GetIssue3]]
 
|-
 
|-
| 1114 || [9.0.0+] ||
+
| 1120 || [9.0.0+] [[#RepairIssue]]
 
|-
 
|-
| 1120 || [9.0.0+] || Returns an [[#IAsyncResult]]
+
| 1121 || [9.0.0+] [[#RepairIssueWithUserId]]
 
|-
 
|-
| 1121 || [9.0.0+] || Returns an [[#IAsyncResult]]
+
| 1122 || [9.0.0+] [[#RepairIssue2]]
 
|-
 
|-
| 1122 || [9.0.0+] || Returns an [[#IAsyncResult]]
+
| 1123 || [9.0.0+] [[#RepairIssue3]]
 
|-
 
|-
| 1123 || [9.0.0+] || Returns an [[#IAsyncResult]]
+
| 1124 || [9.0.0+]  
 
|-
 
|-
| 1124 || [9.0.0+] ||
+
| 10000 || [17.0.0+]  
 
|}
 
|}
 +
 +
== OpenTransferTaskListController ==
 +
Unofficial name.
 +
 +
No input. Returns an [[#ITransferTaskListController]].
 +
 +
== OpenRemoteStorageController ==
 +
Unofficial name.
 +
 +
Takes a total of 0x10-bytes of input. Returns an [[#IRemoteStorageController]].
 +
 +
== OpenDaemonController ==
 +
Unofficial name.
 +
 +
No input. Returns an [[#IDaemonController]].
 +
 +
== ListLastTransferTaskErrorInfo ==
 +
Unofficial name.
 +
 +
Takes an input u32 '''Offset''' and a type-0x6 output buffer containing an array of [[#TransferTaskErrorInfo]]. Returns an output u32 '''OutSize'''.
 +
 +
== GetLastErrorInfoCount ==
 +
Unofficial name.
 +
 +
No input. Returns an output u32 '''Count'''.
 +
 +
== RemoveLastErrorInfoOld ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output.
 +
 +
== GetLastErrorInfo ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#ErrorInfo]].
 +
 +
== GetLastErrorEventHolder ==
 +
Unofficial name.
 +
 +
No input. Returns an [[#INativeHandleHolder]].
 +
 +
== GetLastTransferTaskErrorInfo ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#TransferTaskErrorInfo]].
 +
 +
== GetDataTransferPolicyInfo ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''ApplicationId'''. Returns two output u8s.
 +
 +
== RemoveDataTransferPolicyInfo ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''ApplicationId'''. No output.
 +
 +
== UpdateDataTransferPolicyOld ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''ApplicationId'''. Returns an [[#IAsyncResult]].
 +
 +
== UpdateDataTransferPolicy ==
 +
Unofficial name.
 +
 +
Takes a type-0x5 input buffer. Returns an [[#IAsyncResult]].
 +
 +
== CleanupDataTransferPolicyInfo ==
 +
Unofficial name.
 +
 +
No input/output.
 +
 +
== RequestDataTransferPolicy ==
 +
Unofficial name.
 +
 +
Takes a total of 0x10-bytes of input. Returns an [[#IAsyncDataTransferPolicyRequest]].
 +
 +
== GetAutoTransferSeriesInfo ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#AutoTransferSeriesInfo]].
 +
 +
== UpdateAutoTransferSeriesInfo ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]], an input u64 '''ApplicationId''' and an input [[#AutoTransferSeriesInfo]]. No output.
 +
 +
== CleanupSaveDataArchiveInfoType1 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]]. No output.
 +
 +
== CleanupTransferTask ==
 +
Unofficial name.
 +
 +
No input/output.
 +
 +
== CleanupSeriesInfoType0 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]]. No output.
 +
 +
== CleanupSaveDataArchiveInfoType0 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]]. No output.
 +
 +
== CleanupApplicationAutoTransferSetting ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]]. No output.
 +
 +
== CleanupErrorHistory ==
 +
Unofficial name.
 +
 +
No input/output.
 +
 +
== SetLastError ==
 +
Unofficial name.
 +
 +
Takes an input [[#ErrorInfo]]. No output.
 +
 +
== AddSaveDataArchiveInfoType0 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input [[#SaveDataArchiveInfo]]. No output.
 +
 +
== RemoveSeriesInfoType0 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output.
 +
 +
== GetSeriesInfoType0 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#SeriesInfo]].
 +
 +
== RemoveLastErrorInfo ==
 +
Unofficial name.
 +
 +
Same as [[#RemoveLastErrorInfoOld]].
 +
 +
== CleanupSeriesInfoType1 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]]. No output.
 +
 +
== RemoveSeriesInfoType1 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output.
 +
 +
== GetSeriesInfoType1 ==
 +
Unofficial name.
 +
 +
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#SeriesInfo]].
 +
 +
== UpdateIssueOld ==
 +
Unofficial name.
 +
 +
No input. Returns an [[#IAsyncResult]].
 +
 +
== ListIssueInfoOld ==
 +
Unofficial name.
 +
 +
Takes an input u32 '''Offset''' and a type-0x6 output buffer containing an array of [[#IssueInfo]]. Returns an output u32 '''OutSize'''.
 +
 +
== GetIssueOld ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''IssueId''' and a type-0x6 output buffer. Returns an output u32 '''OutSize'''.
 +
 +
== GetIssue2Old ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''IssueId''' and a type-0x6 output buffer. Returns an output u32 '''OutSize'''.
 +
 +
== GetIssue3Old ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''IssueId''' and a type-0x6 output buffer. Returns an output u32 '''OutSize'''.
 +
 +
== RepairIssueOld ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''IssueId'''. Returns an [[#IAsyncResult]].
 +
 +
== RepairIssueWithUserIdOld ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''IssueId''' and an input u128 '''UserId'''. Returns an [[#IAsyncResult]].
 +
 +
== RepairIssue2Old ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''IssueId'''. Returns an [[#IAsyncResult]].
 +
 +
== RepairIssue3Old ==
 +
Unofficial name.
 +
 +
Takes an input u64 '''IssueId'''. Returns an [[#IAsyncResult]].
 +
 +
== UpdateIssue ==
 +
Unofficial name.
 +
 +
Same as [[#UpdateIssueOld]].
 +
 +
== ListIssueInfo ==
 +
Unofficial name.
 +
 +
Same as [[#ListIssueInfoOld]].
 +
 +
== GetIssue ==
 +
Unofficial name.
 +
 +
Same as [[#GetIssueOld]].
 +
 +
== GetIssue2 ==
 +
Unofficial name.
 +
 +
Same as [[#GetIssue2Old]].
 +
 +
== GetIssue3 ==
 +
Unofficial name.
 +
 +
Same as [[#GetIssue3Old]].
 +
 +
== RepairIssue ==
 +
Unofficial name.
 +
 +
Same as [[#RepairIssueOld]].
 +
 +
== RepairIssueWithUserId ==
 +
Unofficial name.
 +
 +
Same as [[#RepairIssueWithUserIdOld]].
 +
 +
== RepairIssue2 ==
 +
Unofficial name.
 +
 +
Same as [[#RepairIssue2Old]].
 +
 +
== RepairIssue3 ==
 +
Unofficial name.
 +
 +
Same as [[#RepairIssue3Old]].
  
 
== ITransferTaskListController ==
 
== ITransferTaskListController ==
Line 149: Line 408:
 
|-
 
|-
 
| 15 || [9.0.0+] ||
 
| 15 || [9.0.0+] ||
 +
|-
 +
| 16 || [10.1.0+] ||
 +
|-
 +
| 17 || [10.1.0+] ||
 +
|-
 +
| 18 || [10.1.0+] ||
 +
|-
 +
| 19 || [10.1.0+] ||
 +
|-
 +
| 20 || [10.1.0+] ||
 +
|-
 +
| 21 || [10.1.0+] ||
 +
|-
 +
| 22 || [10.1.0+] ||
 +
|-
 +
| 23 || [10.1.0+] ||
 +
|-
 +
| 24 || [10.1.0+] ||
 +
|-
 +
| 25 || [10.1.0+] ||
 
|}
 
|}
  
Line 205: Line 484:
 
|-
 
|-
 
| 19 || [7.0.0+] || Returns an [[#INativeHandleHolder]].
 
| 19 || [7.0.0+] || Returns an [[#INativeHandleHolder]].
 +
|-
 +
| 20 || [10.1.0+] || No input, returns an [[#IAsyncResult]].
 +
|-
 +
| 21 || [11.0.0+] ||
 +
|-
 +
| 22 || [11.0.0+] ||
 +
|-
 +
| 23 || [11.0.0+] ||
 +
|-
 +
| 24 || [11.0.0+] ||
 +
|-
 +
| 25 || [11.0.0+] ||
 +
|-
 +
| 900 || [11.0.0+] ||
 
|}
 
|}
  
Line 239: Line 532:
 
|-
 
|-
 
| 4 || ||
 
| 4 || ||
 +
|-
 +
| 5 || [11.0.0+] ||
 +
|-
 +
| 6 || [11.0.0+] ||
 
|-
 
|-
 
| 8 || ||
 
| 8 || ||
Line 249: Line 546:
 
|-
 
|-
 
| 12 || ||
 
| 12 || ||
 +
|}
 +
 +
== IAsyncDataTransferPolicyRequest ==
 +
This is "nn::olsc::srv::IAsyncDataTransferPolicyRequest".
 +
 +
This was added with [11.0.0+].
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 ||
 +
|-
 +
| 1 ||
 +
|-
 +
| 2 ||
 +
|-
 +
| 3 ||
 +
|-
 +
| 100 ||
 
|}
 
|}
  
Line 292: Line 609:
 
| 26 || [[#DownloadSaveDataBackupAsync]]
 
| 26 || [[#DownloadSaveDataBackupAsync]]
 
|-
 
|-
| 9010 || [[#VerifySaveDataBackupLicenseAsyncForDebug]]
+
| 27 || [11.0.0+] UploadSaveDataBackupAsync
 
|-
 
|-
| 9013 || GetSaveDataBackupSettingForDebug
+
| 9010 || [10.0.0-10.0.4] [[#VerifySaveDataBackupLicenseAsyncForDebug]]
 
|-
 
|-
| 9014 || SetSaveDataBackupSettingEnabledForDebug
+
| 9013 || [10.0.0-10.0.4] GetSaveDataBackupSettingForDebug
 
|-
 
|-
| 9015 || SetCustomDataForDebug
+
| 9014 || [10.0.0-10.0.4] SetSaveDataBackupSettingEnabledForDebug
 
|-
 
|-
| 9016 || DeleteSaveDataBackupSettingForDebug
+
| 9015 || [10.0.0-10.0.4] SetCustomDataForDebug
 
|-
 
|-
| 9018 || GetSaveDataBackupInfoCacheForDebug
+
| 9016 || [10.0.0-10.0.4] DeleteSaveDataBackupSettingForDebug
 
|-
 
|-
| 9019 || [[#UpdateSaveDataBackupInfoCacheAsyncForDebug]]
+
| 9018 || [10.0.0-10.0.4] GetSaveDataBackupInfoCacheForDebug
 
|-
 
|-
| 9022 || [[#DeleteSaveDataBackupAsyncForDebug]]
+
| 9019 || [10.0.0-10.0.4] [[#UpdateSaveDataBackupInfoCacheAsyncForDebug]]
 
|-
 
|-
| 9025 || [[#ListDownloadableSaveDataBackupInfoAsyncForDebug]]
+
| 9022 || [10.0.0-10.0.4] [[#DeleteSaveDataBackupAsyncForDebug]]
 
|-
 
|-
| 9026 || [[#DownloadSaveDataBackupAsyncForDebug]]
+
| 9025 || [10.0.0-10.0.4] [[#ListDownloadableSaveDataBackupInfoAsyncForDebug]]
 +
|-
 +
| 9026 || [10.0.0-10.0.4] [[#DownloadSaveDataBackupAsyncForDebug]]
 
|}
 
|}
  
Line 323: Line 642:
  
 
== ListDownloadableSaveDataBackupInfoAsync ==
 
== ListDownloadableSaveDataBackupInfoAsync ==
Takes a total of 0x18-bytes of input, a handle, returns an output [[#IAsyncListData]].
+
Takes a total of 0x18-bytes of input, a TransferMemory handle, returns an output [[#IAsyncListData]].
  
 
== DownloadSaveDataBackupAsync ==
 
== DownloadSaveDataBackupAsync ==
Line 348: Line 667:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Cmd || Name || Notes
+
! Cmd || Name
 
|-
 
|-
 
| 0 || GetResult
 
| 0 || GetResult
Line 380: Line 699:
 
| 100 || GetOperationProgressInfo
 
| 100 || GetOperationProgressInfo
 
|}
 
|}
 +
 +
= spbg:sp =
 +
This is "nn::sprofile::srv::ISProfileBgAgentForSystemProcess".
 +
 +
This was added with [13.1.0+].
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 100 || [[#OpenBgAgentContoller]]
 +
|}
 +
 +
== OpenBgAgentContoller ==
 +
Unofficial name.
 +
 +
No input. Returns an [[#IBgAgentContoller]].
 +
 +
== IBgAgentContoller ==
 +
This is "nn::sprofile::srv::IBgAgentContoller".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 100 ||
 +
|}
 +
 +
= ErrorInfo =
 +
This is a 0x30-byte struct.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x10 || [[Account_services#Uid|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.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x10 || [[Account_services#Uid|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.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x8 ||
 +
|-
 +
| 0x8 || 0x8 ||
 +
|}
 +
 +
= AutoTransferSeriesInfo =
 +
This is a 0x18-byte struct.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! 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.
  
 
[[Category:Services]]
 
[[Category:Services]]

Revision as of 21:41, 12 October 2023

OLSC (OnLine Savedata Cloud?) 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".

Cmd Name
0 #OpenTransferTaskListController
1 #OpenRemoteStorageController
2 #OpenDaemonController
10
11
12
13 [10.1.0+]
100 #ListLastTransferTaskErrorInfo
101 #GetLastErrorInfoCount
102 #RemoveLastErrorInfoOld
103 #GetLastErrorInfo
104 [7.0.0+] #GetLastErrorEventHolder
105 [8.0.0+] #GetLastTransferTaskErrorInfo
200 #GetDataTransferPolicyInfo
201 #RemoveDataTransferPolicyInfo
202 [6.0.0-7.0.1] #UpdateDataTransferPolicyOld
203 [7.0.0+] #UpdateDataTransferPolicy
204 [7.0.0+] #CleanupDataTransferPolicyInfo
205 [11.0.0+] #RequestDataTransferPolicy
300 [8.0.0+] #GetAutoTransferSeriesInfo
301 [8.0.0+] #UpdateAutoTransferSeriesInfo
400 [10.1.0+] #CleanupSaveDataArchiveInfoType1
900 #CleanupTransferTask
902 #CleanupSeriesInfoType0
903 #CleanupSaveDataArchiveInfoType0
904 #CleanupApplicationAutoTransferSetting
905 #CleanupErrorHistory
906 #SetLastError
907 #AddSaveDataArchiveInfoType0
908 #RemoveSeriesInfoType0
909 #GetSeriesInfoType0
910 [8.0.0+] #RemoveLastErrorInfo
911 [10.1.0+] #CleanupSeriesInfoType1
912 [10.1.0+] #RemoveSeriesInfoType1
913 [10.1.0+] #GetSeriesInfoType1
1000 [7.0.0-8.1.0] #UpdateIssueOld
1010 [7.0.0-8.1.0]
1011 [7.0.0-8.1.0] #ListIssueInfoOld
1012 [7.0.0-8.1.0] #GetIssueOld
1013 [7.0.0-8.1.0] #GetIssue2Old
1014 [7.0.0-8.1.0] #GetIssue3Old
1020 [7.0.0-8.1.0] #RepairIssueOld
1021 [7.0.0-8.1.0] #RepairIssueWithUserIdOld
1022 [7.0.0-8.1.0] #RepairIssue2Old
1023 [7.0.0-8.1.0] #RepairIssue3Old
1024 [7.0.0-8.1.0]
1100 [9.0.0+] #UpdateIssue
1110 [9.0.0+]
1111 [9.0.0+] #ListIssueInfo
1112 [9.0.0+] #GetIssue
1113 [9.0.0+] #GetIssue2
1114 [9.0.0+] #GetIssue3
1120 [9.0.0+] #RepairIssue
1121 [9.0.0+] #RepairIssueWithUserId
1122 [9.0.0+] #RepairIssue2
1123 [9.0.0+] #RepairIssue3
1124 [9.0.0+]
10000 [17.0.0+]

OpenTransferTaskListController

Unofficial name.

No input. Returns an #ITransferTaskListController.

OpenRemoteStorageController

Unofficial name.

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

OpenDaemonController

Unofficial name.

No input. Returns an #IDaemonController.

ListLastTransferTaskErrorInfo

Unofficial name.

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

GetLastErrorInfoCount

Unofficial name.

No input. Returns an output u32 Count.

RemoveLastErrorInfoOld

Unofficial name.

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

GetLastErrorInfo

Unofficial name.

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

GetLastErrorEventHolder

Unofficial name.

No input. Returns an #INativeHandleHolder.

GetLastTransferTaskErrorInfo

Unofficial name.

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

GetDataTransferPolicyInfo

Unofficial name.

Takes an input u64 ApplicationId. Returns two output u8s.

RemoveDataTransferPolicyInfo

Unofficial name.

Takes an input u64 ApplicationId. No output.

UpdateDataTransferPolicyOld

Unofficial name.

Takes an input u64 ApplicationId. Returns an #IAsyncResult.

UpdateDataTransferPolicy

Unofficial name.

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

CleanupDataTransferPolicyInfo

Unofficial name.

No input/output.

RequestDataTransferPolicy

Unofficial name.

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

GetAutoTransferSeriesInfo

Unofficial name.

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

UpdateAutoTransferSeriesInfo

Unofficial name.

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

CleanupSaveDataArchiveInfoType1

Unofficial name.

Takes an input Uid. No output.

CleanupTransferTask

Unofficial name.

No input/output.

CleanupSeriesInfoType0

Unofficial name.

Takes an input Uid. No output.

CleanupSaveDataArchiveInfoType0

Unofficial name.

Takes an input Uid. No output.

CleanupApplicationAutoTransferSetting

Unofficial name.

Takes an input Uid. No output.

CleanupErrorHistory

Unofficial name.

No input/output.

SetLastError

Unofficial name.

Takes an input #ErrorInfo. No output.

AddSaveDataArchiveInfoType0

Unofficial name.

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

RemoveSeriesInfoType0

Unofficial name.

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

GetSeriesInfoType0

Unofficial name.

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

RemoveLastErrorInfo

Unofficial name.

Same as #RemoveLastErrorInfoOld.

CleanupSeriesInfoType1

Unofficial name.

Takes an input Uid. No output.

RemoveSeriesInfoType1

Unofficial name.

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

GetSeriesInfoType1

Unofficial name.

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

UpdateIssueOld

Unofficial name.

No input. Returns an #IAsyncResult.

ListIssueInfoOld

Unofficial name.

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

GetIssueOld

Unofficial name.

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

GetIssue2Old

Unofficial name.

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

GetIssue3Old

Unofficial name.

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

RepairIssueOld

Unofficial name.

Takes an input u64 IssueId. Returns an #IAsyncResult.

RepairIssueWithUserIdOld

Unofficial name.

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

RepairIssue2Old

Unofficial name.

Takes an input u64 IssueId. Returns an #IAsyncResult.

RepairIssue3Old

Unofficial name.

Takes an input u64 IssueId. Returns an #IAsyncResult.

UpdateIssue

Unofficial name.

Same as #UpdateIssueOld.

ListIssueInfo

Unofficial name.

Same as #ListIssueInfoOld.

GetIssue

Unofficial name.

Same as #GetIssueOld.

GetIssue2

Unofficial name.

Same as #GetIssue2Old.

GetIssue3

Unofficial name.

Same as #GetIssue3Old.

RepairIssue

Unofficial name.

Same as #RepairIssueOld.

RepairIssueWithUserId

Unofficial name.

Same as #RepairIssueWithUserIdOld.

RepairIssue2

Unofficial name.

Same as #RepairIssue2Old.

RepairIssue3

Unofficial name.

Same as #RepairIssue3Old.

ITransferTaskListController

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

Cmd Name Notes
0
1
2
3
4
5 Returns an #INativeHandleHolder
6
7
8 Returns an #IStopperObject
9 Returns an #INativeHandleHolder
10
11
12
13 [9.0.0+]
14 [9.0.0+]
15 [9.0.0+]
16 [10.1.0+]
17 [10.1.0+]
18 [10.1.0+]
19 [10.1.0+]
20 [10.1.0+]
21 [10.1.0+]
22 [10.1.0+]
23 [10.1.0+]
24 [10.1.0+]
25 [10.1.0+]

INativeHandleHolder

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

Cmd Name
0 GetNativeHandle

IRemoteStorageController

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

Cmd Name Notes
0
1
2 [6.0.0-7.0.1]
3
4 [6.0.0-7.0.1]
6
7
8 Returns an #IAsyncResult
9 Returns an #IAsyncResult
10
11 Returns an #IAsyncResult
12
13 Returns an #IAsyncResult
14
15
16 Returns an #IAsyncResult
17 [7.0.0+]
18 [7.0.0+]
19 [7.0.0+] Returns an #INativeHandleHolder.
20 [10.1.0+] No input, returns an #IAsyncResult.
21 [11.0.0+]
22 [11.0.0+]
23 [11.0.0+]
24 [11.0.0+]
25 [11.0.0+]
900 [11.0.0+]

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 Notes
0
1
2
3
4
5 [11.0.0+]
6 [11.0.0+]
8
9
10 Returns an #IForbiddenSaveDataIndication
11 Returns an #IStopperObject
12

IAsyncDataTransferPolicyRequest

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

This was added with [11.0.0+].

Cmd Name
0
1
2
3
100

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 #OpenBgAgentContoller

OpenBgAgentContoller

Unofficial name.

No input. Returns an #IBgAgentContoller.

IBgAgentContoller

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

Cmd Name
100

ErrorInfo

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

AutoTransferSeriesInfo

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.