OLSC services: Difference between revisions

No edit summary
No edit summary
 
(24 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 is a sysmodule designed for handling the online savedata cloud backup system introduced in firmware [[6.0.0]].


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


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
| 1000 ||
|-
| 10000 || [[#GetOlscServiceForSystemService]]
|}
 
== GetOlscServiceForSystemService ==
No input. Returns an [[#IOlscServiceForSystemService]].
 
== IOlscServiceForSystemService ==
This is "nn::olsc::srv::IOlscServiceForSystemService".
 
{| class="wikitable" border="1"
|-
! 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]]
|-
|-
| 0 || || Returns an [[#ITransferTaskListController]]
| 902 || [[#DeleteAllSeriesInfo]]
|-
|-
| 1 || || Returns an [[#IRemoteStorageController]]
| 903 || [[#DeleteAllSdaInfoCache]]
|-
|-
| 2 || || Returns an [[#IDaemonController]]
| 904 || [[#DeleteAllApplicationSetting]]
|-
|-
| 10 || ||
| 905 || [[#DeleteAllTransferTaskErrorInfo]]
|-
|-
| 11 || ||
| 906 || [[#RegisterTransferTaskErrorInfo]]
|-
|-
| 12 || ||
| 907 || [[#AddSaveDataArchiveInfoCache]]
|-
|-
| 100 || ||
| 908 || [[#DeleteSeriesInfo]]
|-
|-
| 101 || ||
| 909 || [[#GetSeriesInfo]]
|-
|-
| 102 || ||
| 910 || [8.0.0+] [[#RemoveTransferTaskErrorInfo]]
|-
|-
| 103 || ||
| 911 || [10.1.0+] [[#DeleteAllSeriesInfoForSaveDataBackup]]
|-
|-
| 104 || [7.0.0+] || Returns an [[#INativeHandleHolder]]
| 912 || [10.1.0+] [[#DeleteSeriesInfoForSaveDataBackup]]
|-
|-
| 200 || ||
| 913 || [10.1.0+] [[#GetSeriesInfoForSaveDataBackup]]
|-
|-
| 201 || ||
| 914 || [20.2.0+]
|-
|-
| 202 || || Returns an [[#IAsyncResult]]
| 1000 || [7.0.0-8.1.0]  
|-
|-
| 203 || [7.0.0+] || Returns an [[#IAsyncResult]]
| 1010 || [7.0.0-8.1.0]  
|-
|-
| 204 || [7.0.0+] ||
| 1011 || [7.0.0-8.1.0]  
|-
|-
| 900 || ||
| 1012 || [7.0.0-8.1.0]
|-
|-
| 902 || ||
| 1013 || [7.0.0-8.1.0]
|-
|-
| 903 || ||
| 1014 || [7.0.0-8.1.0]
|-
|-
| 904 || ||
| 1020 || [7.0.0-8.1.0]
|-
|-
| 905 || ||
| 1021 || [7.0.0-8.1.0]
|-
|-
| 906 || ||
| 1022 || [7.0.0-8.1.0]
|-
|-
| 907 || ||
| 1023 || [7.0.0-8.1.0]
|-
|-
| 908 || ||
| 1024 || [7.0.0-8.1.0]
|-
|-
| 909 || ||
| 1100 || [9.0.0+] [[#RepairUpdateIssueInfoCacheAync]]
|-
|-
| 1000 || [7.0.0+] || Returns an [[#IAsyncResult]]
| 1110 || [9.0.0+] RepairGetIssueInfo
|-
|-
| 1010 || [7.0.0+] ||
| 1111 || [9.0.0+] [[#RepairListIssueInfo]]
|-
|-
| 1011 || [7.0.0+] ||
| 1112 || [9.0.0+] [[#RepairListOperationPermissionInfo]]
|-
|-
| 1012 || [7.0.0+] ||
| 1113 || [9.0.0+] [[#RepairListDataInfoForRepairedSaveDataDownload]]
|-
|-
| 1013 || [7.0.0+] ||
| 1114 || [9.0.0+] [[#RepairListDataInfoForOriginalSaveDataDownload]]
|-
|-
| 1014 || [7.0.0+] ||
| 1120 || [9.0.0+] [[#RepairUploadSaveDataAsync]]
|-
|-
| 1020 || [7.0.0+] || Returns an [[#IAsyncResult]]
| 1121 || [9.0.0+] [[#RepairUploadSaveDataAsync1]]
|-
|-
| 1021 || [7.0.0+] || Returns an [[#IAsyncResult]]
| 1122 || [9.0.0+] [[#RepairDownloadRepairedSaveDataAsync]]
|-
|-
| 1022 || [7.0.0+] || Returns an [[#IAsyncResult]]
| 1123 || [9.0.0+] [[#RepairDownloadOriginalSaveDataAsync]]
|-
|-
| 1023 || [7.0.0+] || Returns an [[#IAsyncResult]]
| 1124 || [9.0.0+] RepairGetOperationProgressInfo
|-
|-
| 1024 || [7.0.0+] ||
| 10000 || [17.0.0+] [[#GetOlscServiceForSystemService]]
|}
|}


== ITransferTaskListController ==
=== 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 [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output.
 
=== GetTransferTaskErrorInfo0 ===
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#TransferTaskErrorInfoForIpc0]].
 
=== GetTransferTaskErrorInfoUpdateNativeHandleHolder ===
No input. Returns an [[#INativeHandleHolder]].
 
=== GetTransferTaskErrorInfo ===
Takes an input [[Account_services#Uid|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 [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#UserSaveDataProperty]].
 
=== SetUserSaveDataProperty ===
Takes an input [[Account_services#Uid|Uid]], an input u64 '''ApplicationId''' and an input [[#UserSaveDataProperty]]. No output.
 
=== CleanupSaveDataBackupContextForSpecificApplications ===
Takes an input [[Account_services#Uid|Uid]]. No output.
 
=== DeleteAllTransferTask ===
No input/output.
 
=== DeleteAllSeriesInfo ===
Takes an input [[Account_services#Uid|Uid]]. No output.
 
=== DeleteAllSdaInfoCache ===
Takes an input [[Account_services#Uid|Uid]]. No output.
 
=== DeleteAllApplicationSetting ===
Takes an input [[Account_services#Uid|Uid]]. No output.
 
=== DeleteAllTransferTaskErrorInfo ===
No input/output.
 
=== RegisterTransferTaskErrorInfo ===
Takes an input [[#TransferTaskErrorInfo]]. No output.
 
=== AddSaveDataArchiveInfoCache ===
Takes an input [[Account_services#Uid|Uid]] and an input [[#SaveDataArchiveInfo]]. No output.
 
[19.0.0+] Now takes an additional 8-bytes of input.
 
=== DeleteSeriesInfo ===
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output.
 
=== GetSeriesInfo ===
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. Returns an output [[#SeriesInfo]].
 
=== RemoveTransferTaskErrorInfo ===
Same as [[#RemoveTransferTaskErrorInfo0]].
 
=== DeleteAllSeriesInfoForSaveDataBackup ===
Takes an input [[Account_services#Uid|Uid]]. No output.
 
=== DeleteSeriesInfoForSaveDataBackup ===
Takes an input [[Account_services#Uid|Uid]] and an input u64 '''ApplicationId'''. No output.
 
=== GetSeriesInfoForSaveDataBackup ===
Takes an input [[Account_services#Uid|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".
This is "nn::olsc::srv::ITransferTaskListController".


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! 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
|-
|-
| 0 || ||
| 17 || [10.1.0+] GetTransferTaskInfo
|-
|-
| 1 || ||
| 18 || [10.1.0+] ListTransferTaskInfo
|-
|-
| 2 || ||
| 19 || [10.1.0+] DeleteTransferTask
|-
|-
| 3 || ||
| 20 || [10.1.0+] RaiseTransferTaskPriority
|-
|-
| 4 || ||
| 21 || [10.1.0+] GetTransferTaskProgress
|-
|-
| 5 || || Returns an [[#INativeHandleHolder]]
| 22 || [10.1.0+] GetTransferTaskLastResult
|-
|-
| 6 || ||
| 23 || [10.1.0+] SuspendTransferTask
|-
|-
| 7 || ||
| 24 || [10.1.0+] GetCurrentTransferTaskInfo
|-
|-
| 8 || || Returns an [[#IStopperObject]]
| 25 || [10.1.0+] FindTransferTaskInfo
|-
|-
| 9 || || Returns an [[#INativeHandleHolder]]
| 26 || [20.1.0+]
|-
|-
| 10 || ||
| 27 || [20.1.0+]
|-
|-
| 11 || ||
| 28 || [20.1.0+]
|-
|-
| 12 || ||
| 29 || [20.1.0+]
|-
|-
| 30 || [20.1.0+]
|}
|}


==== GetTransferTaskEndEventNativeHandleHolder ====
No input. Returns an [[#INativeHandleHolder]].
==== StopNextTransferTaskExecution ====
No input. Returns an [[#IStopperObject]].
==== GetTransferTaskStartEventNativeHandleHolder ====
No input. Returns an [[#INativeHandleHolder]].


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


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
| 0 || GetNativeHandle ||
|-
|-
| 0 || GetNativeHandle
|}
|}


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


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
| 0 || RegisterUploadSaveDataTransferTask
|-
| 1 || RegisterDownloadSaveDataTransferTask
|-
| 2 || [6.0.0-7.0.1]
|-
| 3 || GetCount
|-
|-
| 0 || ||
| 4 || [6.0.0-7.0.1]
|-
|-
| 1 || ||
| 6 || ClearDataInfoCache
|-
|-
| 2 || ||
| 7 || [[#RequestUpdateDataInfoCacheAsync]]
|-
|-
| 3 || ||
| 8 || [[#RequestUpdateDataInfoCacheOfSpecifiedApplicationAsync]]
|-
|-
| 4 || ||
| 9 || DeleteDataInfoCache
|-
|-
| 6 || ||
| 10 || GetDataNewness
|-
|-
| 7 || ||
| 11 || [[#RequestDeleteDataAsync]]
|-
|-
| 8 || || Returns an [[#IAsyncResult]]
| 12 || RegisterUploadSaveDataTransferTaskDetail
|-
|-
| 9 || || Returns an [[#IAsyncResult]]
| 13 || [[#RequestRegisterNotificationTokenAsync]]
|-
|-
| 10 || ||
| 14 || GetDataNewnessByApplicationId
|-
|-
| 11 || || Returns an [[#IAsyncResult]]
| 15 || RegisterUploadSaveDataTransferTaskForAutonomyRegistration
|-
|-
| 12 || ||
| 16 || [[#RequestCleanupToDeleteSaveDataArchiveAsync]]
|-
|-
| 13 || || Returns an [[#IAsyncResult]]
| 17 || [7.0.0+] ListDataInfo
|-
|-
| 14 || ||
| 18 || [7.0.0+] GetDataInfo
|-
|-
| 15 || ||
| 19 || [7.0.0+] [[#GetDataInfoCacheUpdateNativeHandleHolder]]
|-
|-
| 16 || || Returns an [[#IAsyncResult]]
| 20 || [10.1.0+] [[#RequestUpdateSaveDataBackupInfoCacheAsync]]
|-
|-
| 17 || [7.0.0+] ||
| 21 || [11.0.0+] ListLoadedDataInfo
|-
|-
| 18 || [7.0.0+] ||
| 22 || [11.0.0+] GetLoadedDataInfo
|-
|-
| 19 || [7.0.0+] || Returns an [[#INativeHandleHolder]].
| 23 || [11.0.0+] ApplyLoadedData
|-
|-
| 24 || [11.0.0+] DeleteLoadedData
|-
| 25 || [11.0.0+] RegisterDownloadSaveDataTransferTaskForAutonomyRegistration
|-
| 26 || [20.0.0+]
|-
| 27 || [20.0.0+]
|-
| 28 || [20.2.0+]
|-
| 800 || [20.0.0+]
|-
| 900 || [11.0.0+] SetLoadedDataMissing
|-
| 901 || [20.2.0+]
|}
|}


== IAsyncResult ==
==== 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".
This is "nn::olsc::srv::IAsyncResult".


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
|-
| 0 || GetResult ||
| 0 || GetResult
|-
|-
| 1 || Cancel ||
| 1 || Cancel
|-
|-
| 2 || IsAvailable ||
| 2 || IsAvailable
|-
|-
| 3 || GetSystemEvent ||  
| 3 || GetSystemEvent
|}
 
=== IDaemonController ===
This is "nn::olsc::srv::IDaemonController".
 
{| class="wikitable" border="1"
|-
|-
! 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
|-
| 13 || [20.0.0+]
|}
==== 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+].
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || GetResult
|-
| 1 || Cancel
|-
| 2 || IsAvailable
|-
| 3 || GetSystemEvent
|-
| 100 || GetDataTransferPolicy
|}
=== IForbiddenSaveDataIndication ===
This is "nn::olsc::srv::IForbiddenSaveDataIndication".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || Update
|}
= olsc:u  =
This is "nn::olsc::srv::IOlscServiceForApplication".
This was added with [10.0.0+].
{| class="wikitable" border="1"
|-
! 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]].


== IDaemonController ==
== DeleteSaveDataBackupAsync ==
This is "nn::olsc::srv::IDaemonController".
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".
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || GetResult
|-
| 1 || Cancel
|-
| 2 || IsAvailable
|-
| 3 || GetSystemEvent
|-
| 100 || GetDataCount
|-
| 101 || GetData
|}
 
== IAsyncTransferRequest ==
This is "nn::olsc::srv::IAsyncTransferRequest".
 
{| class="wikitable" border="1"
|-
! 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+].
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 100 || [[#OpenBgAgentController]]
|}
 
== OpenBgAgentController ==
No input. Returns an [[#IBgAgentContoller]].
 
== IBgAgentContoller ==
This is "nn::sprofile::srv::IBgAgentContoller".
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 100 || RequestDefaultProfileDownload
|}
 
= TransferTaskErrorInfoForIpc0 =
This is "nn::olsc::TransferTaskErrorInfoForIpc0". This is a 0x30-byte struct.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Offset
! Size
! Description
|-
|-
| 0 || ||
| 0x0 || 0x10 || [[Account_services#Uid|Uid]]
|-
|-
| 1 || ||
| 0x10 || 0x8 || ApplicationId
|-
|-
| 2 || ||
| 0x18 || 0x2 ||  
|-
|-
| 3 || ||
| 0x1A || 0x6 || Reserved
|-
|-
| 4 || ||
| 0x20 || 0x8 ||  
|-
|-
| 8 || ||
| 0x28 || 0x4 || ErrorCode
|-
|-
| 9 || ||  
| 0x2C || 0x4 || Reserved
|}
 
= TransferTaskErrorInfo =
This is "nn::olsc::TransferTaskErrorInfo". This is a 0x30-byte struct.
 
{| class="wikitable" border="1"
|-
|-
| 10 || || Returns an [[#IForbiddenSaveDataIndication]]
! Offset
! Size
! Description
|-
|-
| 11 || || Returns an [[#IStopperObject]]
| 0x0 || 0x10 || [[Account_services#Uid|Uid]]
|-
|-
| 12 || ||
| 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 ||
|}
|}


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


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Offset
! Size
! Description
|-
|-
| 0 || Update ||  
| 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]]