Difference between revisions of "DLP Services"

From 3dbrew
Jump to navigation Jump to search
 
(11 intermediate revisions by 5 users not shown)
Line 12: Line 12:
 
| 0x000100C3
 
| 0x000100C3
 
| ?
 
| ?
| ?
+
| Initialize
 
|-
 
|-
 
| 0x00020000
 
| 0x00020000
 
| ?
 
| ?
| ?
+
| Finalize
 
|-
 
|-
 
| 0x00030000
 
| 0x00030000
 
| ?
 
| ?
| Unknown. Writes 0x18-bytes of output starting at cmdreply[2].
+
| GetEventDesc. Writes 0x18-bytes of output starting at cmdreply[2].
 
|-
 
|-
 
| 0x00040000
 
| 0x00040000
 
| ?
 
| ?
| Unknown. Writes an output u16 to cmdreply[2].
+
| GetChannel. Writes an output u16 to cmdreply[2].
 
|-
 
|-
 
| 0x00050180
 
| 0x00050180
 
| ?
 
| ?
| ?
+
| StartScan
 
|-
 
|-
 
| 0x00060000
 
| 0x00060000
 
| ?
 
| ?
| ?
+
| StopScan
 
|-
 
|-
| 0x0007....
+
| 0x00070080
| ?
 
 
| ?
 
| ?
 +
| GetServerInfo
 
|-
 
|-
| 0x0008....
+
| 0x00080100
| ?
 
 
| ?
 
| ?
 +
| GetTitleInfo
 
|-
 
|-
| 0x0009....
+
| 0x00090040
| ?
 
 
| ?
 
| ?
 +
| GetTitleInfoInOrder
 
|-
 
|-
| 0x000A....
+
| 0x000A0080
| ?
 
 
| ?
 
| ?
 +
| DeleteScanInfo
 
|-
 
|-
| 0x000B....
+
| 0x000B0100
| ?
 
 
| ?
 
| ?
 +
| PrepareForSystemDownload
 
|-
 
|-
| 0x000C....
+
| 0x000C0000
| ?
 
 
| ?
 
| ?
 +
| StartSystemDownload
 
|-
 
|-
| 0x000D....
+
| 0x000D0100
| ?
 
 
| ?
 
| ?
 +
| StartTitleDownload
 
|-
 
|-
| 0x000E....
+
| 0x000E0000
| ?
 
 
| ?
 
| ?
 +
| GetMyStatus
 
|-
 
|-
| 0x000F....
+
| 0x000F0040
| ?
 
 
| ?
 
| ?
 +
| GetConnectingNodes
 
|-
 
|-
| 0x0010....
+
| 0x00100040
| ?
 
 
| ?
 
| ?
 +
| GetNodeInfo
 
|-
 
|-
 
| 0x00110000
 
| 0x00110000
Line 78: Line 78:
 
| [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]]
 
| [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]]
 
|-
 
|-
| 0x0012....
+
| 0x00120000
| ?
 
 
| ?
 
| ?
 +
| StopSession
 
|-
 
|-
| 0x0013....
+
| 0x00130100
| ?
 
 
| ?
 
| ?
 +
| GetCupVersion
 
|-
 
|-
| 0x0014....
+
| 0x00140100
| ?
 
 
| ?
 
| ?
 +
| GetDupAvailability
 
|}
 
|}
  
Line 100: Line 100:
 
| 0x00010183
 
| 0x00010183
 
|  
 
|  
| Initialize...
+
| [[DLPSRVR:Initialize|Initialize]]
 
|-
 
|-
 
| 0x00020000
 
| 0x00020000
 
|  
 
|  
| Finalize...
+
| Finalize
 
|-
 
|-
 
| 0x00030000
 
| 0x00030000
 
|  
 
|  
| unknown...
+
| GetServerState
 
|-
 
|-
 
| 0x00040000
 
| 0x00040000
 
|  
 
|  
| unknown...
+
| GetEventDescription
 
|-
 
|-
 
| 0x00050080
 
| 0x00050080
 
|  
 
|  
| unknown...
+
| StartAccepting
 
|-
 
|-
 
| 0x00060000
 
| 0x00060000
 
|  
 
|  
| unknown...
+
| EndAccepting
 
|-
 
|-
 
| 0x00070000
 
| 0x00070000
 
|  
 
|  
| unknown...
+
| StartDistribution
 
|-
 
|-
 
| 0x000800C0
 
| 0x000800C0
Line 132: Line 132:
 
| 0x00090040
 
| 0x00090040
 
|  
 
|  
| unknown...
+
| AcceptClient
 
|-
 
|-
 
| 0x000A0040
 
| 0x000A0040
 
|  
 
|  
| unknown...
+
| DisconnectClient
 
|-
 
|-
 
| 0x000B0042
 
| 0x000B0042
 
|  
 
|  
| unknown...
+
| GetConnectingClients
 
|-
 
|-
 
| 0x000C0040
 
| 0x000C0040
 
|  
 
|  
| unknown...
+
| GetClientInfo
 
|-
 
|-
 
| 0x000D0040
 
| 0x000D0040
 
|  
 
|  
| unknown...
+
| GetClientState
 
|-
 
|-
 
| 0x000E0040
 
| 0x000E0040
 
|  
 
|  
| unknown...
+
| IsChild
 
|-
 
|-
 
| 0x000F0303
 
| 0x000F0303
 
|  
 
|  
| unknown...
+
| InitializeWithName
 
|-
 
|-
 
| 0x00100000
 
| 0x00100000
 
|  
 
|  
| unknown...
+
| GetDupNoticeNeed
 
|}
 
|}
  
="dlp:FKCL"=
+
=Download Play Fake Client Service "dlp:FKCL"=
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 170: Line 170:
 
!  Description
 
!  Description
 
|-
 
|-
| 0x0001....
+
| 0x00010083
| ?
 
 
| ?
 
| ?
 +
| Initialize
 
|-
 
|-
| 0x0002....
+
| 0x00020000
| ?
 
 
| ?
 
| ?
 +
| Finalize
 
|-
 
|-
| 0x0003....
+
| 0x00030000
| ?
 
 
| ?
 
| ?
 +
| GetEventDesc
 
|-
 
|-
| 0x0004....
+
| 0x00040000
| ?
 
 
| ?
 
| ?
 +
| GetChannels
 
|-
 
|-
| 0x0005....
+
| 0x00050180
| ?
 
 
| ?
 
| ?
 +
| StartScan
 
|-
 
|-
| 0x0006....
+
| 0x00060000
| ?
 
 
| ?
 
| ?
 +
| StopScan
 
|-
 
|-
| 0x0007....
+
| 0x00070080
| ?
 
 
| ?
 
| ?
 +
| GetServerInfo
 
|-
 
|-
| 0x0008....
+
| 0x00080100
| ?
 
 
| ?
 
| ?
 +
| GetTitleInfo
 
|-
 
|-
| 0x0009....
+
| 0x00090040
| ?
 
 
| ?
 
| ?
 +
| GetTitleInfoInOrder
 
|-
 
|-
| 0x000A....
+
| 0x000A0080
| ?
 
 
| ?
 
| ?
 +
| DeleteScanInfo
 
|-
 
|-
| 0x000B....
+
| 0x000B0100
| ?
 
 
| ?
 
| ?
 +
| StartFakeSession
 
|-
 
|-
| 0x000C....
+
| 0x000C0000
| ?
 
 
| ?
 
| ?
 +
| GetMyStatus
 
|-
 
|-
| 0x000D....
+
| 0x000D0040
| ?
 
 
| ?
 
| ?
 +
| GetConnectingNodes
 
|-
 
|-
| 0x000E....
+
| 0x000E0040
| ?
 
 
| ?
 
| ?
 +
| GetNodeInfo
 
|-
 
|-
 
| 0x000F0000
 
| 0x000F0000
Line 230: Line 230:
 
| [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]]
 
| [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]]
 
|-
 
|-
| 0x0010....
+
| 0x00100000
| ?
 
 
| ?
 
| ?
 +
| Same as dlp:CLNT cmd12 (StopSession).
 
|-
 
|-
| 0x0011....
+
| 0x00110203
| ?
 
 
| ?
 
| ?
 +
| Calls the same function as DLPFKCL:Initialize.
 
|}
 
|}
  
Line 242: Line 242:
 
This 9-byte UDS passphrase is sent by the DLP host application to the DLP clients via [[DLPSRVR:SendWirelessRebootPassphrase]]. The dlplay client system-application then loads it via [[DLP:GetWirelessRebootPassphrase]] for [[NSS:SetWirelessRebootInfo|setting]] the NS [[NS_and_APT_Services#WirelessRebootInfo|WirelessRebootInfo]]. Afterwards once launched, the DLP child application can then use [[APT:GetWirelessRebootInfo]] to load that data.
 
This 9-byte UDS passphrase is sent by the DLP host application to the DLP clients via [[DLPSRVR:SendWirelessRebootPassphrase]]. The dlplay client system-application then loads it via [[DLP:GetWirelessRebootPassphrase]] for [[NSS:SetWirelessRebootInfo|setting]] the NS [[NS_and_APT_Services#WirelessRebootInfo|WirelessRebootInfo]]. Afterwards once launched, the DLP child application can then use [[APT:GetWirelessRebootInfo]] to load that data.
  
The last byte in this passphrase is presumably the NUL-terminator. Normally this a randomly-generated ASCII hex string, however it can be arbitrary. Some titles use strings which are less than the max size. This is the passphrase for the new UDS network which will be used by the clients and host for communicating, once the DLP child titles on those clients launch.
+
Normally this a randomly-generated ASCII hex string, however it can be arbitrary. These strings are less than 9-bytes for some titles, the unused bytes are cleared to zero. This is the passphrase for the new UDS network which will be used by the clients and host for communicating, once the DLP child titles on those clients launch. This entire 9-byte passphrase is passed directly to the [[NWM_Services|UDS]] network connection/creation commands.

Latest revision as of 15:12, 9 August 2017

Download Play services are not used by the Download Play child application at all(the title which runs on the Download Play clients). This is used instead: APT:GetWirelessRebootInfo. The DLP-child is launched by the dlplay system-application the same way as any other system-application->system-application launching(besides using NSS:SetWirelessRebootInfo).

There can only be one session open for each individual DLP service at a time.

Download Play Client Service "dlp:CLNT"[edit]

Command Header Available since system version Description
0x000100C3 ? Initialize
0x00020000 ? Finalize
0x00030000 ? GetEventDesc. Writes 0x18-bytes of output starting at cmdreply[2].
0x00040000 ? GetChannel. Writes an output u16 to cmdreply[2].
0x00050180 ? StartScan
0x00060000 ? StopScan
0x00070080 ? GetServerInfo
0x00080100 ? GetTitleInfo
0x00090040 ? GetTitleInfoInOrder
0x000A0080 ? DeleteScanInfo
0x000B0100 ? PrepareForSystemDownload
0x000C0000 ? StartSystemDownload
0x000D0100 ? StartTitleDownload
0x000E0000 ? GetMyStatus
0x000F0040 ? GetConnectingNodes
0x00100040 ? GetNodeInfo
0x00110000 ? GetWirelessRebootPassphrase
0x00120000 ? StopSession
0x00130100 ? GetCupVersion
0x00140100 ? GetDupAvailability

Download Play Server Service "dlp:SRVR"[edit]

Command Header Available since system version Description
0x00010183 Initialize
0x00020000 Finalize
0x00030000 GetServerState
0x00040000 GetEventDescription
0x00050080 StartAccepting
0x00060000 EndAccepting
0x00070000 StartDistribution
0x000800C0 SendWirelessRebootPassphrase
0x00090040 AcceptClient
0x000A0040 DisconnectClient
0x000B0042 GetConnectingClients
0x000C0040 GetClientInfo
0x000D0040 GetClientState
0x000E0040 IsChild
0x000F0303 InitializeWithName
0x00100000 GetDupNoticeNeed

Download Play Fake Client Service "dlp:FKCL"[edit]

Command Header Available since system version Description
0x00010083 ? Initialize
0x00020000 ? Finalize
0x00030000 ? GetEventDesc
0x00040000 ? GetChannels
0x00050180 ? StartScan
0x00060000 ? StopScan
0x00070080 ? GetServerInfo
0x00080100 ? GetTitleInfo
0x00090040 ? GetTitleInfoInOrder
0x000A0080 ? DeleteScanInfo
0x000B0100 ? StartFakeSession
0x000C0000 ? GetMyStatus
0x000D0040 ? GetConnectingNodes
0x000E0040 ? GetNodeInfo
0x000F0000 ? GetWirelessRebootPassphrase
0x00100000 ? Same as dlp:CLNT cmd12 (StopSession).
0x00110203 ? Calls the same function as DLPFKCL:Initialize.

WirelessRebootPassphrase[edit]

This 9-byte UDS passphrase is sent by the DLP host application to the DLP clients via DLPSRVR:SendWirelessRebootPassphrase. The dlplay client system-application then loads it via DLP:GetWirelessRebootPassphrase for setting the NS WirelessRebootInfo. Afterwards once launched, the DLP child application can then use APT:GetWirelessRebootInfo to load that data.

Normally this a randomly-generated ASCII hex string, however it can be arbitrary. These strings are less than 9-bytes for some titles, the unused bytes are cleared to zero. This is the passphrase for the new UDS network which will be used by the clients and host for communicating, once the DLP child titles on those clients launch. This entire 9-byte passphrase is passed directly to the UDS network connection/creation commands.