+0   8 DWORDs  Addresses of the file sections, each + 1
--- Host 3.20+ ---
+32   6 BYTEs   Signature "VER3.5" for Winplan RSTs.
+38   2 BYTEs   Sub-Version, currently either "00" or "01".
+40     DWORD   File position of the Winplan data, when existent.
+44     DWORD   Position of LEECHx.DAT, if existing (0 otherwise).
--- RST version "01" ---
+48     DWORD   Position of extended Ufo database

Normally, the data follows at 96 (60h) or 33 (21h), with some uninitialized data between the header and the data.

Winplan RSTs are sent if the host didn't get a TRN file, or if it got a Windows Turn file. Winplan RSTs contain a "DOS part" built up exactly as the normal DOS file. Windows RSTs contain additional information, see below. PHost remembers the RST file style over turns, and only sends Windows RSTs to registered clients.

To make your program robust, you should check all file pointers before using them. Everything but the first 8 sections was hacked into the RST format later, and earlier hosts do not blank out those fields. THost-generated RSTs sometimes (rarely) bear the "VER3.5" signature without actually being Windows-style files. This is because THost does not initialize the space after the header, and if DOS happens to assign a cluster previously used by a Windows-style file, the signature will be still there. To guard against this case, double-check the validity of the Winplan part of the file: the "1120" and "1211" signatures look like good candidates. If you found the "VER3.5" signature, the Winplan header itself usually is valid, as it comes from a real RST file: checking the file pointers alone for plausible values (i.e., "non-negative", "not more than 2 MB", ...) does not buy you much in this case.