Difference between revisions of "OLSC services"
(16 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | OLSC | + | 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 | + | ! Cmd || Name |
|- | |- | ||
− | | | + | | 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]] |
|- | |- | ||
− | | | + | | 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 |
|- | |- | ||
− | | 1124 || [9.0.0+] || | + | | 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]] | ||
|} | |} | ||
− | == 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 || | + | ! 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 | ||
|} | |} | ||
− | == INativeHandleHolder == | + | ==== 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". | This is "nn::olsc::srv::INativeHandleHolder". | ||
Line 161: | Line 338: | ||
|} | |} | ||
− | == IRemoteStorageController == | + | === IRemoteStorageController === |
This is "nn::olsc::srv::IRemoteStorageController". | This is "nn::olsc::srv::IRemoteStorageController". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! Cmd || Name || | + | ! 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 | ||
|} | |} | ||
− | == 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". | ||
Line 223: | Line 435: | ||
|} | |} | ||
− | == IDaemonController == | + | === IDaemonController === |
This is "nn::olsc::srv::IDaemonController". | This is "nn::olsc::srv::IDaemonController". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! Cmd || Name | + | ! Cmd || Name |
|- | |- | ||
− | | 0 || | + | | 0 || GetApplicationAutoTransferSetting |
|- | |- | ||
− | | 1 || | + | | 1 || SetApplicationAutoTransferSetting |
|- | |- | ||
− | | 2 || | + | | 2 || GetGlobalAutoUploadSetting |
|- | |- | ||
− | | 3 || | + | | 3 || SetGlobalAutoUploadSetting |
|- | |- | ||
− | | 4 || | + | | 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+]. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Cmd || Name | ||
+ | |- | ||
+ | | 0 || GetResult | ||
+ | |- | ||
+ | | 1 || Cancel | ||
|- | |- | ||
− | | | + | | 2 || IsAvailable |
|- | |- | ||
− | | | + | | 3 || GetSystemEvent |
|- | |- | ||
− | | | + | | 100 || GetDataTransferPolicy |
|} | |} | ||
− | == IForbiddenSaveDataIndication == | + | === IForbiddenSaveDataIndication === |
This is "nn::olsc::srv::IForbiddenSaveDataIndication". | This is "nn::olsc::srv::IForbiddenSaveDataIndication". | ||
Line 292: | Line 530: | ||
| 26 || [[#DownloadSaveDataBackupAsync]] | | 26 || [[#DownloadSaveDataBackupAsync]] | ||
|- | |- | ||
− | | 9010 || [[#VerifySaveDataBackupLicenseAsyncForDebug]] | + | | 27 || [11.0.0+] UploadSaveDataBackupAsync |
+ | |- | ||
+ | | 9010 || [10.0.0-10.0.4] [[#VerifySaveDataBackupLicenseAsyncForDebug]] | ||
|- | |- | ||
− | | 9013 || GetSaveDataBackupSettingForDebug | + | | 9013 || [10.0.0-10.0.4] GetSaveDataBackupSettingForDebug |
|- | |- | ||
− | | 9014 || SetSaveDataBackupSettingEnabledForDebug | + | | 9014 || [10.0.0-10.0.4] SetSaveDataBackupSettingEnabledForDebug |
|- | |- | ||
− | | 9015 || SetCustomDataForDebug | + | | 9015 || [10.0.0-10.0.4] SetCustomDataForDebug |
|- | |- | ||
− | | 9016 || DeleteSaveDataBackupSettingForDebug | + | | 9016 || [10.0.0-10.0.4] DeleteSaveDataBackupSettingForDebug |
|- | |- | ||
− | | 9018 || GetSaveDataBackupInfoCacheForDebug | + | | 9018 || [10.0.0-10.0.4] GetSaveDataBackupInfoCacheForDebug |
|- | |- | ||
− | | 9019 || [[#UpdateSaveDataBackupInfoCacheAsyncForDebug]] | + | | 9019 || [10.0.0-10.0.4] [[#UpdateSaveDataBackupInfoCacheAsyncForDebug]] |
|- | |- | ||
− | | 9022 || [[#DeleteSaveDataBackupAsyncForDebug]] | + | | 9022 || [10.0.0-10.0.4] [[#DeleteSaveDataBackupAsyncForDebug]] |
|- | |- | ||
− | | 9025 || [[#ListDownloadableSaveDataBackupInfoAsyncForDebug]] | + | | 9025 || [10.0.0-10.0.4] [[#ListDownloadableSaveDataBackupInfoAsyncForDebug]] |
|- | |- | ||
− | | 9026 || [[#DownloadSaveDataBackupAsyncForDebug]] | + | | 9026 || [10.0.0-10.0.4] [[#DownloadSaveDataBackupAsyncForDebug]] |
|} | |} | ||
== VerifySaveDataBackupLicenseAsync == | == VerifySaveDataBackupLicenseAsync == | ||
− | Takes a total of 0x10-bytes of input | + | Takes a total of 0x10-bytes of input. Returns an output [[#IAsyncResult]]. |
== UpdateSaveDataBackupInfoCacheAsync == | == UpdateSaveDataBackupInfoCacheAsync == | ||
− | Takes a total of 0x10-bytes of input | + | Takes a total of 0x10-bytes of input. Returns an output [[#IAsyncResult]]. |
== DeleteSaveDataBackupAsync == | == DeleteSaveDataBackupAsync == | ||
− | Takes a total of 0x18-bytes of input | + | Takes a total of 0x18-bytes of input. Returns an output [[#IAsyncResult]]. |
== ListDownloadableSaveDataBackupInfoAsync == | == ListDownloadableSaveDataBackupInfoAsync == | ||
− | Takes a total of 0x18-bytes of input, a handle | + | Takes a total of 0x18-bytes of input, a TransferMemory handle. Returns an output [[#IAsyncListData]]. |
== DownloadSaveDataBackupAsync == | == DownloadSaveDataBackupAsync == | ||
− | Takes a total of 0x18-bytes of input | + | Takes a total of 0x18-bytes of input. Returns an output [[#IAsyncTransferRequest]]. |
== VerifySaveDataBackupLicenseAsyncForDebug == | == VerifySaveDataBackupLicenseAsyncForDebug == | ||
Line 348: | Line 588: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! Cmd || Name | + | ! Cmd || Name |
|- | |- | ||
| 0 || GetResult | | 0 || GetResult | ||
Line 380: | Line 620: | ||
| 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 || [[#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]] |
Latest revision as of 21:39, 19 November 2024
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".
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.