Jump to navigation Jump to search
48 bytes removed ,  07:23, 4 November 2019
Content can be transferred with a custom protocol over the network. This is intended for use with local [[LDN_services|ldn]] networks, however the used IP addresses can be arbitary. This can be used for SystemUpdates via the above Send/Receive commands (which are then used via [[NS_Services#ns:su|ns:su]]). Application content can also be transferred, which uses a similar (?) protocol.
Task [[#Cmd69|creation]] for Receive will eventually use the input addr/port with [[Sockets_services|connect()]], while the Send version will eventually do the same with [[Sockets_services|bind()]]. Hence, Receive system = client, while Send system = hostserver.
Messages (requests/replies) begin with the following 0x10-byte header, then any associated data.
! Offset || Size || Description
| 0x0 || 0x4 || u32 magicnum. Must match 0x7152444c (request messages, normally from the Receive system) or 0x7352444c (replies, reply messages normally from the Send system). Code validating the magicnum always checks both magicnums, not an individual one.
| 0x4 || 0x1 || u8 ID. The reply ID must match the request ID.
After the header is the associated data for size0 and size1, then the message-specific data if any. Generally size0 is 0, when receiving the data for size0 the received data is unused.
{| class="wikitable" border="1"
! ID || Request size0 / data || Request size1 / data || Request-specific data || Reply size0 / data || Reply size1 / data || Reply-specific data || Description
| 0x1 0x0 || 0x0 || SystemUpdate Meta [[#Cmd690x0 |ContentMetaKey]] || None 0x0 || 0x0 || 0x38-bytes, unknown. || None || This is Tells the first message used by SystemUpdateserver to exit.
| 0x1 || 0x0 || SystemUpdate Meta [[#Cmd69|ContentMetaKey]] || 0x0 || 0x38-bytes, unknown. || This is the first message used by SystemUpdate.|-| 0x3 || 0x0 || 0x10-bytes, unknown. || None || 0x0 || 0x8-bytes: two size u32s. || Two Then two blocks of data with the sizes specified by the u32s. || This is presumably used by the client for Application-Delivery. The two blocks of data are used as the buffers for [[ETicket_services|es]] ImportTicket.

Navigation menu