Difference between revisions of "Migration services"

From Nintendo Switch Brew
Jump to navigation Jump to search
(replaced 'new' description with firmware version when introduced)
 
(4 intermediate revisions by 2 users not shown)
Line 10: Line 10:
 
| 10 || TryGetLastMigrationInfo
 
| 10 || TryGetLastMigrationInfo
 
|-
 
|-
| 100 || CreateServer
+
| 100 || [[#CreateServer]]
 
|-
 
|-
| 101 || ResumeServer
+
| 101 || [[#ResumeServer]]
 
|-
 
|-
| 200 || CreateClient
+
| 200 || [[#CreateClient]]
 
|-
 
|-
| 201 || ResumeClient
+
| 201 || [[#ResumeClient]]
 
|-
 
|-
| 1001 || [8.0.0+] ? (Takes a total of 8-bytes of input, returns an [[Account_services|IAsyncNetworkServiceLicenseKindContext]])
+
| 1001 || [8.0.0+]  
 
|-
 
|-
 
| 1010 || [7.0.0+]
 
| 1010 || [7.0.0+]
Line 25: Line 25:
 
|-
 
|-
 
| 1101 || [7.0.0+]
 
| 1101 || [7.0.0+]
 +
|-
 +
| 1110 || [17.0.0+]
 
|-
 
|-
 
| 1200 || [7.0.0+]
 
| 1200 || [7.0.0+]
Line 30: Line 32:
 
| 1201 || [7.0.0+]
 
| 1201 || [7.0.0+]
 
|}
 
|}
 +
 +
== CreateServer ==
 +
Takes a total of 0x18-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IServer]].
 +
 +
== ResumeServer ==
 +
Takes an input u32, a TransferMemory handle, returns an [[#IServer]].
 +
 +
== CreateClient ==
 +
Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IClient]].
 +
 +
== ResumeClient ==
 +
Takes an input u32, a TransferMemory handle, returns an [[#IClient]].
 +
 +
== Cmd1001 ==
 +
Takes a total of 8-bytes of input, returns an [[#IAsyncSaveDataMigrationPolicyInfoContext]].
 +
 +
== Cmd1100 ==
 +
Takes a total of 0x20-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IServer_2|IServer]].
 +
 +
== Cmd1101 ==
 +
Takes an input u32, a TransferMemory handle, returns an [[#IServer_2|IServer]].
 +
 +
== Cmd1200 ==
 +
Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an [[#IClient_2|IClient]].
 +
 +
== Cmd1201 ==
 +
Takes an input u32, a TransferMemory handle, returns an [[#IClient_2|IClient]].
  
 
== IServer ==
 
== IServer ==
Line 53: Line 82:
 
|-
 
|-
 
| 203 || DeclineConnectionAsync
 
| 203 || DeclineConnectionAsync
|-
 
| 210 || [8.0.0+]
 
 
|-
 
|-
 
| 300 || ProcessTransferAsync
 
| 300 || ProcessTransferAsync
Line 61: Line 88:
 
|-
 
|-
 
| 500 || Abort
 
| 500 || Abort
|-
 
| 998 || [8.0.0+]
 
|-
 
| 999 || [8.0.0+]
 
 
|-
 
|-
 
|}
 
|}
Line 94: Line 117:
 
|-
 
|-
 
| 210 || ConnectByServerIdAsync
 
| 210 || ConnectByServerIdAsync
|-
 
| 220 || [8.0.0+]
 
|-
 
| 221 || [8.0.0+]
 
 
|-
 
|-
 
| 300 || GetStorageShortfall
 
| 300 || GetStorageShortfall
Line 116: Line 135:
 
|-
 
|-
 
| 500 || Abort
 
| 500 || Abort
|-
 
| 996 || [8.0.0+]
 
|-
 
| 997 || [8.0.0+]
 
|-
 
| 998 || [8.0.0+]
 
 
|-
 
|-
 
| 999 || DebugSynchronizeStateInFinalizationAsync
 
| 999 || DebugSynchronizeStateInFinalizationAsync
Line 128: Line 141:
  
 
== IAsyncContext ==
 
== IAsyncContext ==
This is "nn::migration::user::IAsyncContext"
+
This is "nn::migration::detail::IAsyncContext".
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 142: Line 155:
 
| 3 || GetResult
 
| 3 || GetResult
 
|-
 
|-
 +
|}
 +
 +
== IAsyncSaveDataMigrationPolicyInfoContext ==
 +
This is "nn::migration::detail::IAsyncSaveDataMigrationPolicyInfoContext".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 ||
 +
|-
 +
| 1 ||
 +
|-
 +
| 2 ||
 +
|-
 +
| 3 ||
 +
|-
 +
| 100 ||
 
|}
 
|}
  
Line 158: Line 189:
 
|-
 
|-
 
| 2 ||  
 
| 2 ||  
 +
|-
 +
| 3 || [17.0.0+]
 
|-
 
|-
 
| 100 ||  
 
| 100 ||  
Line 166: Line 199:
 
|-
 
|-
 
| 201 ||  
 
| 201 ||  
 +
|-
 +
| 210 || [8.0.0+]
 
|-
 
|-
 
| 300 ||  
 
| 300 ||  
Line 172: Line 207:
 
|-
 
|-
 
| 500 ||  
 
| 500 ||  
 +
|-
 +
| 998 || [8.0.0+]
 +
|-
 +
| 999 || [8.0.0+]
 
|-
 
|-
 
|}
 
|}
Line 193: Line 232:
 
|-
 
|-
 
| 210 ||  
 
| 210 ||  
 +
|-
 +
| 220 || [8.0.0+]
 +
|-
 +
| 221 || [8.0.0+]
 
|-
 
|-
 
| 300 ||  
 
| 300 ||  
Line 201: Line 244:
 
|-
 
|-
 
| 303 ||  
 
| 303 ||  
 +
|-
 +
| 304 || [17.0.0+]
 
|-
 
|-
 
| 310 ||  
 
| 310 ||  
Line 211: Line 256:
 
|-
 
|-
 
| 500 ||  
 
| 500 ||  
 +
|-
 +
| 996 || [8.0.0+]
 +
|-
 +
| 997 || [8.0.0+]
 +
|-
 +
| 998 || [8.0.0+]
 
|-
 
|-
 
| 999 ||  
 
| 999 ||  

Latest revision as of 20:59, 12 October 2023

Migration is a sysmodule designed for handling the Switch-to-Switch transfer system introduced in firmware 4.0.0.

mig:usr

This is "nn::migration::user::IService"

Cmd Name
10 TryGetLastMigrationInfo
100 #CreateServer
101 #ResumeServer
200 #CreateClient
201 #ResumeClient
1001 [8.0.0+]
1010 [7.0.0+]
1100 [7.0.0+]
1101 [7.0.0+]
1110 [17.0.0+]
1200 [7.0.0+]
1201 [7.0.0+]

CreateServer

Takes a total of 0x18-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an #IServer.

ResumeServer

Takes an input u32, a TransferMemory handle, returns an #IServer.

CreateClient

Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an #IClient.

ResumeClient

Takes an input u32, a TransferMemory handle, returns an #IClient.

Cmd1001

Takes a total of 8-bytes of input, returns an #IAsyncSaveDataMigrationPolicyInfoContext.

Cmd1100

Takes a total of 0x20-bytes of input, a type-0x19 input buffer, a TransferMemory handle, returns an IServer.

Cmd1101

Takes an input u32, a TransferMemory handle, returns an IServer.

Cmd1200

Takes an input u32, a type-0x19 input buffer, a TransferMemory handle, returns an IClient.

Cmd1201

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
1
2
3
100

IServer

This is "nn::migration::savedata::IServer".

This was added with [7.0.0+].

Cmd Name
0
1
2
3 [17.0.0+]
100
101
200
201
210 [8.0.0+]
300
400
500
998 [8.0.0+]
999 [8.0.0+]

IClient

This is "nn::migration::savedata::IClient".

This was added with [7.0.0+].

Cmd Name
0
100
200
201
210
220 [8.0.0+]
221 [8.0.0+]
300
301
302
303
304 [17.0.0+]
310
320
350
400
500
996 [8.0.0+]
997 [8.0.0+]
998 [8.0.0+]
999