Open SCSI Integrator's Manual for NonStop S-Series Servers

The Open SCSI I/O Process (IOP)
Open SCSI Integrator’s Manual for NonStop Servers422988-002
4-8
The WRITEREAD Buffer Header Block
ccb_offset
This two-byte field contains the value of the byte offset of the CCB from the
beginning of the WRITEREAD buffer. It can be the same value as the hdr_size field
or some other size if the application programmer wants to put additional information
or padding between the header block and the CCB.
spare_1
This two-byte field is reserved for future use.
spare_2
This two-byte field is reserved for future use.
hdr_end
This four-byte field contains a specific ASCII value that indicates the end of the
buffer. This value must be set to “THRU” in ASCII (that is, “0h54485255”), so that
it can easily be found when you investigate problems.
Example Declaration for WRITEREAD Buffer Header Block
The following is a typical C declaration for the WRITEREAD buffer header block:
struct block_header
{
long hdr_begin; /* Set to value 0h50415353 (= “PASS”) */
short hdr_size; /* Set to size of header block (=20) */
short version; /* Used to check for compatibility */
short buffer_status;
short ccb_offset; /* Byte offset of CCB from start of
WRITEREAD buffer */
short spare_1; /* A spare field */
short spare_2; /* Another spare field */
long hdr_end; /* Set to value 0h54485255 (= “THRU”) */
}