Difference between revisions of "Migration services"

From Nintendo Switch Brew
Jump to navigation Jump to search
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 [[#IAsyncSaveDataMigrationPolicyInfoContext]])
+
| 1001 || [8.0.0+]  
 
|-
 
|-
 
| 1010 || [7.0.0+]
 
| 1010 || [7.0.0+]
Line 30: Line 30:
 
| 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 ==

Revision as of 18:26, 29 December 2022

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+]
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
210 [8.0.0+]
300 ProcessTransferAsync
400 CompleteAsync
500 Abort
998 [8.0.0+]
999 [8.0.0+]

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
220 [8.0.0+]
221 [8.0.0+]
300 GetStorageShortfall
301 GetTotalTransferInfo
302 GetImmigrantUid
310 GetCurrentTransferInfo
311 GetCurrentRelatedApplications
320 TransferNextAsync
350 SuspendAsync
400 CompleteAsync
500 Abort
996 [8.0.0+]
997 [8.0.0+]
998 [8.0.0+]
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
100
101
200
201
300
400
500

IClient

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

This was added with [7.0.0+].

Cmd Name
0
100
200
201
210
300
301
302
303
310
320
350
400
500
999