Actually @emph{HALT} packet does not have any body, only the header
with the type. It is also used in the first payload for padding to
the maximum size.
+
@verbatim
+------+
| HALT |
@item INFO
Information about the file we have for transmission.
+
@verbatim
+------+--------------------+
| INFO | NICE | SIZE | HASH |
+------+--------------------+
@end verbatim
+
@multitable @columnfractions 0.2 0.3 0.5
@headitem @tab XDR type @tab Value
@item Niceness @tab
@item FREQ
File transmission request. Ask remote side to queue the file for
transmission.
+
@verbatim
+------+---------------+
| FREQ | HASH | OFFSET |
+------+---------------+
@end verbatim
+
@multitable @columnfractions 0.2 0.3 0.5
@headitem @tab XDR type @tab Value
@item Hash @tab
@item FILE
Chunk of file.
+
@verbatim
+------+-------------------------+
| FILE | HASH | OFFSET | PAYLOAD |
+------+-------------------------+
@end verbatim
+
@multitable @columnfractions 0.2 0.3 0.5
@headitem @tab XDR type @tab Value
@item Hash @tab
@item DONE
Signal remote side that we have successfully downloaded the file.
+
@verbatim
+------+------+
| DONE | HASH |
+------+------+
@end verbatim
+
@multitable @columnfractions 0.2 0.3 0.5
@headitem @tab XDR type @tab Value
@item Hash @tab