NWM Services: Difference between revisions

Line 73: Line 73:
| Little-endian ID, for [[Download Play]] this is 0x55.
| Little-endian ID, for [[Download Play]] this is 0x55.
|}
|}
==Network structure==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x6
| This is the MAC address of the host. This is all-zero on the host, like with [[NWMUDS:BeginHostingNetwork]].
|-
| 0xD
| 0x3
| This is the OUI value for use with the beacon tags. Normally this is 001F32.
|-
| 0x10
| 0x4
| wlancommID
|-
| 0x14
| 0x1
| This ID is also stored at offset 0xE in the CTR-generation structure.
|-
| 0x1C
| 0x4
| ?
|}
This 0x108-byte structure is used for [[NWMUDS:BeginHostingNetwork]], [[NWMUDS:ConnectToNetwork]], etc. This data is stored as big-endian.


== UDS Beacons ==
== UDS Beacons ==
The UDS host broadcasts a beacon containing at least two Nintendo-vendor tags, normally the data stored in these tags are static. The second tag contains the big-endian u32 networkID, used by the clients when connecting to the host and for the above CCMP key generation. The Nintendo-vendor tag(s) following the first two are unique to the process using UDS, these tags are used for broadcasting metadata regarding the host.
The UDS host broadcasts a beacon containing at least two Nintendo-vendor tags, normally the data stored in these tags are static. The second tag contains the big-endian u32 networkID, used by the clients when connecting to the host and for the above CCMP key generation. The Nintendo-vendor tag(s) following the first two are unique to the process using UDS, these tags are used for broadcasting metadata regarding the host.