Installation guide

5: Header Formats
DC 900-1564A 61
a
For non-DLI calls, ICP Header fields must be network byte-order, and Protocol Header fields must be client byte order.
Table 5–2: Comparison of Optional Arguments Usage (DLI versus Driver Calls)
DLI_OPT_ARGS
Field Name (DLI Calls)
ICP_PACKET
Field Name (Driver Calls) Typical SLC Protocol Value
Server Header Fields (network byte-order)
usFWPacketType Omitted
FW_DATA
usFWCommand Omitted
FW_ICP_WRITE
FW_ICP_READ
usFWStatus Omitted 0
ICP Header Fields
a
usICPClientID icp_hdr.usICPClientID 0
usICPServerID icp_hdr.usICPServerID 0
Omitted icp_hdr.usICPCount Size of PROT_HDR plus data (non-DLI calls only)
usICPCommand icp_hdr.usICPCommand During session establishment:
DLI_ICP_CMD_ATTACH
DLI_ICP_CMD_DETACH
DLI_ICP_CMD_BIND
DLI_ICP_CMD_UNBIND
During I/O operations:
DLI_ICP_CMD_READ
DLI_ICP_CMD_WRITE
iICPStatus icp_hdr.iICPStatus Write: Client memory order:
0x0000 = Big Endian (i.e., SUN)
0x4000 = Little Endian (i.e., DEC)
Read: Command status code:
DLI_ICP_CMD_STATUS_OK
or negative error code (slc_errs.h file)
usICPParms[0] icp_hdr.usICPParms[0] ICP return node from DLI_ICP_CMD_ATTACH
usICPParms[1] icp_hdr.usICPParms[1] 0
usICPParms[2] icp_hdr.usICPParms[2] 0
Protocol Header Fields
a
usProtCommand prot_hdr.usProtCommand Request dependent (see Table 5–1 on page 58)
iProtModifier prot_hdr.iProtModifier Request dependent
usProtLinkID prot_hdr.usProtLinkID ICP link number associated with channel 1 of
SLC network connection
usProtCircuitID prot_hdr.usProtCircuitID Zero (except DLI_PROT_CONTROL or
DLI_PROT_GET_STATISTICS_REPORT requests)
usProtSessionID prot_hdr.usProtSessionID Protocol Session ID from DLI_ICP_CMD_ATTACH
response
usProtSequence prot_hdr.usProtSequence 0
usProtXParms[0] prot_hdr.usProtXParms[0] 0
usProtXParms[1] prot_hdr.usProtXParms[1] 0
Data: DLI calls – data is buffered separately. Non-DLI calls – data array immediately follows headers.
Techpubs: For
X-ref
usICPParms[
3]
usICPCount