User`s guide

62 DC 900-1339H
FMP Programmer’s Guide
the most widely used format for BSC type feeds (i.e., feeds from SIAC, OPRA, NAS-
DAQ, etc.). When a data block ending with ETB is received or if the ICP must split a sin-
gle block in order to fit the records into a smaller message buffer, the ICP uses the non-
EOM variation. For most data feed applications, both variations should be treated as
the same.
If the Message Blocking option (Section 4.13 on page 81) is set to 0, 1, or 2 (Raw Blocks,
Data Records, or Single Records), the ICP uses the Normal Data types. If the ICP receives
a transparent data block on the line, (i.e., a block starting with DLE SOH or DLE STX
and ending with DLE ETB or DLE ETX), the Transparent Data types are used for those
blocks.
If the Message Blocking option is set to 3 or 4 (Data Records with Header or Raw Blocks
with Header), the ICP uses the Packed Data types for all received data blocks, normal or
transparent. The Packed Data type indicates the presence of 5-byte ICP-generated
record or block headers within the data. Each header consists of a 16-bit count, a 16-bit
sequence number, and an 8-bit error code, as shown in Figure 3–3. The 5-byte header
error code values are listed in Appendix C.
The two-byte count includes the sequence number, error byte, and the size of the data
in bytes. Depending on the type of data block received, the 5-byte header can occur
multiple times within a single received data buffer. The client application must be able
to search through the received buffer for multiple records or blocks until the byte count
from the
dlRead call is reached.
Figure 3–3: Packed Data with 5-Byte Header Format
COUNT SEQUENCE NUMBER ERROR data