User guide

7: Host/ICP Interface
DC 900-1338I 131
struct prot_hdr /* Protocol message header */
{
bit16 command; /* function code */
bit16 modifier; /* function modifier */
bit16 link; /* physical port number */
bit16 circuit; /* data link circuit identifier */
bit16 session; /* session identifier */
bit16 sequence; /* message sequence number */
bit16 reserved1; /* reserved */
bit16 reserved2; /* reserved */
};
typedef struct prot_hdr PROT_HDR;
struct xmt_hdr
{
bit32 flags; /* local transmit/receive flags */
bit8 filler;
bit8 syncs[8]; /* starting sync chars (BSC) */
bit8 start_char; /* start char (BSC) */
bit16 count;
};
typedef struct xmt_hdr XMT_HDR;
7.2.4.1 System Buffer Header Initialization
In the system buffer header of the header buffer (the first buffer of the queue element),
sb_thse must be initialized. (This field is set by the system if the buffer was obtained
from a partition.) The
sb_nxtb field must be set to the starting address of the data buffer
(that is, to the start of its system buffer header). In addition, the disposition flag,
sb_disp,
and possibly the disposition modifier,
sb_dmod, must be initialized.
In the system buffer header of the second buffer (the data buffer), initialization of
sb_thse is not required. If the sb_nxtb field is set to zero, the remainder of the buffer
immediately follows the system buffer header. If the
sb_nxtb field is non-zero, it must
contain a pointer to the first byte of the API header. For the data buffer, initialization of
the system buffer headers disposition flag and disposition modifier might be required,
depending on the value of the header buffers disposition flag.