OLSC services: Difference between revisions

Created page with "OLSC (OnLine Savedata Cloud?) is a sysmodule designed for handling the new online savedata cloud backup system. = olsc:s = This is "nn::olsc::srv::IOlscServiceForSystemServic..."
 
No edit summary
 
(26 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"
|-
! 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]]
|-
| 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]]
|-
| 914 || [20.2.0+]
|-
| 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 [[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".


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 8: Line 270:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 ||
| 0 || GetTransferTaskCountForOcean
|-
| 1 || GetTransferTaskInfoForOcean
|-
| 2 || ListTransferTaskInfoForOcean
|-
| 3 || DeleteTransferTaskForOcean
|-
| 4 || RaiseTransferTaskPriorityForOcean
|-
| 5 || [[#GetTransferTaskEndEventNativeHandleHolder]]
|-
| 6 || GetTransferTaskProgressForOcean
|-
| 7 || GetTransferTaskLastResultForOcean
|-
| 8 || [[#StopNextTransferTaskExecution]]
|-
|-
| 1 ||
| 9 || [[#GetTransferTaskStartEventNativeHandleHolder]]
|-
|-
| 2 ||
| 10 || SuspendTransferTaskForOcean
|-
|-
| 10 ||
| 11 || GetCurrentTransferTaskInfoForOcean
|-
|-
| 11 ||
| 12 || FindTransferTaskInfoForOcean
|-
|-
| 12 ||
| 13 || [9.0.0+] CancelCurrentRepairTransferTask
|-
|-
| 100 ||
| 14 || [9.0.0+] GetRepairTransferTaskProgress
|-
|-
| 101 ||
| 15 || [9.0.0+] EnsureExecutableForRepairTransferTask
|-
|-
| 102 ||
| 16 || [10.1.0+] GetTransferTaskCount
|-
|-
| 103 ||
| 17 || [10.1.0+] GetTransferTaskInfo
|-
|-
| 200 ||
| 18 || [10.1.0+] ListTransferTaskInfo
|-
|-
| 201 ||
| 19 || [10.1.0+] DeleteTransferTask
|-
|-
| 202 ||
| 20 || [10.1.0+] RaiseTransferTaskPriority
|-
|-
| 900 ||
| 21 || [10.1.0+] GetTransferTaskProgress
|-
|-
| 902 ||
| 22 || [10.1.0+] GetTransferTaskLastResult
|-
|-
| 903 ||
| 23 || [10.1.0+] SuspendTransferTask
|-
|-
| 904 ||
| 24 || [10.1.0+] GetCurrentTransferTaskInfo
|-
|-
| 905 ||
| 25 || [10.1.0+] FindTransferTaskInfo
|-
|-
| 906 ||
| 26 || [20.1.0+]
|-
|-
| 907 ||
| 27 || [20.1.0+]
|-
|-
| 908 ||
| 28 || [20.1.0+]
|-
|-
| 909 ||
| 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 ===
This is "nn::olsc::srv::INativeHandleHolder".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || GetNativeHandle
|}
=== IRemoteStorageController ===
This is "nn::olsc::srv::IRemoteStorageController".
{| class="wikitable" border="1"
|-
! 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
|-
| 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+]
|}
==== 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".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || GetResult
|-
| 1 || Cancel
|-
| 2 || IsAvailable
|-
| 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]].
== 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".
{| 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"
|-
! 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 ||
|}
= UserSaveDataProperty =
This is "nn::olsc::UserSaveDataProperty". 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]]