The DATALENGTH protocol step reads a one byte binary packet length field.

The received data length is remembered by the protocol until a USERDATA step is encountered. The USERDATA step will read this number of bytes minus the offset stated with the DATALENGTH step.