Migration services: Difference between revisions
m →Cmd1001 |
No edit summary |
||
Line 12: | Line 12: | ||
| 0 || [19.0.0+] | | 0 || [19.0.0+] | ||
|- | |- | ||
| 10 || TryGetLastMigrationInfo | | 10 || [7.0.0+] TryGetLastUserMigrationInfo ([4.0.0-6.2.0] TryGetLastMigrationInfo) | ||
|- | |- | ||
| 100 || [[# | | 100 || [7.0.0+] [[#CreateUserMigrationServer|CreateUserMigrationServer]] ([4.0.0-6.2.0] CreateServer) | ||
|- | |- | ||
| 101 || [[# | | 101 || [7.0.0+] [[#ResumeUserMigrationServer|ResumeUserMigrationServer]] ([4.0.0-6.2.0] ResumeServer) | ||
|- | |- | ||
| 200 || [[# | | 200 || [7.0.0+] [[#CreateUserMigrationClient|CreateUserMigrationClient]] ([4.0.0-6.2.0] CreateClient) | ||
|- | |- | ||
| 201 || [[# | | 201 || [7.0.0+] [[#ResumeUserMigrationClient|ResumeUserMigrationClient]] ([4.0.0-6.2.0] ResumeClient) | ||
|- | |- | ||
| 1001 || [8.0.0+] | | 1001 || [8.0.0+] [[#GetSaveDataMigrationPolicyInfoAsync|GetSaveDataMigrationPolicyInfoAsync]] | ||
|- | |- | ||
| 1010 || [7.0.0+] | | 1010 || [7.0.0+] TryGetLastSaveDataMigrationInfo | ||
|- | |- | ||
| 1100 || [7.0.0+] | | 1100 || [7.0.0+] [[#CreateSaveDataMigrationServer|CreateSaveDataMigrationServer]] | ||
|- | |- | ||
| 1101 || [7.0.0+] | | 1101 || [7.0.0+] [[#ResumeSaveDataMigrationServer|ResumeSaveDataMigrationServer]] | ||
|- | |- | ||
| 1110 || [17.0.0+] | | 1110 || [17.0.0+] | ||
|- | |- | ||
| 1200 || [7.0.0+] | | 1200 || [7.0.0+] [[#CreateSaveDataMigrationClient|CreateSaveDataMigrationClient]] | ||
|- | |- | ||
| 1201 || [7.0.0+] | | 1201 || [7.0.0+] [[#ResumeSaveDataMigrationClient|ResumeSaveDataMigrationClient]] | ||
|} | |} | ||
== | == CreateUserMigrationServer == | ||
Takes a total of 0x18-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IServer]]. | Takes a total of 0x18-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IServer]]. | ||
== | == ResumeUserMigrationServer == | ||
Takes an input u32, a TransferMemory handle, returns an [[#IServer]]. | Takes an input u32, a TransferMemory handle, returns an [[#IServer]]. | ||
== | == CreateUserMigrationClient == | ||
Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IClient]]. | Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IClient]]. | ||
== | == ResumeUserMigrationClient == | ||
Takes an input u32, a TransferMemory handle, returns an [[#IClient]]. | Takes an input u32, a TransferMemory handle, returns an [[#IClient]]. | ||
== | == GetSaveDataMigrationPolicyInfoAsync == | ||
Takes an [[NCM_services#ApplicationId|ApplicationId]], returns an [[#IAsyncSaveDataMigrationPolicyInfoContext]]. | Takes an [[NCM_services#ApplicationId|ApplicationId]], returns an [[#IAsyncSaveDataMigrationPolicyInfoContext]]. | ||
Line 56: | Line 56: | ||
This starts a network request for [[Network|save_data_migration_policy]]. | This starts a network request for [[Network|save_data_migration_policy]]. | ||
== | == CreateSaveDataMigrationServer == | ||
Takes a total of 0x20-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IServer_2|IServer]]. | Takes a total of 0x20-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IServer_2|IServer]]. | ||
== | == ResumeSaveDataMigrationServer == | ||
Takes an input u32, a TransferMemory handle, returns an [[#IServer_2|IServer]]. | Takes an input u32, a TransferMemory handle, returns an [[#IServer_2|IServer]]. | ||
== | == CreateSaveDataMigrationClient == | ||
Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IClient_2|IClient]]. | Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IClient_2|IClient]]. | ||
== | == ResumeSaveDataMigrationClient == | ||
Takes an input u32, a TransferMemory handle, returns an [[#IClient_2|IClient]]. | Takes an input u32, a TransferMemory handle, returns an [[#IClient_2|IClient]]. | ||
Line 96: | Line 96: | ||
|- | |- | ||
| 500 || Abort | | 500 || Abort | ||
|} | |} | ||
Line 145: | Line 144: | ||
|- | |- | ||
| 999 || DebugSynchronizeStateInFinalizationAsync | | 999 || DebugSynchronizeStateInFinalizationAsync | ||
|} | |} | ||
Line 162: | Line 160: | ||
|- | |- | ||
| 3 || GetResult | | 3 || GetResult | ||
|} | |} | ||
Line 192: | Line 189: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || GetUid | ||
|- | |- | ||
| 1 || | | 1 || GetApplicationId | ||
|- | |- | ||
| 2 || | | 2 || GetServerProfile | ||
|- | |- | ||
| 3 || [17.0.0+] | | 3 || [17.0.0+] ListApplicationIds | ||
|- | |- | ||
| 100 || | | 100 || PrepareAsync | ||
|- | |- | ||
| 101 || | | 101 || GetConnectionRequirement | ||
|- | |- | ||
| 200 || | | 200 || WaitConnectionAsync | ||
|- | |- | ||
| 201 || | | 201 || GetClientProfile | ||
|- | |- | ||
| 210 || [8.0.0+] | | 210 || [8.0.0+] WaitAcceptanceAsync | ||
|- | |- | ||
| 300 || | | 300 || ProcessTransferAsync | ||
|- | |- | ||
| 400 || | | 400 || CompleteAsync | ||
|- | |- | ||
| 500 || | | 500 || Abort | ||
|- | |- | ||
| 510 || [19.0.0+] | | 510 || [19.0.0+] | ||
|- | |- | ||
| 998 || [8.0.0+] | | 998 || [8.0.0+] DebugTryGetState | ||
|- | |- | ||
| 999 || [8.0.0+] DebugWaitStateSynchronizationFinalizedAsync | |||
|} | |} | ||
Line 233: | Line 229: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || | | 0 || GetClientProfile | ||
|- | |- | ||
| 100 || | | 100 || GetConnectionRequirement | ||
|- | |- | ||
| 200 || | | 200 || ScanServersAsync | ||
|- | |- | ||
| 201 || | | 201 || ListServers | ||
|- | |- | ||
| 210 || | | 210 || ConnectByServerIdAsync | ||
|- | |- | ||
| 220 || [8.0.0+] | | 220 || [8.0.0+] AcceptAsync | ||
|- | |- | ||
| 221 || [8.0.0+] | | 221 || [8.0.0+] DeclineAsync | ||
|- | |- | ||
| 300 || | | 300 || GetStorageShortfall | ||
|- | |- | ||
| 301 || | | 301 || GetTotalTransferInfo | ||
|- | |- | ||
| 302 || | | 302 || GetImmigrantUid | ||
|- | |- | ||
| 303 || | | 303 || GetApplicationId | ||
|- | |- | ||
| 304 || [17.0.0+] | | 304 || [17.0.0+] ListApplicationIds | ||
|- | |- | ||
| 310 || | | 310 || GetCurrentTransferInfo | ||
|- | |- | ||
| 320 || | | 320 || TransferNextAsync | ||
|- | |- | ||
| 350 || | | 350 || SuspendAsync | ||
|- | |- | ||
| 400 || | | 400 || CompleteAsync | ||
|- | |- | ||
| 500 || | | 500 || Abort | ||
|- | |- | ||
| 510 || [19.0.0+] | | 510 || [19.0.0+] | ||
|- | |- | ||
| 996 || [8.0.0+] | | 996 || [8.0.0+] DebugTryGetState | ||
|- | |- | ||
| | | 997 || [8.0.0+] DebugSynchronizeStateInFinalization0Async | ||
|- | |- | ||
| | | 998 || [8.0.0+] DebugSynchronizeStateInFinalization1Async | ||
|- | |- | ||
| 999 || DebugSynchronizeStateFinalizedAsync | |||
|} | |} | ||
[[Category:Services]] | [[Category:Services]] |
Revision as of 22:10, 19 March 2025
Migration is a sysmodule designed for handling the Switch-to-Switch transfer system introduced in firmware 4.0.0.
With newer system-versions this sysmodule is only running when qlaunch is using migration from the relevant transfer menus (see ActivateMigrationService/DeactivateMigrationService).
mig:usr
This is "nn::migration::user::IService"
Cmd | Name |
---|---|
0 | [19.0.0+] |
10 | [7.0.0+] TryGetLastUserMigrationInfo ([4.0.0-6.2.0] TryGetLastMigrationInfo) |
100 | [7.0.0+] CreateUserMigrationServer ([4.0.0-6.2.0] CreateServer) |
101 | [7.0.0+] ResumeUserMigrationServer ([4.0.0-6.2.0] ResumeServer) |
200 | [7.0.0+] CreateUserMigrationClient ([4.0.0-6.2.0] CreateClient) |
201 | [7.0.0+] ResumeUserMigrationClient ([4.0.0-6.2.0] ResumeClient) |
1001 | [8.0.0+] GetSaveDataMigrationPolicyInfoAsync |
1010 | [7.0.0+] TryGetLastSaveDataMigrationInfo |
1100 | [7.0.0+] CreateSaveDataMigrationServer |
1101 | [7.0.0+] ResumeSaveDataMigrationServer |
1110 | [17.0.0+] |
1200 | [7.0.0+] CreateSaveDataMigrationClient |
1201 | [7.0.0+] ResumeSaveDataMigrationClient |
CreateUserMigrationServer
Takes a total of 0x18-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an #IServer.
ResumeUserMigrationServer
Takes an input u32, a TransferMemory handle, returns an #IServer.
CreateUserMigrationClient
Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an #IClient.
ResumeUserMigrationClient
Takes an input u32, a TransferMemory handle, returns an #IClient.
GetSaveDataMigrationPolicyInfoAsync
Takes an ApplicationId, returns an #IAsyncSaveDataMigrationPolicyInfoContext.
This is used by qlaunch before the actual savedata transfer is started.
This starts a network request for save_data_migration_policy.
CreateSaveDataMigrationServer
Takes a total of 0x20-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an IServer.
ResumeSaveDataMigrationServer
Takes an input u32, a TransferMemory handle, returns an IServer.
CreateSaveDataMigrationClient
Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an IClient.
ResumeSaveDataMigrationClient
Takes an input u32, a TransferMemory handle, returns an IClient.
IServer
This is "nn::migration::user::IServer"
Cmd | Name |
---|---|
0 | GetUid |
1 | GetServerProfile |
100 | PrepareAsync |
101 | GetConnectionRequirement |
200 | WaitConnectionAsync |
201 | GetClientProfile |
202 | AcceptConnectionAsync |
203 | DeclineConnectionAsync |
300 | ProcessTransferAsync |
400 | CompleteAsync |
500 | Abort |
IClient
This is "nn::migration::user::IClient"
Cmd | Name |
---|---|
0 | GetClientProfile |
10 | CreateLoginSession |
11 | GetNetworkServiceAccountId |
12 | GetUserNickname |
13 | GetUserProfileImage |
100 | PrepareAsync |
101 | GetConnectionRequirement |
200 | ScanServersAsync |
201 | ListServers |
210 | ConnectByServerIdAsync |
300 | GetStorageShortfall |
301 | GetTotalTransferInfo |
302 | GetImmigrantUid |
310 | GetCurrentTransferInfo |
311 | GetCurrentRelatedApplications |
320 | TransferNextAsync |
350 | SuspendAsync |
400 | CompleteAsync |
500 | Abort |
999 | DebugSynchronizeStateInFinalizationAsync |
IAsyncContext
This is "nn::migration::detail::IAsyncContext".
Cmd | Name |
---|---|
0 | GetSystemEvent |
1 | Cancel |
2 | HasDone |
3 | GetResult |
IAsyncSaveDataMigrationPolicyInfoContext
This is "nn::migration::detail::IAsyncSaveDataMigrationPolicyInfoContext".
Cmd | Name |
---|---|
0 | GetSystemEvent |
1 | Cancel |
2 | HasDone |
3 | GetResult |
100 | GetSaveDataMigrationPolicyInfo |
IServer
This is "nn::migration::savedata::IServer".
This was added with [7.0.0+].
Cmd | Name |
---|---|
0 | GetUid |
1 | GetApplicationId |
2 | GetServerProfile |
3 | [17.0.0+] ListApplicationIds |
100 | PrepareAsync |
101 | GetConnectionRequirement |
200 | WaitConnectionAsync |
201 | GetClientProfile |
210 | [8.0.0+] WaitAcceptanceAsync |
300 | ProcessTransferAsync |
400 | CompleteAsync |
500 | Abort |
510 | [19.0.0+] |
998 | [8.0.0+] DebugTryGetState |
999 | [8.0.0+] DebugWaitStateSynchronizationFinalizedAsync |
IClient
This is "nn::migration::savedata::IClient".
This was added with [7.0.0+].
Cmd | Name |
---|---|
0 | GetClientProfile |
100 | GetConnectionRequirement |
200 | ScanServersAsync |
201 | ListServers |
210 | ConnectByServerIdAsync |
220 | [8.0.0+] AcceptAsync |
221 | [8.0.0+] DeclineAsync |
300 | GetStorageShortfall |
301 | GetTotalTransferInfo |
302 | GetImmigrantUid |
303 | GetApplicationId |
304 | [17.0.0+] ListApplicationIds |
310 | GetCurrentTransferInfo |
320 | TransferNextAsync |
350 | SuspendAsync |
400 | CompleteAsync |
500 | Abort |
510 | [19.0.0+] |
996 | [8.0.0+] DebugTryGetState |
997 | [8.0.0+] DebugSynchronizeStateInFinalization0Async |
998 | [8.0.0+] DebugSynchronizeStateInFinalization1Async |
999 | DebugSynchronizeStateFinalizedAsync |